From 33af471b030c4bb9c130dcef0fe07ce83acd62cf Mon Sep 17 00:00:00 2001 From: Chloe Herd Date: Wed, 7 Jun 2023 10:30:02 -0400 Subject: [PATCH] Implement unit tests --- .../damage-review/damage-review.spec.js | 71 ++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/src/layouts/review/review-sections/damage-review/damage-review.spec.js b/src/layouts/review/review-sections/damage-review/damage-review.spec.js index ee5ec0816..a6dbe6f2d 100644 --- a/src/layouts/review/review-sections/damage-review/damage-review.spec.js +++ b/src/layouts/review/review-sections/damage-review/damage-review.spec.js @@ -1,3 +1,72 @@ +import { shallowMount } from "@vue/test-utils"; +import { getMountOptions } from "@/helpers/unit-test-helper.js"; +import damageReview from "@/layouts/review/review-sections/damage-review/damage-review"; + +jest.mock("@/helpers/cms-content-helper", () => ({ + fetchCmsContentForPage: () => Promise.resolve("content"), +})); + describe("Damage Review Block", () => { - test.todo("Add more tests as specific functionality is added."); + describe("Correctly assembles damage info into a display string", () => { + test("Basic Replace", async () => { + // Arrange + const { wrapper } = setupMocks({ + propsData: { + damage: { + isRepair: false, + }, + }, + }); + + // Act + await wrapper.vm.$nextTick(); + + // Assert + expect(wrapper.vm.displayContent).toStrictEqual(["Windshield crack"]); + }); + + test("Basic Repair", async () => { + // Arrange + const { wrapper } = setupMocks({ + propsData: { + damage: { + isRepair: true, + numberOfChips: 2, + }, + }, + }); + + // Act + await wrapper.vm.$nextTick(); + + // Assert + expect(wrapper.vm.displayContent).toStrictEqual(["Windshield repair - 2 chips"]); + }); + + test("Basic Repair - no s with 1 chip", async () => { + // Arrange + const { wrapper } = setupMocks({ + propsData: { + damage: { + isRepair: true, + numberOfChips: 1, + }, + }, + }); + + // Act + await wrapper.vm.$nextTick(); + + // Assert + expect(wrapper.vm.displayContent).toStrictEqual(["Windshield repair - 1 chip"]); + }); + }); }); + +function setupMocks(customMountOptions) { + const mountOptions = getMountOptions(customMountOptions); + + const wrapper = shallowMount(damageReview, mountOptions); + wrapper.vm.setCmsContent = jest.fn(); + return { wrapper }; +}