1+ import { expect , assertType } from "vitest" ;
2+ import { RUN_ID } from "../utils" ;
3+
4+ export * from "./index" ;
5+
6+ export function expectFirestoreAuthEvent ( data : any , collection : string , document : string ) {
7+ expect ( data . authId ) . toBeDefined ( ) ;
8+ assertType < string > ( data . authId ) ;
9+ expect ( data . authId . length ) . toBeGreaterThan ( 0 ) ;
10+ expect ( data . authType ) . toBeDefined ( ) ;
11+ assertType < string > ( data . authType ) ;
12+ expect ( data . authType . length ) . toBeGreaterThan ( 0 ) ;
13+ expectFirestoreEvent ( data , collection , document ) ;
14+ }
15+
16+ export function expectFirestoreEvent ( data : any , collection : string , document : string ) {
17+ expect ( data . location ) . toBeDefined ( ) ;
18+ assertType < string > ( data . location ) ;
19+ expect ( data . location . length ) . toBeGreaterThan ( 0 ) ;
20+ expect ( data . project ) . toBeDefined ( ) ;
21+ assertType < string > ( data . project ) ;
22+ expect ( data . project . length ) . toBeGreaterThan ( 0 ) ;
23+ expect ( data . database ) . toBeDefined ( ) ;
24+ assertType < string > ( data . database ) ;
25+ expect ( data . database . length ) . toBeGreaterThan ( 0 ) ;
26+ expect ( data . namespace ) . toBeDefined ( ) ;
27+ assertType < string > ( data . namespace ) ;
28+ expect ( data . namespace . length ) . toBeGreaterThan ( 0 ) ;
29+ expect ( data . document ) . toBeDefined ( ) ;
30+ assertType < string > ( data . document ) ;
31+ expect ( data . document . length ) . toBeGreaterThan ( 0 ) ;
32+ expect ( data . document ) . toBe ( `integration_test/${ RUN_ID } /${ collection } /${ document } ` ) ;
33+ expect ( data . params ) . toBeDefined ( ) ;
34+ expect ( data . params . runId ) . toBe ( RUN_ID ) ;
35+ expect ( data . params . documentId ) . toBe ( document ) ;
36+ }
37+
38+ export function expectQueryDocumentSnapshot ( snapshot : any , collection : string , document : string ) {
39+ expect ( snapshot . exists ) . toBe ( true ) ;
40+ expect ( snapshot . id ) . toBe ( document ) ;
41+ expectDocumentReference ( snapshot . ref , collection , document ) ;
42+ expectTimestamp ( snapshot . createTime ) ;
43+ expectTimestamp ( snapshot . updateTime ) ;
44+ }
45+
46+ export function expectDocumentReference ( reference : any , collection : string , document : string ) {
47+ expect ( reference . _type ) . toBe ( "reference" ) ;
48+ expect ( reference . id ) . toBe ( document ) ;
49+ expect ( reference . path ) . toBe ( `integration_test/${ RUN_ID } /${ collection } /${ document } ` ) ;
50+ }
51+
52+ export function expectTimestamp ( timestamp : any ) {
53+ expect ( timestamp . _type ) . toBe ( "timestamp" ) ;
54+ expect ( Date . parse ( timestamp . iso ) ) . toBeGreaterThan ( 0 ) ;
55+ expect ( Number ( timestamp . seconds ) ) . toBeGreaterThan ( 0 ) ;
56+ expect ( Number ( timestamp . nanoseconds ) ) . toBeGreaterThan ( 0 ) ;
57+ }
58+
59+ export function expectGeoPoint ( geoPoint : any ) {
60+ expect ( geoPoint . _type ) . toBe ( "geopoint" ) ;
61+ expect ( Number ( geoPoint . latitude ) ) . toBeGreaterThan ( 0 ) ;
62+ expect ( Number ( geoPoint . longitude ) ) . toBeGreaterThan ( 0 ) ;
63+ }
0 commit comments