@thepalaceproject/circulation-admin 1.43.0-post.5 → 1.43.0-post.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -143,5 +143,5 @@
143
143
  "*.{js,jsx,ts,tsx,css,md}": "prettier --write",
144
144
  "*.{js,css,md}": "prettier --write"
145
145
  },
146
- "version": "1.43.0-post.5"
146
+ "version": "1.43.0-post.6"
147
147
  }
@@ -0,0 +1,47 @@
1
+ import * as React from "react";
2
+ import { render, screen } from "@testing-library/react";
3
+ import userEvent from "@testing-library/user-event";
4
+
5
+ import SaveButton from "../../../src/components/SaveButton";
6
+
7
+ describe("SaveButton", () => {
8
+ it("says 'Save' when given no text", () => {
9
+ render(<SaveButton disabled={false} submit={jest.fn()} />);
10
+
11
+ expect(screen.getByRole("button", { name: "Save" })).toBeInTheDocument();
12
+ });
13
+
14
+ it("displays the text it is given", () => {
15
+ render(
16
+ <SaveButton
17
+ disabled={false}
18
+ submit={jest.fn()}
19
+ text="some other string"
20
+ />
21
+ );
22
+
23
+ expect(
24
+ screen.getByRole("button", { name: "some other string" })
25
+ ).toBeInTheDocument();
26
+ });
27
+
28
+ it("submits when clicked", async () => {
29
+ const user = userEvent.setup();
30
+ const submit = jest.fn();
31
+ render(<SaveButton disabled={false} submit={submit} />);
32
+
33
+ await user.click(screen.getByRole("button"));
34
+
35
+ expect(submit).toHaveBeenCalledTimes(1);
36
+ });
37
+
38
+ it("does nothing when disabled", async () => {
39
+ const user = userEvent.setup();
40
+ const submit = jest.fn();
41
+ render(<SaveButton disabled={true} submit={submit} />);
42
+
43
+ await user.click(screen.getByRole("button"));
44
+
45
+ expect(submit).not.toHaveBeenCalled();
46
+ });
47
+ });
@@ -0,0 +1,36 @@
1
+ import * as React from "react";
2
+ import { render, screen } from "@testing-library/react";
3
+
4
+ import UpdatingLoader from "../../../src/components/UpdatingLoader";
5
+
6
+ describe("UpdatingLoader", () => {
7
+ it("renders only its container when not showing", () => {
8
+ const { container } = render(<UpdatingLoader show={false} />);
9
+
10
+ expect(
11
+ container.querySelector(".updating-loader-container")
12
+ ).toBeInTheDocument();
13
+ expect(container.querySelector(".updating-loader")).not.toBeInTheDocument();
14
+ expect(screen.queryByText("Updating")).not.toBeInTheDocument();
15
+ });
16
+
17
+ it("renders the default message when showing", () => {
18
+ render(<UpdatingLoader show={true} />);
19
+
20
+ expect(screen.getByText("Updating")).toBeInTheDocument();
21
+ });
22
+
23
+ it("renders the text it is given instead of the default", () => {
24
+ render(<UpdatingLoader show={true} text="Doing something" />);
25
+
26
+ expect(screen.getByText("Doing something")).toBeInTheDocument();
27
+ expect(screen.queryByText("Updating")).not.toBeInTheDocument();
28
+ });
29
+
30
+ it("renders a spinner", () => {
31
+ const { container } = render(<UpdatingLoader show={true} />);
32
+
33
+ // The spinner is a Font Awesome <i>, which carries no accessible role.
34
+ expect(container.querySelector("i.fa-spinner")).toBeInTheDocument();
35
+ });
36
+ });