blessing-skin-server/resources/assets/tests/views/user/profile/deleteAccount.test.ts
2025-01-19 14:16:55 +08:00

36 lines
1019 B
TypeScript

import {post} from '@/scripts/net';
import {showModal} from '@/scripts/notify';
import handler from '@/views/user/profile/deleteAccount';
import {expect, vi} from 'vitest';
import {flushPromises} from '../../../utils';
vi.mock('@/scripts/notify');
vi.mock('@/scripts/net');
it('delete account', async () => {
post
.mockResolvedValueOnce({code: 1, message: 'w'})
.mockResolvedValue({code: 0, message: 'o'});
const form = document.createElement('form');
form.addEventListener('submit', handler);
const password = document.createElement('input');
password.name = 'password';
password.value = 'abc';
form.append(password);
form.password = password;
const event = new Event('submit');
form.dispatchEvent(event);
await flushPromises();
expect(post).toBeCalledWith('/user/profile?action=delete', {
password: 'abc',
});
expect(showModal).toBeCalledWith({mode: 'alert', text: 'w'});
form.dispatchEvent(event);
await flushPromises();
expect(showModal).toBeCalledWith({mode: 'alert', text: 'o'});
});