@@ -9,7 +9,7 @@ import { expect, test } from '@playwright/test';
99import { asyncEvents } from './utils/async-events.js' ;
1010import { username , password } from './utils/demo-user.js' ;
1111
12- test . skip ( 'Test happy paths on test page' , async ( { page } ) => {
12+ test ( 'Test middleware on test page' , async ( { page } ) => {
1313 const { clickButton, navigate } = asyncEvents ( page ) ;
1414 await navigate ( '/?middleware=true&journey=Login' ) ;
1515
@@ -24,7 +24,7 @@ test.skip('Test happy paths on test page', async ({ page }) => {
2424 } ) ;
2525
2626 page . on ( 'request' , async ( req ) => {
27- networkArray . push ( ` ${ new URL ( req . url ( ) ) . pathname } , ${ req . resourceType ( ) } ` ) ;
27+ networkArray . push ( req . url ( ) . toString ( ) ) ;
2828 } ) ;
2929
3030 page . on ( 'request' , async ( req ) => {
@@ -46,17 +46,33 @@ test.skip('Test happy paths on test page', async ({ page }) => {
4646 await clickButton ( 'Logout' , '/authenticate' ) ;
4747
4848 // Test assertions
49- // test URL query parameters added to URL on networkArray
5049
51- expect ( networkArray ) . toContain ( 'start-authenticate-middleware, fetch' ) ;
52- expect ( networkArray ) . toContain ( 'authenticate-middleware, fetch' ) ;
53- expect ( networkArray ) . toContain ( 'end-session-middleware, fetch' ) ;
50+ // Test URL query parameters added to URL on networkArray
51+ const startRequest = networkArray . find ( ( url ) => url . includes ( 'start-authenticate-middleware' ) ) ;
52+ const nextRequest = networkArray . find ( ( url ) => url . includes ( 'authenticate-middleware' ) ) ;
53+ const endRequest = networkArray . find ( ( url ) => url . includes ( 'end-session-middleware' ) ) ;
5454
55- expect (
56- headerArray . find ( ( headers ) => headers . get ( 'x-start-authenticate-middleware' ) ) ,
57- ) . toBeTruthy ( ) ;
58- expect ( headerArray . find ( ( headers ) => headers . get ( 'x-authenticate-middleware' ) ) ) . toBeTruthy ( ) ;
59- expect ( headerArray . find ( ( headers ) => headers . get ( 'x-end-session-middleware' ) ) ) . toBeTruthy ( ) ;
55+ expect ( startRequest ?. includes ( 'start-authenticate-middleware=start-authentication' ) ) . toBeTruthy ( ) ;
56+ expect ( nextRequest ?. includes ( 'authenticate-middleware=authentication' ) ) . toBeTruthy ( ) ;
57+ expect ( endRequest ?. includes ( 'end-session-middleware=end-session' ) ) . toBeTruthy ( ) ;
58+
59+ // Check for addition of custom headers
60+ const startHeader = headerArray . find ( ( headers ) => headers . get ( 'x-start-authenticate-middleware' ) ) ;
61+ const nextHeader = headerArray . find ( ( headers ) => headers . get ( 'x-authenticate-middleware' ) ) ;
62+ const endHeader = headerArray . find ( ( headers ) => headers . get ( 'x-end-session-middleware' ) ) ;
63+
64+ expect ( startHeader ?. get ( 'x-start-authenticate-middleware' ) ) . toBe ( 'start-authentication' ) ;
65+ expect ( nextHeader ?. get ( 'x-authenticate-middleware' ) ) . toBe ( 'authentication' ) ;
66+ expect ( endHeader ?. get ( 'x-end-session-middleware' ) ) . toBe ( 'end-session' ) ;
67+
68+ // Check that Accept-Language header was modified from default en-US locale and set to correct value in each middleware
69+ expect ( startHeader ?. get ( 'Accept-Language' ) ) . not . toContain ( 'en-US' ) ;
70+ expect ( nextHeader ?. get ( 'Accept-Language' ) ) . not . toContain ( 'en-US' ) ;
71+ expect ( endHeader ?. get ( 'Accept-Language' ) ) . not . toContain ( 'en-US' ) ;
72+
73+ expect ( startHeader ?. get ( 'Accept-Language' ) ) . toBe ( 'xx-XX' ) ;
74+ expect ( nextHeader ?. get ( 'Accept-Language' ) ) . toBe ( 'yy-YY' ) ;
75+ expect ( endHeader ?. get ( 'Accept-Language' ) ) . toBe ( 'zz-ZZ' ) ;
6076
6177 expect ( messageArray . includes ( 'Journey completed successfully' ) ) . toBe ( true ) ;
6278 expect ( messageArray . includes ( 'Logout successful' ) ) . toBe ( true ) ;
0 commit comments