@@ -51,13 +51,15 @@ describe("Async", () => {
51
51
} )
52
52
} )
53
53
54
- describe ( "Async.Resolved " , ( ) => {
54
+ describe ( "Async.Fulfilled " , ( ) => {
55
55
test ( "renders only after the promise is resolved" , async ( ) => {
56
56
const promiseFn = ( ) => resolveTo ( "ok" )
57
57
const deferFn = ( ) => rejectTo ( "fail" )
58
58
const { getByText, queryByText } = render (
59
59
< Async promiseFn = { promiseFn } deferFn = { deferFn } >
60
- < Async . Resolved > { ( data , { run } ) => < button onClick = { run } > { data } </ button > } </ Async . Resolved >
60
+ < Async . Fulfilled >
61
+ { ( data , { run } ) => < button onClick = { run } > { data } </ button > }
62
+ </ Async . Fulfilled >
61
63
< Async . Rejected > { error => error } </ Async . Rejected >
62
64
</ Async >
63
65
)
@@ -76,9 +78,9 @@ describe("Async.Resolved", () => {
76
78
const deferFn = ( ) => rejectTo ( "fail" )
77
79
const { getByText, queryByText } = render (
78
80
< Async promiseFn = { promiseFn } deferFn = { deferFn } >
79
- < Async . Resolved persist >
81
+ < Async . Fulfilled persist >
80
82
{ ( data , { run } ) => < button onClick = { run } > { data } </ button > }
81
- </ Async . Resolved >
83
+ </ Async . Fulfilled >
82
84
< Async . Rejected > { error => error } </ Async . Rejected >
83
85
</ Async >
84
86
)
@@ -92,19 +94,19 @@ describe("Async.Resolved", () => {
92
94
expect ( queryByText ( "fail" ) ) . toBeInTheDocument ( )
93
95
} )
94
96
95
- test ( "Async.Resolved works also with nested Async" , async ( ) => {
97
+ test ( "Async.Fulfilled works also with nested Async" , async ( ) => {
96
98
const outer = ( ) => resolveIn ( 0 ) ( "outer" )
97
99
const inner = ( ) => resolveIn ( 100 ) ( "inner" )
98
100
const { getByText, queryByText } = render (
99
101
< Async promiseFn = { outer } >
100
- < Async . Resolved >
102
+ < Async . Fulfilled >
101
103
{ outer => (
102
104
< Async promiseFn = { inner } >
103
105
< Async . Pending > { outer } pending</ Async . Pending >
104
- < Async . Resolved > { inner => outer + " " + inner } </ Async . Resolved >
106
+ < Async . Fulfilled > { inner => outer + " " + inner } </ Async . Fulfilled >
105
107
</ Async >
106
108
) }
107
- </ Async . Resolved >
109
+ </ Async . Fulfilled >
108
110
</ Async >
109
111
)
110
112
expect ( queryByText ( "outer pending" ) ) . toBeNull ( )
@@ -121,7 +123,7 @@ describe("Async.Pending", () => {
121
123
const { getByText, queryByText } = render (
122
124
< Async promiseFn = { promiseFn } >
123
125
< Async . Pending > pending</ Async . Pending >
124
- < Async . Resolved > done</ Async . Resolved >
126
+ < Async . Fulfilled > done</ Async . Fulfilled >
125
127
</ Async >
126
128
)
127
129
expect ( queryByText ( "pending" ) ) . toBeInTheDocument ( )
@@ -137,7 +139,7 @@ describe("Async.Waiting", () => {
137
139
< Async deferFn = { deferFn } >
138
140
< Async . Waiting > { ( { run } ) => < button onClick = { run } > waiting</ button > } </ Async . Waiting >
139
141
< Async . Pending > pending</ Async . Pending >
140
- < Async . Resolved > done</ Async . Resolved >
142
+ < Async . Fulfilled > done</ Async . Fulfilled >
141
143
</ Async >
142
144
)
143
145
expect ( queryByText ( "waiting" ) ) . toBeInTheDocument ( )
@@ -163,6 +165,32 @@ describe("Async.Rejected", () => {
163
165
} )
164
166
} )
165
167
168
+ describe ( "Async.Settled" , ( ) => {
169
+ test ( "renders after the promise is fulfilled" , async ( ) => {
170
+ const promiseFn = ( ) => resolveTo ( "value" )
171
+ const { getByText, queryByText } = render (
172
+ < Async promiseFn = { promiseFn } >
173
+ < Async . Settled > { ( { data } ) => data } </ Async . Settled >
174
+ </ Async >
175
+ )
176
+ expect ( queryByText ( "value" ) ) . toBeNull ( )
177
+ await waitForElement ( ( ) => getByText ( "value" ) )
178
+ expect ( queryByText ( "value" ) ) . toBeInTheDocument ( )
179
+ } )
180
+
181
+ test ( "renders after the promise is rejected" , async ( ) => {
182
+ const promiseFn = ( ) => rejectTo ( "err" )
183
+ const { getByText, queryByText } = render (
184
+ < Async promiseFn = { promiseFn } >
185
+ < Async . Settled > { ( { error } ) => error } </ Async . Settled >
186
+ </ Async >
187
+ )
188
+ expect ( queryByText ( "err" ) ) . toBeNull ( )
189
+ await waitForElement ( ( ) => getByText ( "err" ) )
190
+ expect ( queryByText ( "err" ) ) . toBeInTheDocument ( )
191
+ } )
192
+ } )
193
+
166
194
describe ( "createInstance" , ( ) => {
167
195
test ( "allows setting default props" , async ( ) => {
168
196
const promiseFn = ( ) => resolveTo ( "done" )
@@ -191,7 +219,7 @@ describe("createInstance", () => {
191
219
const { getByText } = render (
192
220
< CustomAsync >
193
221
< CustomAsync . Pending > pending</ CustomAsync . Pending >
194
- < CustomAsync . Resolved > resolved</ CustomAsync . Resolved >
222
+ < CustomAsync . Fulfilled > resolved</ CustomAsync . Fulfilled >
195
223
</ CustomAsync >
196
224
)
197
225
await waitForElement ( ( ) => getByText ( "pending" ) )
0 commit comments