60 lines
1.7 KiB
JavaScript
60 lines
1.7 KiB
JavaScript
import { shallowMount } from "@vue/test-utils";
|
|
import TextBlock from "./text-block";
|
|
|
|
|
|
describe("modal.vue", () => {
|
|
it("Should display 'Text' when 'Text' is defined in the CMS", async () => {
|
|
// Act
|
|
const wrapper = shallowMount(TextBlock, {
|
|
mixins: [mockMixin]
|
|
});
|
|
expect(wrapper.html()).toEqual(expect.stringContaining(mockCmsContent['Text']));
|
|
});
|
|
|
|
it("Should contain the typeStyle class as defined by the prop", async () => {
|
|
// Act
|
|
const wrapper = shallowMount(TextBlock, {
|
|
mixins: [mockMixin],
|
|
propsData: mockProps,
|
|
});
|
|
expect(wrapper.html()).toEqual(expect.stringContaining(mockProps['typeStyle']));
|
|
});
|
|
it("Should contain the justifyText class as defined by the prop", async () => {
|
|
// Act
|
|
const wrapper = shallowMount(TextBlock, {
|
|
mixins: [mockMixin],
|
|
propsData: mockProps,
|
|
});
|
|
expect(wrapper.html()).toEqual(expect.stringContaining(mockProps['justifyText']));
|
|
});
|
|
it("Should contain the fontWeight class as defined by the prop", async () => {
|
|
// Act
|
|
const wrapper = shallowMount(TextBlock, {
|
|
mixins: [mockMixin],
|
|
propsData: mockProps,
|
|
});
|
|
expect(wrapper.html()).toEqual(expect.stringContaining(mockProps['fontWeight']));
|
|
});
|
|
});
|
|
|
|
///////////////
|
|
// Constants //
|
|
///////////////
|
|
|
|
const mockMixin = {
|
|
methods: {
|
|
getCmsContent: jest.fn((widgetName, cmsFieldName) => {
|
|
return mockCmsContent[cmsFieldName];
|
|
})
|
|
}
|
|
}
|
|
|
|
const mockProps = {
|
|
fontWeight: 'mockFontWeight',
|
|
typeStyle: 'mockTypeStyle',
|
|
justifyText: 'mockJustifyText'
|
|
}
|
|
|
|
const mockCmsContent = {
|
|
'Text': "Sample text here.",
|
|
}
|