11import { expect , test } from './support/fixtures'
22
3+ const REVALIDATE_BUFFER_MS = 5000
34const PURGE_BUFFER_MS = 5000
45
56test . describe ( 'React Router user journeys' , ( ) => {
@@ -88,23 +89,23 @@ test.describe('React Router user journeys', () => {
8889
8990 await page . waitForTimeout ( MAX_AGE / 2 )
9091
91- await page . goto ( ` ${ reactRouterServerlessSite . url } /stale-while-revalidate` )
92+ await page . reload ( )
9293 const responseGeneratedAtText2 = await page . getByText ( 'Response generated at' ) . textContent ( )
9394 expect ( responseGeneratedAtText2 , 'First and second response should have matching date and time' ) . toEqual (
9495 responseGeneratedAtText1 ,
9596 )
9697
9798 await page . waitForTimeout ( 2000 + MAX_AGE / 2 )
9899
99- await page . goto ( ` ${ reactRouterServerlessSite . url } /stale-while-revalidate` )
100+ await page . reload ( )
100101 const responseGeneratedAtText3 = await page . getByText ( 'Response generated at' ) . textContent ( )
101102 expect ( responseGeneratedAtText3 , 'First and third response should have matching date and time' ) . toEqual (
102103 responseGeneratedAtText1 ,
103104 )
104105
105- await page . waitForTimeout ( 2000 )
106+ await page . waitForTimeout ( REVALIDATE_BUFFER_MS )
106107
107- await page . goto ( ` ${ reactRouterServerlessSite . url } /stale-while-revalidate` )
108+ await page . reload ( )
108109 const responseGeneratedAtText4 = await page . getByText ( 'Response generated at' ) . textContent ( )
109110 expect (
110111 responseGeneratedAtText4 ,
@@ -118,7 +119,7 @@ test.describe('React Router user journeys', () => {
118119
119120 await page . waitForTimeout ( 5000 )
120121
121- await page . goto ( ` ${ reactRouterServerlessSite . url } /cached-for-a-year` )
122+ await page . reload ( )
122123 const responseGeneratedAtText2 = await page . getByText ( 'Response generated at' ) . textContent ( )
123124 expect ( responseGeneratedAtText2 , 'First and second response should have matching date and time' ) . toEqual (
124125 responseGeneratedAtText1 ,
@@ -128,7 +129,7 @@ test.describe('React Router user journeys', () => {
128129
129130 await page . waitForTimeout ( PURGE_BUFFER_MS )
130131
131- await page . goto ( ` ${ reactRouterServerlessSite . url } /cached-for-a-year` )
132+ await page . reload ( )
132133 const responseGeneratedAtText3 = await page . getByText ( 'Response generated at' ) . textContent ( )
133134 expect (
134135 responseGeneratedAtText3 ,
@@ -186,7 +187,7 @@ test.describe('React Router user journeys', () => {
186187 test ( 'response has user-defined Cache-Control header' , async ( { page, edgeSite } ) => {
187188 const response = await page . goto ( `${ edgeSite . url } /headers` )
188189 await expect ( page . getByRole ( 'heading' , { name : / H e a d e r s / i } ) ) . toBeVisible ( )
189- expect ( response ?. headers ( ) [ 'cache-control' ] ) . toBe ( 'public,max-age=3600,durable ' )
190+ expect ( response ?. headers ( ) [ 'cache-control' ] ) . toBe ( 'public,max-age=3600' )
190191 } )
191192
192193 test ( 'user can configure Stale-while-revalidate' , async ( { page, edgeSite } ) => {
@@ -197,36 +198,37 @@ test.describe('React Router user journeys', () => {
197198
198199 await page . waitForTimeout ( MAX_AGE / 2 )
199200
200- await page . goto ( ` ${ edgeSite . url } /stale-while-revalidate` )
201+ await page . reload ( )
201202 const responseGeneratedAtText2 = await page . getByText ( 'Response generated at' ) . textContent ( )
202203 expect ( responseGeneratedAtText2 , 'First and second response should have matching date and time' ) . toEqual (
203204 responseGeneratedAtText1 ,
204205 )
205206
206207 await page . waitForTimeout ( 2000 + MAX_AGE / 2 )
207208
208- await page . goto ( ` ${ edgeSite . url } /stale-while-revalidate` )
209+ await page . reload ( )
209210 const responseGeneratedAtText3 = await page . getByText ( 'Response generated at' ) . textContent ( )
210211 expect ( responseGeneratedAtText3 , 'First and third response should have matching date and time' ) . toEqual (
211212 responseGeneratedAtText1 ,
212213 )
213214
214- await page . waitForTimeout ( 2000 )
215+ await page . waitForTimeout ( REVALIDATE_BUFFER_MS )
215216
216- await page . goto ( ` ${ edgeSite . url } /stale-while-revalidate` )
217+ await page . reload ( )
217218 const responseGeneratedAtText4 = await page . getByText ( 'Response generated at' ) . textContent ( )
218219 expect (
219220 responseGeneratedAtText4 ,
220221 'Fourth response should not have matching date and time with previous responses' ,
221222 ) . not . toEqual ( responseGeneratedAtText1 )
222223 } )
224+
223225 test ( 'user can on-demand purge response cached on CDN' , async ( { page, edgeSite } ) => {
224226 await page . goto ( `${ edgeSite . url } /cached-for-a-year` )
225227 const responseGeneratedAtText1 = await page . getByText ( 'Response generated at' ) . textContent ( )
226228
227229 await page . waitForTimeout ( 5000 )
228230
229- await page . goto ( ` ${ edgeSite . url } /cached-for-a-year` )
231+ await page . reload ( )
230232 const responseGeneratedAtText2 = await page . getByText ( 'Response generated at' ) . textContent ( )
231233 expect ( responseGeneratedAtText2 , 'First and second response should have matching date and time' ) . toEqual (
232234 responseGeneratedAtText1 ,
@@ -236,7 +238,7 @@ test.describe('React Router user journeys', () => {
236238
237239 await page . waitForTimeout ( PURGE_BUFFER_MS )
238240
239- await page . goto ( ` ${ edgeSite . url } /cached-for-a-year` )
241+ await page . reload ( )
240242 const responseGeneratedAtText3 = await page . getByText ( 'Response generated at' ) . textContent ( )
241243 expect (
242244 responseGeneratedAtText3 ,
0 commit comments