Skip to content

Commit 491d609

Browse files
committed
Replace fireEvent with userEvent
1 parent 778719f commit 491d609

File tree

1 file changed

+32
-49
lines changed
  • static/js/src/advantage/subscribe/checkout/components/Taxes

1 file changed

+32
-49
lines changed

static/js/src/advantage/subscribe/checkout/components/Taxes/Taxes.test.tsx

+32-49
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
22
import { Formik } from "formik";
33
import { Elements } from "@stripe/react-stripe-js";
44
import { loadStripe } from "@stripe/stripe-js";
5-
import { fireEvent, render, screen, waitFor } from "@testing-library/react";
5+
import { render, screen } from "@testing-library/react";
66
import { DistributorProduct, UAProduct } from "../../utils/test/Mocks";
77
import Taxes from "./Taxes";
88
import userEvent from "@testing-library/user-event";
@@ -59,12 +59,11 @@ describe("TaxesTests", () => {
5959
);
6060

6161
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();
6564
});
6665

67-
it("When VAT country is selected, VAT Number input displays", () => {
66+
it("When VAT country is selected, VAT Number input displays", async () => {
6867
const products = [
6968
{
7069
product: UAProduct,
@@ -82,14 +81,11 @@ describe("TaxesTests", () => {
8281
);
8382

8483
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();
9086
});
9187

92-
it("When USA is selected, State select displays", () => {
88+
it("When USA is selected, State select displays", async () => {
9389
const products = [
9490
{
9591
product: UAProduct,
@@ -105,13 +101,10 @@ describe("TaxesTests", () => {
105101
</Formik>
106102
</QueryClientProvider>,
107103
);
108-
fireEvent.change(getByTestId("select-country"), {
109-
target: { value: "US" },
110-
});
104+
await userEvent.selectOptions(getByTestId("select-country"), "US");
111105
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();
115108
});
116109

117110
it("sets status right if country is stored", () => {
@@ -160,7 +153,7 @@ describe("TaxesTests", () => {
160153
expect(screen.getByRole("button", { name: "Save" })).toBeInTheDocument();
161154
});
162155

163-
it("cancel button resets tax step values", () => {
156+
it("cancel button resets tax step values", async () => {
164157
global.window = Object.create(window);
165158
Object.defineProperty(window, "accountId", { value: "ABCDEF" });
166159

@@ -184,37 +177,27 @@ describe("TaxesTests", () => {
184177
</Formik>
185178
</QueryClientProvider>,
186179
);
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" }));
196184
expect(screen.getByTestId("country")).toHaveTextContent("United Kingdom");
197185
expect(screen.getByTestId("vat-number")).toHaveTextContent("GB123123123");
198186

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" }));
207191
expect(screen.getByTestId("country")).toHaveTextContent("United Kingdom");
208192
expect(screen.getByTestId("vat-number")).toHaveTextContent("GB123123123");
209193

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" }));
218201
expect(screen.getByTestId("country")).toHaveTextContent("United Kingdom");
219202
expect(screen.getByTestId("vat-number")).toHaveTextContent("GB123123123");
220203
});
@@ -246,12 +229,12 @@ describe("TaxesTests", () => {
246229
);
247230

248231
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();
255238
});
256239

257240
it("Edit button should not be displayed for channel users", () => {

0 commit comments

Comments
 (0)