describe('Login.vue', () => { it('renders login screen', async () => { const wrapper = mount(Login, { localVue, router }) wrapper.find('button').trigger('click') await flushPromises() expect(wrapper).toMatchSnapshot() }) })
test('Components - Pure Button - Disabled', () => { const button = mount(PureButton) button.setProps({ disabled: true }) button.vm.$on('click', () => { throw new Error('failed') }) button.trigger('click') })
it('renders form errors', () => { wrapper = Wrapper() wrapper.find('form').trigger('submit') expect(mocks.$router.replace).not.toHaveBeenCalled() }) wrapper = Wrapper() wrapper.find('#nonce').setValue('foobar') wrapper.find('form').trigger('submit') expect(mocks.$router.replace).toHaveBeenCalled() })
test('Components - Pure Button - Simple', done => { const button = mount(PureButton, { slots: { default: '<div>Click me!</div>' } }) button.setProps({ color: 'red' }) button.vm.$on('click', () => { done() }) expect(button.html()).toContain('Click me!') expect(button.html()).toContain('b--red') button.trigger('click') })
const wrapper = Wrapper() happyEmotionButton = wrapper.findAll('.emotion-button > .base-button').at(1) happyEmotionButton.trigger('click') expect(mutations['posts/TOGGLE_EMOTION']).toHaveBeenCalledWith({}, 'happy') }) wrapper = await Wrapper() const allEmotionsButton = wrapper.find('.emotions-filter .sidebar .base-button') allEmotionsButton.trigger('click') expect(mutations['posts/RESET_EMOTIONS']).toHaveBeenCalledTimes(1) })
expectedParams.variables.content = postContent wrapper.vm.updateEditorContent(postContent) await wrapper.find('form').trigger('submit') expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expect.objectContaining(expectedParams)) }) .find(CategoriesSelect) .find('[data-test="category-buttons-cat3"]') healthWellbeingButton.trigger('click') await wrapper.find('form').trigger('submit') expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expect.objectContaining(expectedParams)) }) propsData.contribution.image = { url: '/uploads/someimage.png' } wrapper = Wrapper() wrapper.find('[data-test="delete-button"]').trigger('click') await wrapper.find('form').trigger('submit') expect(mocks.$apollo.mutate).toHaveBeenCalledWith(expect.objectContaining(expectedParams)) })
.filter((item) => item.text() === 'report.contribution.title') .at(0) .trigger('click') expect(openModalSpy).toHaveBeenCalledWith('report') }) .filter((item) => item.text() === 'report.comment.title') .at(0) .trigger('click') expect(openModalSpy).toHaveBeenCalledWith('report') }) .filter((item) => item.text() === 'report.user.title') .at(0) .trigger('click') expect(openModalSpy).toHaveBeenCalledWith('report') }) .filter((item) => item.text() === 'report.organization.title') .at(0) .trigger('click') expect(openModalSpy).toHaveBeenCalledWith('report') })
it('calls TOGGLE_CATEGORY when clicked', () => { environmentAndNatureButton = wrapper.findAll('.categories-filter .item .base-button').at(0) environmentAndNatureButton.trigger('click') expect(mutations['posts/TOGGLE_CATEGORY']).toHaveBeenCalledWith({}, 'cat4') }) wrapper = await Wrapper() const allCategoriesButton = wrapper.find('.categories-filter .sidebar .base-button') allCategoriesButton.trigger('click') expect(mutations['posts/RESET_CATEGORIES']).toHaveBeenCalledTimes(1) })
.findAll('.languages-filter .item .base-button') .at(languages.findIndex((l) => l.code === 'en')) englishButton.trigger('click') expect(mutations['posts/TOGGLE_LANGUAGE']).toHaveBeenCalledWith({}, 'en') }) wrapper = await Wrapper() const allLanguagesButton = wrapper.find('.languages-filter .sidebar .base-button') allLanguagesButton.trigger('click') expect(mutations['posts/RESET_LANGUAGES']).toHaveBeenCalledTimes(1) })
.filter((item) => item.text() === 'post.menu.pin') .at(0) .trigger('click') expect(wrapper.emitted('pinPost')).toEqual([ .filter((item) => item.text() === 'post.menu.unpin') .at(0) .trigger('click') expect(wrapper.emitted('unpinPost')).toEqual([ .filter((item) => item.text() === 'settings.deleteUserAccount.name') .at(0) .trigger('click') expect(wrapper.emitted('delete')).toEqual([