// Components import paymentMethod from '@/layouts/payment-method/payment-method.vue'; // Supporting Files import { shallowMount } from '@vue/test-utils'; import { getMountOptions } from '@/helpers/unit-test-helper.js'; import { useMainStore } from '@/store'; import paymentMethods from '@/constants/payment-method-constants'; function setupMocks() { const mountOptions = getMountOptions(); const wrapper = shallowMount(paymentMethod, mountOptions); return { wrapper }; } describe('payment-method.vue', () => { test('getting payment method when method is pay later', async () => { // Arrange const { wrapper } = setupMocks(); const payLaterPaymentMethod = paymentMethods.PAY_AT_TIME_OF_SERVICE; useMainStore().savePaymentMethodChoice(payLaterPaymentMethod); // Act const paymethod = wrapper.vm.getPaymentMethodFromStore(); // Assert expect(paymethod).toBe(payLaterPaymentMethod); }); test('getting payment method when method is pay in advance', async () => { // Arrange const { wrapper } = setupMocks(); const payInAdvancePaymentMethod = paymentMethods.CREDIT_CARD; useMainStore().savePaymentMethodChoice(payInAdvancePaymentMethod); // Act const paymethod = wrapper.vm.getPaymentMethodFromStore(); // Assert expect(paymethod).not.toBe(payInAdvancePaymentMethod); }); });