@@ -2,7 +2,7 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
2
2
import { Formik } from "formik" ;
3
3
import { Elements } from "@stripe/react-stripe-js" ;
4
4
import { loadStripe } from "@stripe/stripe-js" ;
5
- import { fireEvent , render , screen , waitFor } from "@testing-library/react" ;
5
+ import { render , screen } from "@testing-library/react" ;
6
6
import { DistributorProduct , UAProduct } from "../../utils/test/Mocks" ;
7
7
import Taxes from "./Taxes" ;
8
8
import userEvent from "@testing-library/user-event" ;
@@ -59,12 +59,11 @@ describe("TaxesTests", () => {
59
59
) ;
60
60
61
61
expect ( screen . getByTestId ( "select-country" ) ) . toBeInTheDocument ( ) ;
62
- fireEvent . change ( screen . getByTestId ( "select-country" ) , {
63
- target : { value : "JP" } ,
64
- } ) ;
62
+ userEvent . selectOptions ( screen . getByTestId ( "select-country" ) , "JP" ) ;
63
+ expect ( screen . queryByText ( "VAT number:" ) ) . not . toBeInTheDocument ( ) ;
65
64
} ) ;
66
65
67
- it ( "When VAT country is selected, VAT Number input displays" , ( ) => {
66
+ it ( "When VAT country is selected, VAT Number input displays" , async ( ) => {
68
67
const products = [
69
68
{
70
69
product : UAProduct ,
@@ -82,14 +81,11 @@ describe("TaxesTests", () => {
82
81
) ;
83
82
84
83
expect ( screen . getByTestId ( "select-country" ) ) . toBeInTheDocument ( ) ;
85
- fireEvent . change ( screen . getByTestId ( "select-country" ) , {
86
- target : { value : "FR" } ,
87
- } ) ;
88
-
89
- expect ( screen . getByText ( "VAT number:" ) ) . toBeInTheDocument ( ) ;
84
+ await userEvent . selectOptions ( screen . getByTestId ( "select-country" ) , "FR" ) ;
85
+ expect ( screen . queryByText ( "VAT number:" ) ) . toBeInTheDocument ( ) ;
90
86
} ) ;
91
87
92
- it ( "When USA is selected, State select displays" , ( ) => {
88
+ it ( "When USA is selected, State select displays" , async ( ) => {
93
89
const products = [
94
90
{
95
91
product : UAProduct ,
@@ -105,13 +101,10 @@ describe("TaxesTests", () => {
105
101
</ Formik >
106
102
</ QueryClientProvider > ,
107
103
) ;
108
- fireEvent . change ( getByTestId ( "select-country" ) , {
109
- target : { value : "US" } ,
110
- } ) ;
104
+ await userEvent . selectOptions ( getByTestId ( "select-country" ) , "US" ) ;
111
105
expect ( screen . getByText ( "State:" ) ) . toBeInTheDocument ( ) ;
112
- fireEvent . change ( getByTestId ( "select-state" ) , {
113
- target : { value : "Texas" } ,
114
- } ) ;
106
+ await userEvent . selectOptions ( getByTestId ( "select-state" ) , "Texas" ) ;
107
+ expect ( screen . queryByText ( "VAT number:" ) ) . not . toBeInTheDocument ( ) ;
115
108
} ) ;
116
109
117
110
it ( "sets status right if country is stored" , ( ) => {
@@ -160,7 +153,7 @@ describe("TaxesTests", () => {
160
153
expect ( screen . getByRole ( "button" , { name : "Save" } ) ) . toBeInTheDocument ( ) ;
161
154
} ) ;
162
155
163
- it ( "cancel button resets tax step values" , ( ) => {
156
+ it ( "cancel button resets tax step values" , async ( ) => {
164
157
global . window = Object . create ( window ) ;
165
158
Object . defineProperty ( window , "accountId" , { value : "ABCDEF" } ) ;
166
159
@@ -184,37 +177,27 @@ describe("TaxesTests", () => {
184
177
</ Formik >
185
178
</ QueryClientProvider > ,
186
179
) ;
187
-
188
- fireEvent . click ( screen . getByRole ( "button" , { name : "Edit" } ) ) ;
189
- fireEvent . change ( screen . getByTestId ( "select-country" ) , {
190
- target : { value : "FR" } ,
191
- } ) ;
192
- fireEvent . change ( screen . getByTestId ( "field-vat-number" ) , {
193
- target : { value : "FR123123123" } ,
194
- } ) ;
195
- fireEvent . click ( screen . getByRole ( "button" , { name : "Cancel" } ) ) ;
180
+ await userEvent . click ( screen . getByRole ( "button" , { name : "Edit" } ) ) ;
181
+ await userEvent . selectOptions ( screen . getByTestId ( "select-country" ) , "FR" ) ;
182
+ await userEvent . type ( screen . getByTestId ( "field-vat-number" ) , "FR123123123" ) ;
183
+ await userEvent . click ( screen . getByRole ( "button" , { name : "Cancel" } ) ) ;
196
184
expect ( screen . getByTestId ( "country" ) ) . toHaveTextContent ( "United Kingdom" ) ;
197
185
expect ( screen . getByTestId ( "vat-number" ) ) . toHaveTextContent ( "GB123123123" ) ;
198
186
199
- fireEvent . click ( screen . getByRole ( "button" , { name : "Edit" } ) ) ;
200
- fireEvent . change ( screen . getByTestId ( "select-country" ) , {
201
- target : { value : "US" } ,
202
- } ) ;
203
- fireEvent . change ( screen . getByTestId ( "select-state" ) , {
204
- target : { value : "AL" } ,
205
- } ) ;
206
- fireEvent . click ( screen . getByRole ( "button" , { name : "Cancel" } ) ) ;
187
+ await userEvent . click ( screen . getByRole ( "button" , { name : "Edit" } ) ) ;
188
+ await userEvent . selectOptions ( screen . getByTestId ( "select-country" ) , "US" ) ;
189
+ await userEvent . selectOptions ( screen . getByTestId ( "select-state" ) , "AL" ) ;
190
+ await userEvent . click ( screen . getByRole ( "button" , { name : "Cancel" } ) ) ;
207
191
expect ( screen . getByTestId ( "country" ) ) . toHaveTextContent ( "United Kingdom" ) ;
208
192
expect ( screen . getByTestId ( "vat-number" ) ) . toHaveTextContent ( "GB123123123" ) ;
209
193
210
- fireEvent . click ( screen . getByRole ( "button" , { name : "Edit" } ) ) ;
211
- fireEvent . change ( screen . getByTestId ( "select-country" ) , {
212
- target : { value : "CA" } ,
213
- } ) ;
214
- fireEvent . change ( screen . getByTestId ( "select-ca-province" ) , {
215
- target : { value : "AL" } ,
216
- } ) ;
217
- fireEvent . click ( screen . getByRole ( "button" , { name : "Cancel" } ) ) ;
194
+ await userEvent . click ( screen . getByRole ( "button" , { name : "Edit" } ) ) ;
195
+ await userEvent . selectOptions ( screen . getByTestId ( "select-country" ) , "CA" ) ;
196
+ await userEvent . selectOptions (
197
+ screen . getByTestId ( "select-ca-province" ) ,
198
+ "AB" ,
199
+ ) ;
200
+ await userEvent . click ( screen . getByRole ( "button" , { name : "Cancel" } ) ) ;
218
201
expect ( screen . getByTestId ( "country" ) ) . toHaveTextContent ( "United Kingdom" ) ;
219
202
expect ( screen . getByTestId ( "vat-number" ) ) . toHaveTextContent ( "GB123123123" ) ;
220
203
} ) ;
@@ -246,12 +229,12 @@ describe("TaxesTests", () => {
246
229
) ;
247
230
248
231
expect ( screen . queryByRole ( "button" , { name : "Edit" } ) ) . toBeInTheDocument ( ) ;
249
- userEvent . click ( screen . getByRole ( "button" , { name : "Edit" } ) ) ;
250
- await waitFor ( ( ) => {
251
- expect ( screen . getByTestId ( "select-country" ) ) . toBeInTheDocument ( ) ;
252
- expect ( screen . getByTestId ( "field-vat-number" ) ) . toBeInTheDocument ( ) ;
253
- expect ( screen . getByRole ( "button" , { name : "Save" } ) ) . toBeInTheDocument ( ) ;
254
- } ) ;
232
+ await userEvent . click ( screen . getByRole ( "button" , { name : "Edit" } ) ) ;
233
+
234
+ const countryField = await screen . findByTestId ( "select-country" ) ;
235
+ expect ( countryField ) . toBeInTheDocument ( ) ;
236
+ expect ( screen . getByTestId ( "field-vat-number" ) ) . toBeInTheDocument ( ) ;
237
+ expect ( screen . getByRole ( "button" , { name : "Save" } ) ) . toBeInTheDocument ( ) ;
255
238
} ) ;
256
239
257
240
it ( "Edit button should not be displayed for channel users" , ( ) => {
0 commit comments