From 26bbf175a483fbf3da4280acf84cf661e738acc1 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Sun, 25 Apr 2021 17:29:26 +0200 Subject: [PATCH] coverage InviteButton.spec.js --- .../InviteButton/InviteButton.spec.js | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 webapp/components/InviteButton/InviteButton.spec.js diff --git a/webapp/components/InviteButton/InviteButton.spec.js b/webapp/components/InviteButton/InviteButton.spec.js new file mode 100644 index 000000000..e10d98290 --- /dev/null +++ b/webapp/components/InviteButton/InviteButton.spec.js @@ -0,0 +1,56 @@ +import Vue from 'vue' +import { config, mount } from '@vue/test-utils' +import InviteButton from './InviteButton.vue' + +const localVue = global.localVue + +config.stubs['v-popover'] = '' + +describe('InviteButton.vue', () => { + let wrapper + let mocks + let propsData + + beforeEach(() => { + mocks = { + $t: jest.fn(), + navigator: { + clipboard: { + writeText: jest.fn(), + }, + }, + } + propsData = {} + }) + + describe('mount', () => { + const Wrapper = () => { + return mount(InviteButton, { mocks, propsData }) + } + + beforeEach(() => { + wrapper = Wrapper() + }) + + it('renders', () => { + expect(wrapper.contains('.invite-button')).toBe(true) + }) + + it('open popup', () => { + wrapper.find('.base-button').trigger('click') + expect(wrapper.contains('.invite-button')).toBe(true) + }) + + it('invite codes not available', async () => { + wrapper.find('.base-button').trigger('click') //open popup + wrapper.find('.invite-button').trigger('click') //click copy button + expect(mocks.$t).toHaveBeenCalledWith('invite-codes.not-available') + }) + + it.skip('invite codes copied to clipboard', async () => { + wrapper.find('.base-button').trigger('click') //open popup + wrapper.find('.invite-button').trigger('click') //click copy button + expect(mocks.$t).toHaveBeenCalledWith('invite-codes.not-available') + }) + }) +})