56bd71c063
to be static
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { flushPromises } from '../../../utils'
|
|
import { showModal } from '@/scripts/notify'
|
|
import { post } from '@/scripts/net'
|
|
import handler from '@/views/user/profile/email'
|
|
|
|
jest.mock('@/scripts/notify')
|
|
jest.mock('@/scripts/net')
|
|
|
|
test('change email', async () => {
|
|
post
|
|
.mockResolvedValueOnce({ code: 1, message: 'w' })
|
|
.mockResolvedValue({ code: 0, message: 'o' })
|
|
|
|
const form = document.createElement('form')
|
|
form.addEventListener('submit', handler)
|
|
|
|
const email = document.createElement('input')
|
|
email.name = 'email'
|
|
email.value = 'a@b.c'
|
|
form.appendChild(email)
|
|
form.email = email
|
|
|
|
const password = document.createElement('input')
|
|
password.name = 'password'
|
|
password.value = 'abc'
|
|
form.appendChild(password)
|
|
form.password = password
|
|
|
|
const event = new Event('submit')
|
|
form.dispatchEvent(event)
|
|
await flushPromises()
|
|
expect(post).toBeCalledWith(
|
|
'/user/profile?action=email',
|
|
{ new_email: 'a@b.c', password: 'abc' },
|
|
)
|
|
expect(showModal).toBeCalledWith({ mode: 'alert', text: 'w' })
|
|
|
|
form.dispatchEvent(event)
|
|
await flushPromises()
|
|
expect(showModal).toBeCalledWith({ mode: 'alert', text: 'o' })
|
|
})
|