11import { expect , test } from "@playwright/test"
2- import { assert } from "chai"
32import { nextBeat , nextEventOnTarget , noNextEventNamed , noNextEventOnTarget , sleep } from "../helpers/page"
43import fs from "fs"
54import path from "path"
@@ -24,7 +23,7 @@ test("it prefetches the page", async ({ page }) => {
2423 await nextEventOnTarget ( page , "anchor_for_prefetch" , "turbo:before-prefetch" )
2524 const { url, fetchOptions } = await nextEventOnTarget ( page , "anchor_for_prefetch" , "turbo:before-fetch-request" )
2625
27- expect ( url ) . toEqual ( await link . evaluate ( a => a . href ) )
26+ await expect ( link ) . toHaveJSProperty ( " href" , url )
2827 expect ( fetchOptions . headers [ "X-Sec-Purpose" ] ) . toEqual ( "prefetch" )
2928 expect ( fetchOptions . priority ) . toEqual ( "low" )
3029
@@ -40,7 +39,7 @@ test("it doesn't follow the link", async ({ page }) => {
4039 await goTo ( { page, path : "/hover_to_prefetch.html" } )
4140 await hoverSelector ( { page, selector : "#anchor_for_prefetch" } )
4241
43- assert . equal ( await page . title ( ) , "Hover to Prefetch" )
42+ await expect ( page ) . toHaveTitle ( "Hover to Prefetch" )
4443} )
4544
4645test ( "prefetches the page when link has a whole valid url as a href" , async ( { page } ) => {
@@ -84,7 +83,6 @@ test("allows to cancel prefetch requests with custom logic", async ({ page }) =>
8483 const link = page . locator ( "#anchor_for_prefetch" )
8584 await link . evaluate ( a => a . addEventListener ( "turbo:before-prefetch" , event => event . preventDefault ( ) ) )
8685
87- await page . pause ( )
8886 await link . hover ( )
8987 await nextEventOnTarget ( page , "anchor_for_prefetch" , "turbo:before-prefetch" )
9088 await noNextEventNamed ( page , "turbo:before-fetch-request" )
@@ -193,7 +191,7 @@ test("it prefetches links inside a turbo frame", async ({ page }) => {
193191
194192 await assertPrefetchedOnHover ( { page, selector : "#anchor_for_prefetch_in_frame" , callback : ( request ) => {
195193 const turboFrameHeader = request . headers ( ) [ "turbo-frame" ]
196- assert . equal ( turboFrameHeader , "frame_for_prefetch" )
194+ expect ( turboFrameHeader ) . toEqual ( "frame_for_prefetch" )
197195 } } )
198196} )
199197
@@ -203,7 +201,7 @@ test("doesn't include a turbo-frame header when the link is inside a turbo frame
203201
204202 await assertPrefetchedOnHover ( { page, selector : "#anchor_for_prefetch_in_frame_target_top" , callback : ( request ) => {
205203 const turboFrameHeader = request . headers ( ) [ "turbo-frame" ]
206- assert . equal ( undefined , turboFrameHeader )
204+ expect ( turboFrameHeader ) . toEqual ( undefined )
207205 } } )
208206} )
209207
@@ -243,13 +241,13 @@ test("it resets the cache when a link is hovered", async ({ page }) => {
243241 await page . hover ( "#anchor_for_prefetch" )
244242 await sleep ( 200 )
245243
246- assert . equal ( requestCount , 1 )
244+ expect ( requestCount ) . toEqual ( 1 )
247245 await page . mouse . move ( 0 , 0 )
248246
249247 await page . hover ( "#anchor_for_prefetch" )
250248 await sleep ( 200 )
251249
252- assert . equal ( requestCount , 2 )
250+ expect ( requestCount ) . toEqual ( 2 )
253251} )
254252
255253test ( "it does not make a network request when clicking on a link that has been prefetched" , async ( { page } ) => {
@@ -265,7 +263,7 @@ test("it follows the link using the cached response when clicking on a link that
265263 await hoverSelector ( { page, selector : "#anchor_for_prefetch" } )
266264
267265 await clickSelector ( { page, selector : "#anchor_for_prefetch" } )
268- assert . equal ( await page . title ( ) , "Prefetched Page" )
266+ await expect ( page ) . toHaveTitle ( "Prefetched Page" )
269267} )
270268
271269const assertPrefetchedOnHover = async ( { page, selector, callback } ) => {
@@ -296,7 +294,7 @@ const assertRequestMade = async (page, action, callback) => {
296294
297295 await action ( )
298296
299- assert . equal ( ! ! requestMade , true , "Network request wasn't made when it should have been." )
297+ expect ( ! ! requestMade , "Network request wasn't made when it should have been." ) . toEqual ( true )
300298
301299 if ( callback ) {
302300 await callback ( requestMade )
@@ -309,7 +307,7 @@ const assertRequestNotMade = async (page, action, callback) => {
309307
310308 await action ( )
311309
312- assert . equal ( ! ! requestMade , false , "Network request was made when it should not have been." )
310+ expect ( ! ! requestMade , "Network request was made when it should not have been." ) . toEqual ( false )
313311
314312 if ( callback ) {
315313 await callback ( requestMade )
0 commit comments