|
@@ -1,68 +1,74 @@
|
|
-import { mount } from "@vue/test-utils";
|
|
|
|
import InputHelpBox from "@/components/InputHelpBox.vue";
|
|
import InputHelpBox from "@/components/InputHelpBox.vue";
|
|
|
|
+import { useTestUtils } from "@/composables/useTestUtils";
|
|
|
|
|
|
-test("input help box component props", async () => {
|
|
|
|
- expect(InputHelpBox).toBeTruthy();
|
|
|
|
|
|
+const { getWrapper } = useTestUtils();
|
|
|
|
|
|
- const wrapper = mount(InputHelpBox, {
|
|
|
|
- props: {
|
|
|
|
- message: "This input has not been entered and is valid.",
|
|
|
|
- valid: true,
|
|
|
|
- entered: false
|
|
|
|
- }
|
|
|
|
|
|
+describe("InputHelpBox component", () => {
|
|
|
|
+ beforeEach(context => {
|
|
|
|
+ context.wrapper = getWrapper(InputHelpBox, {
|
|
|
|
+ props: {
|
|
|
|
+ message: "",
|
|
|
|
+ valid: true
|
|
|
|
+ }
|
|
|
|
+ });
|
|
});
|
|
});
|
|
|
|
|
|
- expect(wrapper.text()).toBe(
|
|
|
|
- "This input has not been entered and is valid."
|
|
|
|
- );
|
|
|
|
- expect(wrapper.classes()).toContain("is-grey");
|
|
|
|
-
|
|
|
|
- await wrapper.setProps({
|
|
|
|
- message: "This input has not been entered and is invalid.",
|
|
|
|
- valid: false,
|
|
|
|
- entered: false
|
|
|
|
|
|
+ test("message prop", async ({ wrapper }) => {
|
|
|
|
+ await wrapper.setProps({
|
|
|
|
+ message: "This input has not been entered and is valid."
|
|
|
|
+ });
|
|
|
|
+ expect(wrapper.text()).toBe(
|
|
|
|
+ "This input has not been entered and is valid."
|
|
|
|
+ );
|
|
});
|
|
});
|
|
- expect(wrapper.text()).toBe(
|
|
|
|
- "This input has not been entered and is invalid."
|
|
|
|
- );
|
|
|
|
- expect(wrapper.classes()).toContain("is-grey");
|
|
|
|
|
|
|
|
- await wrapper.setProps({
|
|
|
|
- message: "This input has been entered and is valid.",
|
|
|
|
- valid: true,
|
|
|
|
- entered: true
|
|
|
|
- });
|
|
|
|
- expect(wrapper.text()).toBe("This input has been entered and is valid.");
|
|
|
|
- expect(wrapper.classes()).toContain("is-success");
|
|
|
|
|
|
+ describe("valid and entered props", () => {
|
|
|
|
+ test("valid and entered", async ({ wrapper }) => {
|
|
|
|
+ await wrapper.setProps({
|
|
|
|
+ valid: true,
|
|
|
|
+ entered: true
|
|
|
|
+ });
|
|
|
|
+ expect(wrapper.classes()).toContain("is-success");
|
|
|
|
+ });
|
|
|
|
|
|
- await wrapper.setProps({
|
|
|
|
- message: "This input has potentially been entered and is valid.",
|
|
|
|
- valid: true,
|
|
|
|
- entered: undefined
|
|
|
|
- });
|
|
|
|
- expect(wrapper.text()).toBe(
|
|
|
|
- "This input has potentially been entered and is valid."
|
|
|
|
- );
|
|
|
|
- expect(wrapper.classes()).toContain("is-success");
|
|
|
|
|
|
+ test("valid and not entered", async ({ wrapper }) => {
|
|
|
|
+ await wrapper.setProps({
|
|
|
|
+ valid: true,
|
|
|
|
+ entered: false
|
|
|
|
+ });
|
|
|
|
+ expect(wrapper.classes()).toContain("is-grey");
|
|
|
|
+ });
|
|
|
|
|
|
- await wrapper.setProps({
|
|
|
|
- message: "This input has been entered and is invalid.",
|
|
|
|
- valid: false,
|
|
|
|
- entered: true
|
|
|
|
- });
|
|
|
|
- expect(wrapper.text()).toBe("This input has been entered and is invalid.");
|
|
|
|
- expect(wrapper.classes()).toContain("is-danger");
|
|
|
|
|
|
+ test("valid and entered undefined", async ({ wrapper }) => {
|
|
|
|
+ await wrapper.setProps({
|
|
|
|
+ valid: true,
|
|
|
|
+ entered: undefined
|
|
|
|
+ });
|
|
|
|
+ expect(wrapper.classes()).toContain("is-success");
|
|
|
|
+ });
|
|
|
|
|
|
- await wrapper.setProps({
|
|
|
|
- message: "This input has potentially been entered and is invalid.",
|
|
|
|
- valid: false,
|
|
|
|
- entered: undefined
|
|
|
|
- });
|
|
|
|
- expect(wrapper.text()).toBe(
|
|
|
|
- "This input has potentially been entered and is invalid."
|
|
|
|
- );
|
|
|
|
- expect(wrapper.classes()).toContain("is-danger");
|
|
|
|
|
|
+ test("not valid and entered", async ({ wrapper }) => {
|
|
|
|
+ await wrapper.setProps({
|
|
|
|
+ valid: false,
|
|
|
|
+ entered: true
|
|
|
|
+ });
|
|
|
|
+ expect(wrapper.classes()).toContain("is-danger");
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ test("not valid and not entered", async ({ wrapper }) => {
|
|
|
|
+ await wrapper.setProps({
|
|
|
|
+ valid: false,
|
|
|
|
+ entered: false
|
|
|
|
+ });
|
|
|
|
+ expect(wrapper.classes()).toContain("is-grey");
|
|
|
|
+ });
|
|
|
|
|
|
- expect(wrapper.html()).toMatchSnapshot();
|
|
|
|
- expect(wrapper.classes()).toContain("help");
|
|
|
|
|
|
+ test("not valid and entered undefined", async ({ wrapper }) => {
|
|
|
|
+ await wrapper.setProps({
|
|
|
|
+ valid: false,
|
|
|
|
+ entered: undefined
|
|
|
|
+ });
|
|
|
|
+ expect(wrapper.classes()).toContain("is-danger");
|
|
|
|
+ });
|
|
|
|
+ });
|
|
});
|
|
});
|