1- import { of } from 'rxjs' ;
21import { setup } from './setup' ;
32import { tick , until } from '../../__tests__/util' ;
43
@@ -17,128 +16,122 @@ describe('pubsub', () => {
1716 } ) ;
1817
1918 test ( 'can subscribe and receive published messages' , async ( ) => {
20- const { caller } = setup ( ) ;
19+ const { call , call$ } = setup ( ) ;
2120 const emits : any [ ] = [ ] ;
22- caller . call$ ( 'pubsub.listen' , of ( { channel : 'my-channel' } ) , { } ) . subscribe ( ( res ) => {
23- emits . push ( res . data . message ) ;
21+ call$ ( 'pubsub.listen' , { channel : 'my-channel' } ) . subscribe ( ( res ) => {
22+ emits . push ( res . message ) ;
2423 } ) ;
25- await caller . call (
24+ await call (
2625 'pubsub.publish' ,
2726 {
2827 channel : 'my-channel' ,
2928 message : 'hello world' ,
3029 } ,
31- { } ,
3230 ) ;
3331 await until ( ( ) => emits . length === 1 ) ;
3432 expect ( emits ) . toStrictEqual ( [ 'hello world' ] ) ;
3533 } ) ;
3634
3735 test ( 'does not receive messages after un-subscription' , async ( ) => {
38- const { caller } = setup ( ) ;
36+ const { call , call$ } = setup ( ) ;
3937 const emits : any [ ] = [ ] ;
40- const sub = caller . call$ ( 'pubsub.listen' , of ( { channel : 'my-channel' } ) , { } ) . subscribe ( ( res ) => {
41- emits . push ( res . data . message ) ;
38+ const sub = call$ ( 'pubsub.listen' , { channel : 'my-channel' } ) . subscribe ( ( res ) => {
39+ emits . push ( res . message ) ;
4240 } ) ;
43- await caller . call (
41+ await call (
4442 'pubsub.publish' ,
4543 {
4644 channel : 'my-channel' ,
4745 message : 'msg1' ,
4846 } ,
49- { } ,
5047 ) ;
51- await caller . call (
48+ await call (
5249 'pubsub.publish' ,
5350 {
5451 channel : 'my-channel' ,
5552 message : 'msg2' ,
5653 } ,
57- { } ,
5854 ) ;
5955 await until ( ( ) => emits . length === 2 ) ;
6056 sub . unsubscribe ( ) ;
61- await caller . call (
57+ await tick ( 25 ) ;
58+ await call (
6259 'pubsub.publish' ,
6360 {
6461 channel : 'my-channel' ,
6562 message : 'msg3' ,
6663 } ,
67- { } ,
6864 ) ;
6965 await tick ( 50 ) ;
70- expect ( emits ) . toStrictEqual ( [ 'msg1' , 'msg2' ] ) ;
66+ expect ( emits . indexOf ( 'msg1' ) > - 1 ) . toBe ( true ) ;
67+ expect ( emits . indexOf ( 'msg2' ) > - 1 ) . toBe ( true ) ;
7168 } ) ;
7269
7370 test ( 'multiple multiple subscribers can subscribe to multiple channels' , async ( ) => {
74- const { caller } = setup ( ) ;
71+ const { call , call$ } = setup ( ) ;
7572 const user1 : any [ ] = [ ] ;
7673 const user2 : any [ ] = [ ] ;
7774 const user3 : any [ ] = [ ] ;
78- caller . call$ ( 'pubsub.listen' , of ( { channel : 'channel-1' } ) , { } ) . subscribe ( ( res ) => {
79- user1 . push ( res . data . message ) ;
75+ call$ ( 'pubsub.listen' , { channel : 'channel-1' } ) . subscribe ( ( res ) => {
76+ user1 . push ( res . message ) ;
8077 } ) ;
81- const sub2 = caller . call$ ( 'pubsub.listen' , of ( { channel : 'channel-2' } ) , { } ) . subscribe ( ( res ) => {
82- user2 . push ( res . data . message ) ;
78+ const sub2 = call$ ( 'pubsub.listen' , { channel : 'channel-2' } ) . subscribe ( ( res ) => {
79+ user2 . push ( res . message ) ;
8380 } ) ;
84- caller . call$ ( 'pubsub.listen' , of ( { channel : 'channel-1' } ) , { } ) . subscribe ( ( res ) => {
85- user3 . push ( res . data . message ) ;
81+ call$ ( 'pubsub.listen' , { channel : 'channel-1' } ) . subscribe ( ( res ) => {
82+ user3 . push ( res . message ) ;
8683 } ) ;
87- caller . call$ ( 'pubsub.listen' , of ( { channel : 'channel-2' } ) , { } ) . subscribe ( ( res ) => {
88- user3 . push ( res . data . message ) ;
84+ call$ ( 'pubsub.listen' , { channel : 'channel-2' } ) . subscribe ( ( res ) => {
85+ user3 . push ( res . message ) ;
8986 } ) ;
90- await caller . call (
87+ await call (
9188 'pubsub.publish' ,
9289 {
9390 channel : 'my-channel' ,
9491 message : 'hello world' ,
9592 } ,
96- { } ,
9793 ) ;
9894 await tick ( 50 ) ;
9995 expect ( user1 ) . toStrictEqual ( [ ] ) ;
10096 expect ( user2 ) . toStrictEqual ( [ ] ) ;
10197 expect ( user3 ) . toStrictEqual ( [ ] ) ;
102- caller
103- . call (
98+ call (
10499 'pubsub.publish' ,
105100 {
106101 channel : 'channel-1' ,
107102 message : 'msg1' ,
108103 } ,
109- { } ,
110104 )
111105 . catch ( ( ) => { } ) ;
112- caller
113- . call (
106+ call (
114107 'pubsub.publish' ,
115108 {
116109 channel : 'channel-2' ,
117110 message : 'msg2' ,
118111 } ,
119- { } ,
120112 )
121113 . catch ( ( ) => { } ) ;
122114 await until ( ( ) => user1 . length === 1 ) ;
123115 await until ( ( ) => user2 . length === 1 ) ;
124116 await until ( ( ) => user3 . length === 2 ) ;
125117 expect ( user1 ) . toStrictEqual ( [ 'msg1' ] ) ;
126118 expect ( user2 ) . toStrictEqual ( [ 'msg2' ] ) ;
127- expect ( user3 ) . toStrictEqual ( [ 'msg1' , 'msg2' ] ) ;
119+ expect ( user3 . indexOf ( 'msg1' ) > - 1 ) . toBe ( true ) ;
120+ expect ( user3 . indexOf ( 'msg2' ) > - 1 ) . toBe ( true ) ;
128121 sub2 . unsubscribe ( ) ;
129- caller
130- . call (
122+ call (
131123 'pubsub.publish' ,
132124 {
133125 channel : 'channel-2' ,
134126 message : 'msg3' ,
135127 } ,
136- { } ,
137128 )
138129 . catch ( ( ) => { } ) ;
139130 await until ( ( ) => user3 . length === 3 ) ;
140131 expect ( user1 ) . toStrictEqual ( [ 'msg1' ] ) ;
141132 expect ( user2 ) . toStrictEqual ( [ 'msg2' ] ) ;
142- expect ( user3 ) . toStrictEqual ( [ 'msg1' , 'msg2' , 'msg3' ] ) ;
133+ expect ( user3 . indexOf ( 'msg1' ) > - 1 ) . toBe ( true ) ;
134+ expect ( user3 . indexOf ( 'msg2' ) > - 1 ) . toBe ( true ) ;
135+ expect ( user3 . indexOf ( 'msg3' ) > - 1 ) . toBe ( true ) ;
143136 } ) ;
144137} ) ;
0 commit comments