DigitalConsumer.FixMyGlass/src/fmg-components/nav-bar/nav-bar.spec.js
Bryan Mauger ce6916658a First pass at desktop max width and breakpoints per page.
Rename funnel-footer to nav-bar.
2023-09-18 16:20:45 -04:00

59 lines
1.7 KiB
JavaScript

import { mount } from "@vue/test-utils";
import navbar from "./nav-bar";
describe("nav-bar.vue", () => {
test("Should emit ForwardClicked on button click", async () => {
// Act
const wrapper = mount(navbar, {
mixins: [mockMixin],
});
wrapper.vm.buttonClick();
// Assert
expect(wrapper.emitted()["ForwardClicked"][0]).toHaveBeenCalled;
});
test("Should emit BackClicked on link click", async () => {
// Act
const wrapper = mount(navbar, {
mixins: [mockMixin],
});
wrapper.vm.linkClick();
// Assert
expect(wrapper.emitted()["BackClicked"][0]).toHaveBeenCalled;
});
test("Should change button text when update button text is called", async () => {
// Act
const wrapper = mount(navbar, {
mixins: [mockMixin],
});
wrapper.vm.updateButtonText("newText");
// Assert
expect(wrapper.componentVM.customButtontext).toBe("newText");
});
test("should run removeLoader fn on buttonMain and return false for onkeydown fn", async () => {
// Arrange
const wrapper = mount(navbar, {
mixins: [mockMixin],
});
// Act
wrapper.vm.$refs.buttonMain.removeLoader = jest.fn();
wrapper.vm.removeLoader();
const spy = jest.spyOn(document, "onkeydown");
document.onkeydown();
// Assert
expect(wrapper.vm.$refs.buttonMain.removeLoader).toHaveBeenCalled();
expect(spy).toReturnWith(true);
});
});
const mockMixin = {
methods: {
getCmsContent: jest.fn(),
getFooterInfoBoxHeight: jest.fn(() => 80),
},
};