@@ -433,20 +433,26 @@ void main() async {
433
433
customers,
434
434
emitsInOrder ([
435
435
[],
436
- [],
436
+ [customer ],
437
437
[customer],
438
438
]),
439
439
);
440
440
441
- const req = SupabaseRequest <Customer >();
442
- final resp = SupabaseResponse (
443
- await mock.serialize (
444
- customer,
445
- realtimeEvent: PostgresChangeEvent .insert,
446
- repository: repository,
441
+ mock.handle ({
442
+ const SupabaseRequest <Customer >(realtime: true ): SupabaseResponse (
443
+ await mock.serialize (
444
+ customer,
445
+ realtimeEvent: PostgresChangeEvent .insert,
446
+ repository: repository,
447
+ ),
447
448
),
448
- );
449
- mock.handle ({req: resp});
449
+ const SupabaseRequest <Customer >(): SupabaseResponse ([
450
+ await mock.serialize (
451
+ customer,
452
+ repository: repository,
453
+ ),
454
+ ]),
455
+ });
450
456
451
457
// Wait for request to be handled
452
458
await Future .delayed (const Duration (milliseconds: 200 ));
@@ -474,13 +480,12 @@ void main() async {
474
480
expect (
475
481
customers,
476
482
emitsInOrder ([
477
- [customer],
478
483
[customer],
479
484
[],
480
485
]),
481
486
);
482
487
483
- const req = SupabaseRequest <Customer >();
488
+ const req = SupabaseRequest <Customer >(realtime : true );
484
489
final resp = SupabaseResponse (
485
490
await mock.serialize (
486
491
customer,
@@ -515,6 +520,22 @@ void main() async {
515
520
],
516
521
);
517
522
523
+ mock.handle ({
524
+ const SupabaseRequest <Customer >(realtime: true ): SupabaseResponse (
525
+ await mock.serialize (
526
+ customer2,
527
+ realtimeEvent: PostgresChangeEvent .update,
528
+ repository: repository,
529
+ ),
530
+ ),
531
+ const SupabaseRequest <Customer >(): SupabaseResponse ([
532
+ await mock.serialize (
533
+ customer2,
534
+ repository: repository,
535
+ ),
536
+ ]),
537
+ });
538
+
518
539
final id =
519
540
await repository.sqliteProvider.upsert <Customer >(customer1, repository: repository);
520
541
expect (id, isNotNull);
@@ -524,21 +545,11 @@ void main() async {
524
545
expect (
525
546
customers,
526
547
emitsInOrder ([
527
- [customer1],
528
548
[customer1],
529
549
[customer2],
550
+ [customer2],
530
551
]),
531
552
);
532
-
533
- const req = SupabaseRequest <Customer >();
534
- final resp = SupabaseResponse (
535
- await mock.serialize (
536
- customer2,
537
- realtimeEvent: PostgresChangeEvent .update,
538
- repository: repository,
539
- ),
540
- );
541
- mock.handle ({req: resp});
542
553
});
543
554
544
555
group ('as .all and ' , () {
@@ -556,26 +567,32 @@ void main() async {
556
567
await repository.sqliteProvider.get <Customer >(repository: repository);
557
568
expect (sqliteResults, isEmpty);
558
569
570
+ mock.handle ({
571
+ const SupabaseRequest <Customer >(realtime: true ): SupabaseResponse (
572
+ await mock.serialize (
573
+ customer,
574
+ realtimeEvent: PostgresChangeEvent .insert,
575
+ repository: repository,
576
+ ),
577
+ ),
578
+ const SupabaseRequest <Customer >(): SupabaseResponse ([
579
+ await mock.serialize (
580
+ customer,
581
+ repository: repository,
582
+ ),
583
+ ]),
584
+ });
585
+
559
586
final customers = repository.subscribeToRealtime <Customer >();
560
587
expect (
561
588
customers,
562
589
emitsInOrder ([
563
590
[],
564
- [],
591
+ [customer ],
565
592
[customer],
566
593
]),
567
594
);
568
595
569
- const req = SupabaseRequest <Customer >();
570
- final resp = SupabaseResponse (
571
- await mock.serialize (
572
- customer,
573
- realtimeEvent: PostgresChangeEvent .insert,
574
- repository: repository,
575
- ),
576
- );
577
- mock.handle ({req: resp});
578
-
579
596
// Wait for request to be handled
580
597
await Future .delayed (const Duration (milliseconds: 100 ));
581
598
@@ -601,13 +618,12 @@ void main() async {
601
618
expect (
602
619
customers,
603
620
emitsInOrder ([
604
- [customer],
605
621
[customer],
606
622
[],
607
623
]),
608
624
);
609
625
610
- const req = SupabaseRequest <Customer >();
626
+ const req = SupabaseRequest <Customer >(realtime : true );
611
627
final resp = SupabaseResponse (
612
628
await mock.serialize (
613
629
customer,
@@ -650,70 +666,71 @@ void main() async {
650
666
expect (
651
667
customers,
652
668
emitsInOrder ([
653
- [customer1],
654
669
[customer1],
655
670
[customer2],
671
+ [customer2],
656
672
]),
657
673
);
658
674
659
- const req = SupabaseRequest <Customer >();
660
- final resp = SupabaseResponse (
661
- await mock.serialize (
662
- customer2,
663
- realtimeEvent: PostgresChangeEvent .update,
664
- repository: repository,
675
+ mock.handle ({
676
+ const SupabaseRequest <Customer >(realtime: true ): SupabaseResponse (
677
+ await mock.serialize (
678
+ customer2,
679
+ realtimeEvent: PostgresChangeEvent .update,
680
+ repository: repository,
681
+ ),
665
682
),
666
- );
667
- mock.handle ({req: resp});
683
+ const SupabaseRequest <Customer >(): SupabaseResponse (
684
+ [
685
+ await mock.serialize (
686
+ customer2,
687
+ repository: repository,
688
+ ),
689
+ ],
690
+ ),
691
+ });
668
692
});
669
693
670
694
test ('with multiple events' , () async {
671
- final customer1 = Customer (
695
+ final pizza1 = Pizza (
672
696
id: 1 ,
673
- firstName: 'Thomas' ,
674
- lastName: 'Guy' ,
675
- pizzas: [
676
- Pizza (id: 2 , toppings: [Topping .pepperoni], frozen: false ),
677
- ],
697
+ toppings: [],
698
+ frozen: false ,
678
699
);
679
- final customer2 = Customer (
700
+ final pizza2 = Pizza (
680
701
id: 1 ,
681
- firstName: 'Guy' ,
682
- lastName: 'Thomas' ,
683
- pizzas: [
684
- Pizza (id: 2 , toppings: [Topping .pepperoni], frozen: false ),
685
- ],
702
+ toppings: [],
703
+ frozen: true ,
686
704
);
687
705
688
- final customers = repository.subscribeToRealtime <Customer >();
706
+ final pizzas = repository.subscribeToRealtime <Pizza >();
689
707
expect (
690
- customers ,
708
+ pizzas ,
691
709
emitsInOrder ([
692
710
[],
693
- [],
694
- [customer1],
695
- [customer2],
711
+ [pizza1],
712
+ [pizza2],
696
713
]),
697
714
);
698
715
699
- const req = SupabaseRequest <Customer >();
700
- final resp = SupabaseResponse (
701
- await mock.serialize (
702
- customer1,
703
- realtimeEvent: PostgresChangeEvent .insert,
704
- repository: repository,
705
- ),
706
- realtimeSubsequentReplies: [
707
- SupabaseResponse (
708
- await mock.serialize (
709
- customer2,
710
- realtimeEvent: PostgresChangeEvent .update,
711
- repository: repository,
712
- ),
716
+ mock.handle ({
717
+ const SupabaseRequest <Pizza >(realtime: true ): SupabaseResponse (
718
+ await mock.serialize <Pizza >(
719
+ pizza1,
720
+ realtimeEvent: PostgresChangeEvent .insert,
721
+ repository: repository,
713
722
),
714
- ],
715
- );
716
- mock.handle ({req: resp});
723
+ realtimeSubsequentReplies: [
724
+ SupabaseResponse (
725
+ await mock.serialize <Pizza >(
726
+ pizza2,
727
+ realtimeEvent: PostgresChangeEvent .update,
728
+ repository: repository,
729
+ ),
730
+ ),
731
+ ],
732
+ ),
733
+ });
717
734
});
718
735
});
719
736
});
0 commit comments