mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-12 23:35:58 +00:00
58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
import { mount } from '@vue/test-utils'
|
|
import InviteButton from './InviteButton.vue'
|
|
|
|
const stubs = {
|
|
'v-popover': {
|
|
template: '<span><slot /></span>',
|
|
},
|
|
}
|
|
|
|
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, stubs })
|
|
}
|
|
|
|
beforeEach(() => {
|
|
wrapper = Wrapper()
|
|
})
|
|
|
|
it('renders', () => {
|
|
expect(wrapper.find('.invite-button').exists()).toBe(true)
|
|
})
|
|
|
|
it('open popup', () => {
|
|
wrapper.find('.base-button').trigger('click')
|
|
expect(wrapper.find('.invite-button').exists()).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')
|
|
})
|
|
})
|
|
})
|