koel/resources/assets/js/components/auth/ResetPasswordForm.spec.ts
2024-07-06 17:44:59 +02:00

26 lines
1,015 B
TypeScript

import { screen } from '@testing-library/vue'
import { expect, it } from 'vitest'
import UnitTestCase from '@/__tests__/UnitTestCase'
import { authService } from '@/services'
import ResetPasswordForm from './ResetPasswordForm.vue'
new class extends UnitTestCase {
protected test () {
it('resets password', async () => {
const resetMock = this.mock(authService, 'resetPassword').mockResolvedValue(null)
const loginMock = this.mock(authService, 'login').mockResolvedValue(null)
await this.router.activateRoute({
path: '_',
screen: 'Password.Reset'
}, { payload: 'Zm9vQGJhci5jb218bXktdG9rZW4=' })
this.render(ResetPasswordForm)
await this.type(screen.getByPlaceholderText('New password'), 'new-password')
await this.user.click(screen.getByRole('button', { name: 'Save' }))
expect(resetMock).toHaveBeenCalledWith('foo@bar.com', 'new-password', 'my-token')
expect(loginMock).toHaveBeenCalledWith('foo@bar.com', 'new-password')
})
}
}