InputHelpBox.spec.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import { mount } from "@vue/test-utils";
  2. import InputHelpBox from "@/components/InputHelpBox.vue";
  3. test("input help box component props", async () => {
  4. expect(InputHelpBox).toBeTruthy();
  5. const wrapper = mount(InputHelpBox, {
  6. props: {
  7. message: "This input has not been entered and is valid.",
  8. valid: true,
  9. entered: false
  10. }
  11. });
  12. expect(wrapper.text()).toBe(
  13. "This input has not been entered and is valid."
  14. );
  15. expect(wrapper.classes()).toContain("is-grey");
  16. await wrapper.setProps({
  17. message: "This input has not been entered and is invalid.",
  18. valid: false,
  19. entered: false
  20. });
  21. expect(wrapper.text()).toBe(
  22. "This input has not been entered and is invalid."
  23. );
  24. expect(wrapper.classes()).toContain("is-grey");
  25. await wrapper.setProps({
  26. message: "This input has been entered and is valid.",
  27. valid: true,
  28. entered: true
  29. });
  30. expect(wrapper.text()).toBe("This input has been entered and is valid.");
  31. expect(wrapper.classes()).toContain("is-success");
  32. await wrapper.setProps({
  33. message: "This input has potentially been entered and is valid.",
  34. valid: true,
  35. entered: undefined
  36. });
  37. expect(wrapper.text()).toBe(
  38. "This input has potentially been entered and is valid."
  39. );
  40. expect(wrapper.classes()).toContain("is-success");
  41. await wrapper.setProps({
  42. message: "This input has been entered and is invalid.",
  43. valid: false,
  44. entered: true
  45. });
  46. expect(wrapper.text()).toBe("This input has been entered and is invalid.");
  47. expect(wrapper.classes()).toContain("is-danger");
  48. await wrapper.setProps({
  49. message: "This input has potentially been entered and is invalid.",
  50. valid: false,
  51. entered: undefined
  52. });
  53. expect(wrapper.text()).toBe(
  54. "This input has potentially been entered and is invalid."
  55. );
  56. expect(wrapper.classes()).toContain("is-danger");
  57. expect(wrapper.html()).toMatchSnapshot();
  58. expect(wrapper.classes()).toContain("help");
  59. });