@@ -52,14 +52,15 @@ test.describe('Settings - Certified User', () => {
5252 test . use ( { storageState : 'playwright/.auth/certified-user.json' } ) ;
5353
5454 test . beforeEach ( async ( { page } ) => {
55+ execSync ( 'node ./tools/scripts/seed/seed-demo-user --certified-user' ) ;
5556 await page . goto ( '/settings' ) ;
5657 } ) ;
5758
58- test ( 'Should have the correct page title' , async ( { page } ) => {
59+ test ( 'Should render correctly' , async ( { page } ) => {
60+ // Title
5961 await expect ( page ) . toHaveTitle ( settingsObject . pageTitle ) ;
60- } ) ;
6162
62- test ( 'Should display the correct header' , async ( { page } ) => {
63+ // Header
6364 const header = page . getByTestId ( settingsTestIds . settingsHeading ) ;
6465 await expect ( header ) . toBeVisible ( ) ;
6566 await expect ( header ) . toContainText (
@@ -68,9 +69,8 @@ test.describe('Settings - Certified User', () => {
6869 settingsObject . certifiedUsername
6970 ) } `
7071 ) ;
71- } ) ;
7272
73- test ( 'Should validate Privacy Settings' , async ( { page } ) => {
73+ // Privacy Settings
7474 await expect (
7575 page . getByRole ( 'heading' , {
7676 name : translations . settings . headings . privacy
@@ -167,15 +167,13 @@ test.describe('Settings - Certified User', () => {
167167 name : translations . settings . headings . privacy
168168 } ) ;
169169 await expect ( saveButton ) . toBeVisible ( ) ;
170- await saveButton . press ( 'Enter' ) ;
171170 await expect ( page . getByText ( translations . settings . data ) ) . toBeVisible ( ) ;
172171 const downloadButton = page . getByRole ( 'link' , {
173172 name : translations . buttons [ 'download-data' ]
174173 } ) ;
175174 await expect ( downloadButton ) . toBeVisible ( ) ;
176- } ) ;
177175
178- test ( 'Should validate Internet Presence Settings' , async ( { page } ) => {
176+ // Internet Presence
179177 await expect (
180178 page . getByRole ( 'heading' , {
181179 name : translations . settings . headings . internet
@@ -184,13 +182,13 @@ test.describe('Settings - Certified User', () => {
184182 await expect (
185183 page . getByTestId ( settingsTestIds . internetPresence )
186184 ) . toBeVisible ( ) ;
187- const saveButton = page . getByRole ( 'button' , {
188- name : translations . settings . headings . internet
189- } ) ;
190- await expect ( saveButton ) . toBeVisible ( ) ;
191- } ) ;
185+ await expect (
186+ page . getByRole ( 'button' , {
187+ name : translations . settings . headings . internet
188+ } )
189+ ) . toBeVisible ( ) ;
192190
193- test ( 'Should validate Personal Information Settings' , async ( { page } ) => {
191+ // Personal Information
194192 await expect (
195193 page . getByRole ( 'heading' , {
196194 name : translations . settings . headings [ 'personal-info' ]
@@ -199,11 +197,11 @@ test.describe('Settings - Certified User', () => {
199197 await expect (
200198 page . getByTestId ( settingsTestIds . camperIdentity )
201199 ) . toBeVisible ( ) ;
202- const saveButton = page . getByRole ( 'button' , {
200+ const savePersonalInfoButton = page . getByRole ( 'button' , {
203201 name : translations . settings . headings [ 'personal-info' ]
204202 } ) ;
205- await expect ( saveButton ) . toBeVisible ( ) ;
206- await expect ( saveButton ) . toBeDisabled ( ) ;
203+ await expect ( savePersonalInfoButton ) . toBeVisible ( ) ;
204+ await expect ( savePersonalInfoButton ) . toBeDisabled ( ) ;
207205 await expect (
208206 page . getByLabel ( translations . settings . labels . name , { exact : true } )
209207 ) . toHaveValue ( 'Full Stack User' ) ;
@@ -239,9 +237,8 @@ test.describe('Settings - Certified User', () => {
239237 await expect (
240238 page . getByText ( translations . settings [ 'scrollbar-width' ] )
241239 ) . toBeVisible ( ) ;
242- } ) ;
243240
244- test ( 'Should validate Certification Settings' , async ( { page } ) => {
241+ // Certifications
245242 await expect (
246243 page . getByRole ( 'heading' , {
247244 name : translations . settings . headings . certs ,
@@ -261,9 +258,8 @@ test.describe('Settings - Certified User', () => {
261258 } )
262259 ) . toBeVisible ( ) ;
263260 }
264- } ) ;
265261
266- test ( 'Should validate Legacy Certification Settings' , async ( { page } ) => {
262+ // Legacy Certifications
267263 await expect (
268264 page . getByRole ( 'heading' , {
269265 name : translations . settings . headings [ 'legacy-certs' ] ,
@@ -284,9 +280,8 @@ test.describe('Settings - Certified User', () => {
284280 } )
285281 ) . toBeVisible ( ) ;
286282 }
287- } ) ;
288283
289- test ( 'Should display the Danger section properly' , async ( { page } ) => {
284+ // Danger Zone
290285 await expect ( page . getByText ( 'Danger Zone' ) ) . toBeVisible ( ) ;
291286 await expect (
292287 page . getByText (
@@ -320,6 +315,7 @@ test.describe('Settings - Certified User', () => {
320315 ) ;
321316 const pictureInput = page . getByLabel ( translations . settings . labels . picture ) ;
322317 const aboutInput = page . getByLabel ( translations . settings . labels . about ) ;
318+ const updatedAlert = page . getByText ( translations . flash [ 'updated-about-me' ] ) ;
323319
324320 await nameInput . fill ( 'Quincy Larson' ) ;
325321 await locationInput . fill ( 'USA' ) ;
@@ -330,9 +326,9 @@ test.describe('Settings - Certified User', () => {
330326
331327 await expect ( saveButton ) . not . toBeDisabled ( ) ;
332328 await saveButton . click ( ) ;
333- await expect (
334- page . getByText ( translations . flash [ 'updated-about-me' ] )
335- ) . toBeVisible ( ) ;
329+ await expect ( updatedAlert ) . toBeVisible ( ) ;
330+ // clear the alert to make sure it's gone before we save again.
331+ await updatedAlert . getByRole ( 'button' ) . click ( ) ;
336332
337333 await nameInput . fill ( '' ) ;
338334 await locationInput . fill ( '' ) ;
@@ -341,9 +337,7 @@ test.describe('Settings - Certified User', () => {
341337
342338 await expect ( saveButton ) . not . toBeDisabled ( ) ;
343339 await saveButton . click ( ) ;
344- await expect (
345- page . getByText ( translations . flash [ 'updated-about-me' ] )
346- ) . toBeVisible ( ) ;
340+ await expect ( updatedAlert ) . toBeVisible ( ) ;
347341
348342 await page . reload ( ) ;
349343
0 commit comments