DigitalConsumer.FixMyGlass/src/ux-components/alert/alert.spec.js

71 lines
No EOL
1.6 KiB
JavaScript

import { shallowMount } from "@vue/test-utils";
import alert from "./alert";
describe("alert.vue", () => {
it("Should add class 'alert-dismissible' if isDismissible is true", async () => {
// Arrange
const wrapper = shallowMount(alert, {
propsData: {
isDismissible: true
},
computed: {
splitAlertCopyForLink: {
get() {
return "TEST";
},
}
},
mixins: [mockMixin]
});
const wrapperDiv = wrapper.find('div');
// Assert
expect(wrapperDiv.classes()).toContain('alert-dismissible')
});
it("Should add specified alert class", async () => {
// Arrange
const wrapper = shallowMount(alert, {
propsData: {
alertClass: 'warning'
},
computed: {
splitAlertCopyForLink: {
get() {
return "TEST";
},
}
},
mixins: [mockMixin]
});
const wrapperDiv = wrapper.find('div');
// Assert
expect(wrapperDiv.classes()).toContain('warning')
});
it("Should update alert Headline to manualHeadline datam entered and alert copy to manualCopy datam entered when no cmsWidgetName entered", async () => {
// Arrange
const wrapper = shallowMount(alert, {
propsData: {
manualHeadline: 'testHeader',
manualCopy: 'testCopy'
},
mixins: [mockMixin]
});
// Assert
expect(wrapper.vm.alertHeadline).toBe("testHeader");
expect(wrapper.vm.alertCopy).toBe("testCopy");
});
});
const mockMixin = {
methods: {
getCmsContent: jest.fn()
}
}