46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
/* @vitest-environment jsdom */
|
|
|
|
import { render, screen } from '@testing-library/react';
|
|
import { createElement } from 'react';
|
|
import { beforeEach, describe, expect, test, vi } from 'vitest';
|
|
|
|
import { PlatformProfileApiKeysModal } from './PlatformProfileApiKeysModal';
|
|
|
|
const listExternalApiKeysMock = vi.hoisted(() => vi.fn());
|
|
|
|
vi.mock('../../services/platform-entry/platformProfileClient', () => ({
|
|
createPlatformProfileExternalApiKey: vi.fn(),
|
|
listPlatformProfileExternalApiKeys: listExternalApiKeysMock,
|
|
revokePlatformProfileExternalApiKey: vi.fn(),
|
|
}));
|
|
|
|
describe('PlatformProfileApiKeysModal', () => {
|
|
beforeEach(() => {
|
|
listExternalApiKeysMock.mockReset();
|
|
});
|
|
|
|
test('将 API Key 时间戳格式化为日期', async () => {
|
|
listExternalApiKeysMock.mockResolvedValueOnce({
|
|
keys: [
|
|
{
|
|
keyId: 'api-key-1',
|
|
name: '外部 API Key',
|
|
keyPrefix: 'tnr_sk_example',
|
|
scopes: ['editor:project'],
|
|
createdAt: '1785913407.182731Z',
|
|
lastUsedAt: null,
|
|
revokedAt: null,
|
|
updatedAt: '1785913407.182731Z',
|
|
},
|
|
],
|
|
});
|
|
|
|
render(createElement(PlatformProfileApiKeysModal, { onClose: vi.fn() }));
|
|
|
|
expect(
|
|
await screen.findByText('创建 2026-08-05 · 最近使用 尚未使用'),
|
|
).toBeTruthy();
|
|
expect(screen.queryByText(/1785913407\.182731Z/u)).toBeNull();
|
|
});
|
|
});
|