Skip to content

Commit 8bccfa5

Browse files
authored
Enable tests for query rejection (#3088)
1 parent 1325b58 commit 8bccfa5

File tree

1 file changed

+65
-56
lines changed

1 file changed

+65
-56
lines changed

packages/firestore/test/integration/api/database.test.ts

Lines changed: 65 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -846,69 +846,50 @@ apiDescribe('Database', (persistence: boolean) => {
846846
// client-side validation but fail remotely. May need to wait until we
847847
// have security rules support or something?
848848
// eslint-disable-next-line no-restricted-properties
849-
describe.skip('Listens are rejected remotely:', () => {
850-
//eslint-disable-next-line @typescript-eslint/no-explicit-any
851-
const queryForRejection: firestore.Query = null as any;
852-
849+
describe('Listens are rejected remotely:', () => {
853850
it('will reject listens', () => {
854-
const deferred = new Deferred();
855-
queryForRejection.onSnapshot(
856-
() => {},
857-
(err: Error) => {
858-
expect(err.name).to.exist;
859-
expect(err.message).to.exist;
860-
deferred.resolve();
861-
}
862-
);
863-
return deferred.promise;
851+
return withTestDb(persistence, async db => {
852+
const deferred = new Deferred();
853+
const queryForRejection = db.collection('a/__badpath__/b');
854+
queryForRejection.onSnapshot(
855+
() => {},
856+
(err: Error) => {
857+
expect(err.name).to.exist;
858+
expect(err.message).to.exist;
859+
deferred.resolve();
860+
}
861+
);
862+
await deferred.promise;
863+
});
864864
});
865865

866866
it('will reject same listens twice in a row', () => {
867-
const deferred = new Deferred();
868-
queryForRejection.onSnapshot(
869-
() => {},
870-
(err: Error) => {
871-
expect(err.name).to.exist;
872-
expect(err.message).to.exist;
873-
queryForRejection.onSnapshot(
874-
() => {},
875-
(err2: Error) => {
876-
expect(err2.name).to.exist;
877-
expect(err2.message).to.exist;
878-
deferred.resolve();
879-
}
880-
);
881-
}
882-
);
883-
return deferred.promise;
884-
});
885-
886-
it('will reject gets', () => {
887-
return queryForRejection.get().then(
888-
() => {
889-
expect.fail('Promise resolved even though error was expected.');
890-
},
891-
err => {
892-
expect(err.name).to.exist;
893-
expect(err.message).to.exist;
894-
}
895-
);
896-
});
897-
898-
it('will reject gets twice in a row', () => {
899-
return queryForRejection
900-
.get()
901-
.then(
902-
() => {
903-
expect.fail('Promise resolved even though error was expected.');
904-
},
905-
err => {
867+
return withTestDb(persistence, async db => {
868+
const deferred = new Deferred();
869+
const queryForRejection = db.collection('a/__badpath__/b');
870+
queryForRejection.onSnapshot(
871+
() => {},
872+
(err: Error) => {
906873
expect(err.name).to.exist;
907874
expect(err.message).to.exist;
875+
queryForRejection.onSnapshot(
876+
() => {},
877+
(err2: Error) => {
878+
expect(err2.name).to.exist;
879+
expect(err2.message).to.exist;
880+
deferred.resolve();
881+
}
882+
);
908883
}
909-
)
910-
.then(() => queryForRejection.get())
911-
.then(
884+
);
885+
await deferred.promise;
886+
});
887+
});
888+
889+
it('will reject gets', () => {
890+
return withTestDb(persistence, async db => {
891+
const queryForRejection = db.collection('a/__badpath__/b');
892+
await queryForRejection.get().then(
912893
() => {
913894
expect.fail('Promise resolved even though error was expected.');
914895
},
@@ -917,6 +898,34 @@ apiDescribe('Database', (persistence: boolean) => {
917898
expect(err.message).to.exist;
918899
}
919900
);
901+
});
902+
});
903+
904+
it('will reject gets twice in a row', () => {
905+
return withTestDb(persistence, async db => {
906+
const queryForRejection = db.collection('a/__badpath__/b');
907+
return queryForRejection
908+
.get()
909+
.then(
910+
() => {
911+
expect.fail('Promise resolved even though error was expected.');
912+
},
913+
err => {
914+
expect(err.name).to.exist;
915+
expect(err.message).to.exist;
916+
}
917+
)
918+
.then(() => queryForRejection.get())
919+
.then(
920+
() => {
921+
expect.fail('Promise resolved even though error was expected.');
922+
},
923+
err => {
924+
expect(err.name).to.exist;
925+
expect(err.message).to.exist;
926+
}
927+
);
928+
});
920929
});
921930
});
922931

0 commit comments

Comments
 (0)