68 lines
2.1 KiB
JavaScript
68 lines
2.1 KiB
JavaScript
import { shallowMount } from "@vue/test-utils";
|
|
import Modal from "./modal";
|
|
|
|
describe("modal.vue", () => {
|
|
it("Should display header text when HeaderText is defined in the CMS", async () => {
|
|
// Act
|
|
const wrapper = shallowMount(Modal, {
|
|
mixins: [mockMixin],
|
|
props: {
|
|
cmsWidgetName: "test",
|
|
},
|
|
attachTo: document.body,
|
|
});
|
|
expect(wrapper.html()).toEqual(expect.stringContaining(mockCmsContent["HeaderText"]));
|
|
});
|
|
|
|
it("Should display subheader text when SubheaderText is defined in the CMS", async () => {
|
|
// Act
|
|
const wrapper = shallowMount(Modal, {
|
|
mixins: [mockMixin],
|
|
props: {
|
|
cmsWidgetName: "test",
|
|
},
|
|
attachTo: document.body,
|
|
});
|
|
expect(wrapper.html()).toEqual(expect.stringContaining(mockCmsContent["SubheaderText"]));
|
|
});
|
|
|
|
it("Should insert image url when Image is defined in the CMS", async () => {
|
|
// Act
|
|
const wrapper = shallowMount(Modal, {
|
|
mixins: [mockMixin],
|
|
props: {
|
|
cmsWidgetName: "test",
|
|
},
|
|
attachTo: document.body,
|
|
});
|
|
expect(wrapper.html()).toEqual(expect.stringContaining(mockCmsContent["Image"]));
|
|
});
|
|
|
|
it("Should display body text when BodyText is defined in the CMS", async () => {
|
|
// Act
|
|
const wrapper = shallowMount(Modal, {
|
|
mixins: [mockMixin],
|
|
props: {
|
|
cmsWidgetName: "test",
|
|
},
|
|
attachTo: document.body,
|
|
});
|
|
expect(wrapper.html()).toEqual(expect.stringContaining(mockCmsContent["BodyText"]));
|
|
});
|
|
});
|
|
|
|
const mockMixin = {
|
|
methods: {
|
|
getCmsContent: jest.fn((widgetName, cmsFieldName) => {
|
|
return mockCmsContent[cmsFieldName];
|
|
}),
|
|
},
|
|
};
|
|
|
|
const mockCmsContent = {
|
|
HeaderText: "Sample header text here.",
|
|
SubheaderText: "Sample subheader text here.",
|
|
Image: "https://www.sampleImage.sample",
|
|
BodyText: "Sample body text here.",
|
|
FooterText: "Sample footer text here.",
|
|
};
|