import NotificationBell from '../NotificationBell'; import { createLocalVue, shallowMount } from '@vue/test-utils'; import Vuex from 'vuex'; import VueI18n from 'vue-i18n'; import i18n from 'dashboard/i18n'; const localVue = createLocalVue(); localVue.use(Vuex); localVue.use(VueI18n); const i18nConfig = new VueI18n({ locale: 'en', messages: i18n, }); describe('notificationBell', () => { const accountId = 1; const notificationMetadata = { unreadCount: 19 }; let store = null; let actions = null; let modules = null; beforeEach(() => { actions = { showNotification: jest.fn(), }; modules = { auth: { getters: { getCurrentAccountId: () => accountId, }, }, notifications: { getters: { 'notifications/getMeta': () => notificationMetadata, }, }, }; store = new Vuex.Store({ actions, modules, }); }); it('it should return unread count 19 ', () => { const notificationBell = shallowMount(NotificationBell, { store, localVue, i18n: i18nConfig, }); const statusViewTitle = notificationBell.find('primary-nav-item-stub'); expect(statusViewTitle.vm.count).toBe('19'); }); it('it should return unread count 99+ ', async () => { notificationMetadata.unreadCount = 101; const notificationBell = shallowMount(NotificationBell, { store, localVue, i18n: i18nConfig, }); const statusViewTitle = notificationBell.find('primary-nav-item-stub'); expect(statusViewTitle.vm.count).toBe('99+'); }); });