11import { expect , test } from '@playwright/test' ;
22
33import { changeToSuperAdmin } from '../utils/userUtils' ;
4- import { exactOptions , waitFor } from '../utils/utils' ;
5-
6- test . setTimeout ( 60000 ) ;
7- test . beforeEach ( async ( { context } , testInfo ) => {
8- await changeToSuperAdmin ( context ) ;
9- } ) ;
4+ import { exactOptions , selectOrg , waitFor } from '../utils/utils' ;
105
116const yearId = new Date ( ) . getFullYear ( ) . toString ( ) . slice ( - 2 ) ;
12- let accessionId = 'UNSET' ;
13- let accessionRow = 'UNSET' ;
147
15- export default function AccessionTests ( ) {
16- test ( 'Add An Accession' , async ( { page } , testInfo ) => {
17- await page . goto ( 'http://127.0.0.1:3000' ) ;
8+ test . describe ( 'AccessionTests' , ( ) => {
9+ let accessionId = 'UNSET' ;
1810
11+ test . describe . configure ( { timeout : 20000 } ) ;
12+ test . beforeEach ( async ( { page, context } , testInfo ) => {
13+ await changeToSuperAdmin ( context ) ;
14+ await page . goto ( 'http://127.0.0.1:3000' ) ;
1915 await waitFor ( page , '#home' ) ;
16+ await selectOrg ( page , 'Terraformation (staging)' ) ;
17+ } ) ;
2018
19+ test ( 'Add An Accession' , async ( { page } , testInfo ) => {
2120 await page . getByRole ( 'button' , { name : 'Seeds' } ) . click ( ) ;
2221 await page . getByRole ( 'button' , { name : 'Accessions' } ) . click ( ) ;
2322 await page . getByRole ( 'button' , { name : 'Add Accession' } ) . click ( ) ;
@@ -112,7 +111,7 @@ export default function AccessionTests() {
112111
113112 await page . getByRole ( 'button' , { name : 'Accessions' } ) . click ( ) ;
114113
115- accessionRow = (
114+ const accessionRow = (
116115 await page
117116 . getByText ( accessionId )
118117 . locator ( '../..' )
@@ -125,12 +124,15 @@ export default function AccessionTests() {
125124 } ) ;
126125
127126 test ( 'Withdraw to Nursery by seed count' , async ( { page } , testInfo ) => {
128- await page . goto ( 'http://127.0.0.1:3000' ) ;
129-
130- await waitFor ( page , '#home' ) ;
131-
132127 await page . getByRole ( 'button' , { name : 'Seeds' } ) . click ( ) ;
133128 await page . getByRole ( 'button' , { name : 'Accessions' } ) . click ( ) ;
129+
130+ const accessionRow = (
131+ await page
132+ . getByText ( accessionId )
133+ . locator ( '../..' )
134+ . evaluate ( ( el ) => el . id )
135+ ) . replace ( '-accessionNumber' , '' ) ;
134136 await page . locator ( `#${ accessionRow } -accessionNumber` ) . getByText ( accessionId ) . click ( ) ;
135137 await page . getByRole ( 'button' , { name : 'Withdraw' } ) . click ( ) ;
136138 await page . locator ( '#destinationFacilityId' ) . getByRole ( 'textbox' ) . click ( ) ;
@@ -148,22 +150,31 @@ export default function AccessionTests() {
148150 ) ;
149151 await page . getByRole ( 'button' , { name : 'Seedlings' } ) . click ( ) ;
150152 await page . getByRole ( 'button' , { name : 'Inventory' , ...exactOptions } ) . click ( ) ;
151- await expect ( page . locator ( '#row1-species_scientificName' ) ) . toContainText ( 'Coconut' ) ;
152- await expect ( page . locator ( '#row1-facilityInventories' ) ) . toContainText ( 'Nursery' ) ;
153- await expect ( page . locator ( '#row1-germinatingQuantity' ) ) . toContainText ( '300' ) ;
153+ const coconutRowNum = (
154+ await page
155+ . getByText ( 'Coconut' , exactOptions )
156+ . locator ( '../..' )
157+ . evaluate ( ( el ) => el . id )
158+ ) . replace ( '-species_scientificName' , '' ) ;
159+ await expect ( page . locator ( '#${coconutRowNum}-species_scientificName' ) ) . toContainText ( 'Coconut' ) ;
160+ await expect ( page . locator ( '#${coconutRowNum}-facilityInventories' ) ) . toContainText ( 'Nursery' ) ;
161+ await expect ( page . locator ( '#${coconutRowNum}-germinatingQuantity' ) ) . toContainText ( '300' ) ;
154162 await page . getByRole ( 'tab' , { name : 'By Nursery' } ) . click ( ) ;
155163 await expect ( page . locator ( '#row1-facility_name' ) ) . toContainText ( 'Nursery' ) ;
156164 await page . getByRole ( 'tab' , { name : 'By Batch' } ) . click ( ) ;
157165 await expect ( page . locator ( '#row1-batchNumber' ) ) . toContainText ( '2-1-002' ) ;
158166 } ) ;
159167
160168 test ( 'Withdraw to Outplant' , async ( { page } , testInfo ) => {
161- await page . goto ( 'http://127.0.0.1:3000' ) ;
162-
163- await waitFor ( page , '#home' ) ;
164-
165169 await page . getByRole ( 'button' , { name : 'Seeds' } ) . click ( ) ;
166170 await page . getByRole ( 'button' , { name : 'Accessions' } ) . click ( ) ;
171+
172+ const accessionRow = (
173+ await page
174+ . getByText ( accessionId )
175+ . locator ( '../..' )
176+ . evaluate ( ( el ) => el . id )
177+ ) . replace ( '-accessionNumber' , '' ) ;
167178 await page . locator ( `#${ accessionRow } -accessionNumber` ) . getByText ( accessionId ) . click ( ) ;
168179 await page . getByRole ( 'button' , { name : 'Withdraw' } ) . click ( ) ;
169180
@@ -177,12 +188,15 @@ export default function AccessionTests() {
177188 } ) ;
178189
179190 test ( 'Withdraw to Viability Test' , async ( { page } , testInfo ) => {
180- await page . goto ( 'http://127.0.0.1:3000' ) ;
181-
182- await waitFor ( page , '#home' ) ;
183-
184191 await page . getByRole ( 'button' , { name : 'Seeds' } ) . click ( ) ;
185192 await page . getByRole ( 'button' , { name : 'Accessions' } ) . click ( ) ;
193+
194+ const accessionRow = (
195+ await page
196+ . getByText ( accessionId )
197+ . locator ( '../..' )
198+ . evaluate ( ( el ) => el . id )
199+ ) . replace ( '-accessionNumber' , '' ) ;
186200 await page . locator ( `#${ accessionRow } -accessionNumber` ) . getByText ( accessionId ) . click ( ) ;
187201 await page . getByRole ( 'button' , { name : 'Withdraw' } ) . click ( ) ;
188202 await page . locator ( '.textfield-value > .tw-icon > path' ) . first ( ) . click ( ) ;
@@ -221,4 +235,4 @@ export default function AccessionTests() {
221235 await page . getByRole ( 'button' , { name : 'Apply Result' } ) . click ( ) ;
222236 await expect ( page . locator ( '#row1-viabilityPercent' ) ) . toContainText ( '90%' ) ;
223237 } ) ;
224- }
238+ } ) ;
0 commit comments