CASH-245 | Add insurance-company unit tests

Renamed the file
Built the necessary scaffolding to run tests
wrote tests covering the pay on my own back button
Wrote two other simple tests to help test the scaffolding
This commit is contained in:
Scott Kiener 2025-02-18 09:24:53 -05:00
parent 3b878c020d
commit 946c44a251
2 changed files with 105 additions and 3 deletions

View file

@ -1,3 +0,0 @@
describe("insurance-company.vue", () => {
it.todo("Some test for the future");
});

View file

@ -0,0 +1,105 @@
import { shallowMount } from '@vue/test-utils';
import InsuranceCompany from '@/layouts/insurance-company/insurance-company.vue';
import { applicationConfig } from '@/constants/application-config.js';
import store from "@/store";
import baseMixin from "@/mixins/base-mixin.js";
jest.mock('@/store', () => ({
getters: {
order: {
payment: {
parentAccountNumber: '12345',
},
},
},
}));
var mockRouter = {
navigateWithoutSaving: jest.fn(),
};
jest.mock('@/mixins/base-mixin.js', () => ({
methods: {
navigateWithoutSaving: jest.fn(),
},
data() {
return {
navigationScenarios: {
CLICKED_BACK: 'clicked_back',
},
};
},
}));
describe("insurance-company.vue", () => {
beforeEach(() => {
// Reset the store's parentAccountNumber before each test
store.getters.order.payment.parentAccountNumber = '12345';
});
test('should return true when parentAccountNumber matches CASH_PARENT_ACCOUNT_NUMBER', () => {
applicationConfig.CASH_PARENT_ACCOUNT_NUMBER = "12345";
const wrapper = shallowMount(InsuranceCompany, {
global: {
mocks: {
$store: store
},
},
});
expect(wrapper.vm.isCashParentAccountNumber()).toBe(true);
});
test('should return false when parentAccountNumber does not match CASH_PARENT_ACCOUNT_NUMBER', () => {
applicationConfig.CASH_PARENT_ACCOUNT_NUMBER = "12345";
store.getters.order.payment.parentAccountNumber = '67890';
const wrapper = shallowMount(InsuranceCompany, {
global: {
mocks: {
$store: store,
},
},
});
expect(wrapper.vm.isCashParentAccountNumber()).toBe(false);
});
test('should call navigateWithoutSaving with { isCashSelected: true } when forceCashSelection is true', () => {
const wrapper = shallowMount(InsuranceCompany, {
global: {
mocks: {
$store: store,
$router: mockRouter,
},
mixins: [baseMixin],
},
});
wrapper.vm.backButtonAction(true);
expect(mockRouter.navigateWithoutSaving).toHaveBeenCalledWith(
wrapper.vm.navigationScenarios.CLICKED_BACK,
wrapper.vm.$route,
{ isCashSelected: true }
);
});
test('should call navigateWithoutSaving with no extra parameter when forceCashSelection is false', () => {
const wrapper = shallowMount(InsuranceCompany, {
global: {
mocks: {
$store: store,
$router: mockRouter,
},
mixins: [baseMixin],
},
});
wrapper.vm.backButtonAction(false);
expect(mockRouter.navigateWithoutSaving).toHaveBeenCalledWith(
wrapper.vm.navigationScenarios.CLICKED_BACK,
wrapper.vm.$route
);
});
});