@@ -15,15 +15,7 @@ const RECORD_SNAPSHOTS = false;
1515const SNAPSHOTS_DIR = join ( Deno . cwd ( ) , "test_snapshots" ) ;
1616console . log ( "SNAPSHOTS_DIR=" , SNAPSHOTS_DIR ) ;
1717
18- // Helper function to assert, take screenshot and snapshot HTML
19- export async function assertAndSnapshot (
20- condition : unknown ,
21- message : string ,
22- page ?: Page | void ,
23- snapshotName ?: string ,
24- ) : Promise < void > {
25- assert ( condition , message ) ;
26-
18+ async function captureDetails ( page : Page , snapshotName : string ) {
2719 if ( RECORD_SNAPSHOTS && page && snapshotName ) {
2820 ensureDirSync ( SNAPSHOTS_DIR ) ;
2921 const timestamp = new Date ( ) . toISOString ( ) . replace ( / [: .] / g, "-" ) ;
@@ -38,6 +30,21 @@ export async function assertAndSnapshot(
3830 console . log ( `Snapshot saved: ${ filePrefix } ` ) ;
3931 }
4032}
33+ // Helper function to assert, take screenshot and snapshot HTML
34+ export function assertAndSnapshot (
35+ condition : unknown ,
36+ message : string ,
37+ page ?: Page | void ,
38+ snapshotName ?: string ,
39+ ) : asserts condition is
40+ & NonNullable < unknown >
41+ & ( boolean | number | string | object ) {
42+ assert ( condition , message ) ;
43+
44+ if ( RECORD_SNAPSHOTS && page && snapshotName ) {
45+ captureDetails ( page , snapshotName ) ;
46+ }
47+ }
4148
4249export const sleep = ( ms : number ) =>
4350 new Promise ( ( resolve ) => setTimeout ( resolve , ms ) ) ;
@@ -46,14 +53,14 @@ export async function tryClick(
4653 el ?: ElementHandle | null ,
4754 page ?: Page ,
4855) : Promise < void > {
49- await assertAndSnapshot (
50- el !== null && el !== undefined ,
56+ assertAndSnapshot (
57+ el ,
5158 "Element does not exist or is not clickable" ,
5259 page ,
5360 "try_click_element" ,
5461 ) ;
5562
56- await el ! . click ( ) ;
63+ await el . click ( ) ;
5764}
5865
5966export const login = async ( page : Page ) => {
0 commit comments