import Vue from 'vue'; import noteSignedOut from '~/notes/components/note_signed_out_widget.vue'; import createStore from '~/notes/stores'; import { notesDataMock } from '../mock_data'; describe('note_signed_out_widget component', () => { let store; let vm; beforeEach(() => { const Component = Vue.extend(noteSignedOut); store = createStore(); store.dispatch('setNotesData', notesDataMock); vm = new Component({ store, }).$mount(); }); afterEach(() => { vm.$destroy(); }); it('should render sign in link provided in the store', () => { expect(vm.$el.querySelector(`a[href="${notesDataMock.newSessionPath}"]`).textContent).toEqual( 'sign in', ); }); it('should render register link provided in the store', () => { expect(vm.$el.querySelector(`a[href="${notesDataMock.registerPath}"]`).textContent).toEqual( 'register', ); }); it('should render information text', () => { expect(vm.$el.textContent.replace(/\s+/g, ' ').trim()).toEqual( 'Please register or sign in to reply', ); }); });