@@ -399,7 +399,7 @@ describe('AngularFirestoreCollection', () => {
399
399
const ITEMS = 10 ;
400
400
const { ref, stocks, names } = await collectionHarness ( afs , ITEMS ) ;
401
401
402
- const sub = stocks . stateChanges ( [ 'modified' ] ) . subscribe ( data => {
402
+ const sub = stocks . stateChanges ( [ 'modified' ] ) . pipe ( skip ( 1 ) , take ( 1 ) ) . subscribe ( data => {
403
403
sub . unsubscribe ( ) ;
404
404
expect ( data . length ) . toEqual ( 1 ) ;
405
405
expect ( data [ 0 ] . payload . doc . data ( ) . price ) . toEqual ( 2 ) ;
@@ -436,7 +436,7 @@ describe('AngularFirestoreCollection', () => {
436
436
const ITEMS = 10 ;
437
437
const { ref, stocks, names } = await collectionHarness ( afs , ITEMS ) ;
438
438
439
- const sub = stocks . stateChanges ( [ 'removed' ] ) . subscribe ( data => {
439
+ const sub = stocks . stateChanges ( [ 'removed' ] ) . pipe ( skip ( 1 ) , take ( 1 ) ) . subscribe ( data => {
440
440
sub . unsubscribe ( ) ;
441
441
expect ( data . length ) . toEqual ( 1 ) ;
442
442
expect ( data [ 0 ] . type ) . toEqual ( 'removed' ) ;
@@ -446,6 +446,21 @@ describe('AngularFirestoreCollection', () => {
446
446
447
447
delayDelete ( stocks , names [ 0 ] , 400 ) ;
448
448
} ) ;
449
+
450
+ it ( 'stateChanges() should emit on empty collection' , async ( done ) => {
451
+ afs . collection ( 'EMPTY_COLLECTION' ) . stateChanges ( ) . pipe ( take ( 1 ) ) . subscribe ( data => {
452
+ expect ( data . length ) . toEqual ( 0 ) ;
453
+ done ( ) ;
454
+ } ) ;
455
+ } ) ;
456
+
457
+ it ( 'stateChanges() w/filter should emit on empty collection' , async ( done ) => {
458
+ afs . collection ( 'EMPTY_COLLECTION' ) . stateChanges ( [ 'added' ] ) . pipe ( take ( 1 ) ) . subscribe ( data => {
459
+ expect ( data . length ) . toEqual ( 0 ) ;
460
+ done ( ) ;
461
+ } ) ;
462
+ } ) ;
463
+
449
464
} ) ;
450
465
451
466
describe ( 'auditTrail()' , ( ) => {
@@ -471,7 +486,7 @@ describe('AngularFirestoreCollection', () => {
471
486
const ITEMS = 10 ;
472
487
const { ref, stocks, names } = await collectionHarness ( afs , ITEMS ) ;
473
488
474
- const sub = stocks . auditTrail ( [ 'removed' ] ) . subscribe ( data => {
489
+ const sub = stocks . auditTrail ( [ 'removed' ] ) . pipe ( skip ( 1 ) , take ( 1 ) ) . subscribe ( data => {
475
490
sub . unsubscribe ( ) ;
476
491
expect ( data . length ) . toEqual ( 1 ) ;
477
492
expect ( data [ 0 ] . type ) . toEqual ( 'removed' ) ;
0 commit comments