mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
70 lines
1.7 KiB
JavaScript
70 lines
1.7 KiB
JavaScript
import { mount } from '@vue/test-utils'
|
|
import ConfirmRegisterMailFormular from './ConfirmRegisterMailFormular'
|
|
|
|
import { toastErrorSpy, toastSuccessSpy } from '../../test/testSetup'
|
|
|
|
const localVue = global.localVue
|
|
|
|
const apolloMutateMock = jest.fn().mockResolvedValue()
|
|
|
|
const mocks = {
|
|
$t: jest.fn((t) => t),
|
|
$apollo: {
|
|
mutate: apolloMutateMock,
|
|
},
|
|
}
|
|
|
|
const propsData = {
|
|
checked: false,
|
|
email: 'bob@baumeister.de',
|
|
dateLastSend: '',
|
|
}
|
|
|
|
describe('ConfirmRegisterMailFormular', () => {
|
|
let wrapper
|
|
|
|
const Wrapper = () => {
|
|
return mount(ConfirmRegisterMailFormular, { localVue, mocks, propsData })
|
|
}
|
|
|
|
describe('mount', () => {
|
|
beforeEach(() => {
|
|
wrapper = Wrapper()
|
|
})
|
|
|
|
it('has a DIV element with the class.component-confirm-register-mail', () => {
|
|
expect(wrapper.find('.component-confirm-register-mail').exists()).toBeTruthy()
|
|
})
|
|
|
|
describe('send register mail with success', () => {
|
|
beforeEach(() => {
|
|
wrapper.find('button.test-button').trigger('click')
|
|
})
|
|
|
|
it('calls the API with email', () => {
|
|
expect(apolloMutateMock).toBeCalledWith(
|
|
expect.objectContaining({
|
|
variables: { email: 'bob@baumeister.de' },
|
|
}),
|
|
)
|
|
})
|
|
|
|
it('toasts a success message', () => {
|
|
expect(toastSuccessSpy).toBeCalledWith('unregister_mail.success')
|
|
})
|
|
})
|
|
|
|
describe('send register mail with error', () => {
|
|
beforeEach(() => {
|
|
apolloMutateMock.mockRejectedValue({ message: 'OUCH!' })
|
|
wrapper = Wrapper()
|
|
wrapper.find('button.test-button').trigger('click')
|
|
})
|
|
|
|
it('toasts an error message', () => {
|
|
expect(toastErrorSpy).toBeCalledWith('unregister_mail.error')
|
|
})
|
|
})
|
|
})
|
|
})
|