@@ -808,3 +808,89 @@ test('fork with args', async () => {
808
808
expect ( server . instance . count ) . toBe ( 3 ) ;
809
809
expect ( client0 . instance . count ) . toBe ( 4 ) ;
810
810
} ) ;
811
+
812
+ test ( 'fork with args with destroy on Client' , async ( ) => {
813
+ const transports = mockPairTransports ( ) ;
814
+
815
+ const server = await createSharedApp ( {
816
+ modules : [ ] ,
817
+ main : Counter ,
818
+ render : ( ) => { } ,
819
+ share : {
820
+ name : 'counter' ,
821
+ type : 'Base' ,
822
+ port : 'server' ,
823
+ transports : {
824
+ server : transports [ 0 ] ,
825
+ } ,
826
+ } ,
827
+ } ) ;
828
+
829
+ expect ( server . instance . count ) . toBe ( 0 ) ;
830
+
831
+ const client0 = await createSharedApp ( {
832
+ modules : [ ] ,
833
+ main : Counter ,
834
+ render : ( ) => { } ,
835
+ share : {
836
+ name : 'counter' ,
837
+ type : 'Base' ,
838
+ port : 'client' ,
839
+ transports : {
840
+ client : transports [ 1 ] ,
841
+ } ,
842
+ } ,
843
+ } ) ;
844
+ await client0 . bootstrap ( ) ;
845
+ expect ( client0 . instance . count ) . toBe ( 0 ) ;
846
+
847
+ client0 . destroy ( ) ;
848
+ await server . instance . increase ( ) ;
849
+
850
+ expect ( server . instance . count ) . toBe ( 1 ) ;
851
+ expect ( client0 . instance . count ) . toBe ( 0 ) ;
852
+ } ) ;
853
+
854
+ test ( 'fork with args with destroy on Server' , async ( ) => {
855
+ const transports = mockPairTransports ( ) ;
856
+
857
+ const server = await createSharedApp ( {
858
+ modules : [ ] ,
859
+ main : Counter ,
860
+ render : ( ) => { } ,
861
+ share : {
862
+ name : 'counter' ,
863
+ type : 'Base' ,
864
+ port : 'server' ,
865
+ transports : {
866
+ server : transports [ 0 ] ,
867
+ } ,
868
+ } ,
869
+ } ) ;
870
+
871
+ expect ( server . instance . count ) . toBe ( 0 ) ;
872
+
873
+ const client0 = await createSharedApp ( {
874
+ modules : [ ] ,
875
+ main : Counter ,
876
+ render : ( ) => { } ,
877
+ share : {
878
+ name : 'counter' ,
879
+ type : 'Base' ,
880
+ port : 'client' ,
881
+ transports : {
882
+ client : transports [ 1 ] ,
883
+ } ,
884
+ } ,
885
+ } ) ;
886
+ await client0 . bootstrap ( ) ;
887
+ expect ( client0 . instance . count ) . toBe ( 0 ) ;
888
+
889
+ server . destroy ( ) ;
890
+ await server . instance . increase ( ) ;
891
+ // jest can send message to client after server destroyed
892
+ expect ( server . instance . count ) . toBe ( 1 ) ;
893
+ expect ( client0 . instance . count ) . toBe ( 1 ) ;
894
+
895
+ await expect ( client0 . instance . increase ( ) ) . rejects . toThrowError ( ) ;
896
+ } ) ;
0 commit comments