@@ -76,24 +76,45 @@ describe("Machine with entry and exit actions", () => {
7676
7777 test ( "sending events" , async ( ) => {
7878 const loader = start ( Loader ) ;
79- expect ( loader . current ) . toEqual ( "idle" ) ;
79+ expect ( loader . value ) . toMatchObject ( {
80+ change : 0 ,
81+ state : "idle" ,
82+ actions : [ ]
83+ } ) ;
84+ expect ( loader . value ) . toBe ( loader . value ) ;
8085 expect ( loader . changeCount ) . toEqual ( 0 ) ;
86+ expect ( loader . current ) . toEqual ( "idle" ) ;
87+
88+ const valueA = loader . value ;
8189
8290 loader . next ( "NOOP" ) ;
8391 expect ( loader . current ) . toEqual ( "idle" ) ;
8492 expect ( loader . changeCount ) . toEqual ( 0 ) ;
93+ expect ( loader . value ) . toBe ( valueA ) ;
8594
8695 const transitionResult = loader . next ( "FETCH" ) ;
8796 expect ( fetch ) . toHaveBeenCalledWith ( "https://example.org/" ) ;
88- expect ( transitionResult . actions ) . toEqual ( [
89- { type : "entry" , f : fetchData } ,
90- ] ) ;
97+ expect ( transitionResult . value ) . toMatchObject ( {
98+ change : 1 ,
99+ state : "loading" ,
100+ actions : [
101+ { type : "entry" , f : fetchData }
102+ ]
103+ } ) ;
104+ expect ( loader . value ) . toMatchObject ( {
105+ change : 1 ,
106+ state : "loading" ,
107+ actions : [
108+ { type : "entry" , f : fetchData }
109+ ]
110+ } ) ;
111+ expect ( loader . value ) . not . toBe ( valueA ) ;
91112 expect ( loader . current ) . toEqual ( "loading" ) ;
92113 expect ( loader . changeCount ) . toEqual ( 1 ) ;
93114 expect ( finishedLoading ) . toHaveBeenCalledTimes ( 0 ) ;
94115
95- await expect ( loader . results ) . resolves . toEqual ( { fetchData : 42 } ) ;
96- await expect ( Promise . resolve ( transitionResult ) ) . resolves . toEqual ( {
116+ await expect ( loader . value . results ) . resolves . toEqual ( { fetchData : 42 } ) ;
117+ await expect ( Promise . resolve ( transitionResult . value . results ) ) . resolves . toEqual ( {
97118 fetchData : 42 ,
98119 } ) ;
99120 expect ( finishedLoading ) . toHaveBeenCalledTimes ( 1 ) ;
@@ -118,19 +139,28 @@ describe("Machine with entry and exit actions", () => {
118139
119140 test ( "sending events" , async ( ) => {
120141 const loader = start ( Loader ) ;
121- expect ( loader . current ) . toEqual ( "idle" ) ;
142+ expect ( loader . value ) . toMatchObject ( {
143+ change : 0 ,
144+ state : "idle" ,
145+ actions : [ ]
146+ } ) ;
122147
123148 const transitionResult = loader . next ( "FETCH" ) ;
124149 expect ( fetch ) . toHaveBeenCalledTimes ( 1 ) ;
125150 expect ( fetch ) . toHaveBeenLastCalledWith ( "https://example.org/" ) ;
126- expect ( transitionResult . actions ) . toEqual ( [
151+ expect ( transitionResult . value . actions ) . toEqual ( [
127152 { type : "entry" , f : fetchData } ,
128153 ] ) ;
129- expect ( loader . current ) . toEqual ( "loading" ) ;
130- expect ( loader . changeCount ) . toEqual ( 1 ) ;
154+ expect ( loader . value ) . toMatchObject ( {
155+ change : 1 ,
156+ state : "loading" ,
157+ actions : [
158+ { type : "entry" , f : fetchData } ,
159+ ]
160+ } ) ;
131161
132- await expect ( loader . results ) . rejects . toEqual ( new Error ( "Failed!" ) ) ;
133- await expect ( Promise . resolve ( transitionResult ) ) . rejects . toEqual (
162+ await expect ( loader . value . results ) . rejects . toEqual ( new Error ( "Failed!" ) ) ;
163+ await expect ( Promise . resolve ( transitionResult . value . results ) ) . rejects . toEqual (
134164 new Error ( "Failed!" )
135165 ) ;
136166 expect ( loader . changeCount ) . toEqual ( 2 ) ;
@@ -211,7 +241,7 @@ describe.skip("Fetch with abort signal", () => {
211241
212242 const transitionResult = loader . next ( "FETCH" ) ;
213243 expect ( fetch ) . toHaveBeenCalledWith ( "https://example.org/" ) ;
214- expect ( transitionResult . actions ) . toEqual ( [
244+ expect ( transitionResult . value . actions ) . toEqual ( [
215245 { type : "entry" , f : fetchData } ,
216246 ] ) ;
217247 expect ( loader . current ) . toEqual ( "loading" ) ;
@@ -249,7 +279,7 @@ describe.skip("Fetch with abort signal", () => {
249279 const transitionResult = loader . next ( "FETCH" ) ;
250280 expect ( fetch ) . toHaveBeenCalledTimes ( 1 ) ;
251281 expect ( fetch ) . toHaveBeenLastCalledWith ( "https://example.org/" ) ;
252- expect ( transitionResult . actions ) . toEqual ( [
282+ expect ( transitionResult . value . actions ) . toEqual ( [
253283 { type : "entry" , f : fetchData } ,
254284 ] ) ;
255285 expect ( loader . current ) . toEqual ( "loading" ) ;
0 commit comments