61 lines
1.6 KiB
TypeScript
61 lines
1.6 KiB
TypeScript
import { beforeEach, describe, expect, it, vi } from 'vitest'
|
|
|
|
const post = vi.fn()
|
|
|
|
vi.mock('@/api/client', () => ({
|
|
apiClient: {
|
|
post
|
|
}
|
|
}))
|
|
|
|
describe('oauth adoption auth api', () => {
|
|
beforeEach(() => {
|
|
post.mockReset()
|
|
post.mockResolvedValue({ data: {} })
|
|
})
|
|
|
|
it('posts adoption decisions when exchanging pending oauth completion', async () => {
|
|
const { exchangePendingOAuthCompletion } = await import('@/api/auth')
|
|
|
|
await exchangePendingOAuthCompletion({
|
|
adoptDisplayName: false,
|
|
adoptAvatar: true
|
|
})
|
|
|
|
expect(post).toHaveBeenCalledWith('/auth/oauth/pending/exchange', {
|
|
adopt_display_name: false,
|
|
adopt_avatar: true
|
|
})
|
|
})
|
|
|
|
it('posts linuxdo invitation completion with adoption decisions', async () => {
|
|
const { completeLinuxDoOAuthRegistration } = await import('@/api/auth')
|
|
|
|
await completeLinuxDoOAuthRegistration('invite-code', {
|
|
adoptDisplayName: true,
|
|
adoptAvatar: false
|
|
})
|
|
|
|
expect(post).toHaveBeenCalledWith('/auth/oauth/linuxdo/complete-registration', {
|
|
invitation_code: 'invite-code',
|
|
adopt_display_name: true,
|
|
adopt_avatar: false
|
|
})
|
|
})
|
|
|
|
it('posts oidc invitation completion with adoption decisions', async () => {
|
|
const { completeOIDCOAuthRegistration } = await import('@/api/auth')
|
|
|
|
await completeOIDCOAuthRegistration('invite-code', {
|
|
adoptDisplayName: false,
|
|
adoptAvatar: true
|
|
})
|
|
|
|
expect(post).toHaveBeenCalledWith('/auth/oauth/oidc/complete-registration', {
|
|
invitation_code: 'invite-code',
|
|
adopt_display_name: false,
|
|
adopt_avatar: true
|
|
})
|
|
})
|
|
})
|