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 }) }) })