mirror of
https://github.com/logto-io/logto.git
synced 2025-01-13 21:30:30 -05:00
08bea22195
* chore(deps): upgrade packages * refactor: update per lint report * chore(deps): upgrade configs * fix(ui): lint rules compatibility * chore: remove unused override * chore(deps): upgrade jest config
68 lines
2.3 KiB
TypeScript
68 lines
2.3 KiB
TypeScript
import { LogCondition } from '@/queries/log';
|
|
import logRoutes from '@/routes/log';
|
|
import { createRequester } from '@/utils/test-utils';
|
|
|
|
const mockBody = { type: 'a', payload: {}, createdAt: 123 };
|
|
const mockLog = { id: '1', ...mockBody };
|
|
const mockLogs = [mockLog, { id: '2', ...mockBody }];
|
|
|
|
const countLogs = jest.fn(async (condition: LogCondition) => ({
|
|
count: mockLogs.length,
|
|
}));
|
|
const findLogs = jest.fn(
|
|
async (limit: number, offset: number, condition: LogCondition) => mockLogs
|
|
);
|
|
const findLogById = jest.fn(async (id: string) => mockLog);
|
|
|
|
jest.mock('@/queries/log', () => ({
|
|
countLogs: async (condition: LogCondition) => countLogs(condition),
|
|
findLogs: async (limit: number, offset: number, condition: LogCondition) =>
|
|
findLogs(limit, offset, condition),
|
|
findLogById: async (id: string) => findLogById(id),
|
|
}));
|
|
|
|
describe('logRoutes', () => {
|
|
const logRequest = createRequester({ authedRoutes: logRoutes });
|
|
|
|
afterEach(() => {
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
describe('GET /logs', () => {
|
|
it('should call countLogs and findLogs with correct parameters', async () => {
|
|
const userId = 'userIdValue';
|
|
const applicationId = 'foo';
|
|
const logType = 'SignInUsernamePassword';
|
|
const page = 1;
|
|
const pageSize = 5;
|
|
|
|
await logRequest.get(
|
|
`/logs?userId=${userId}&applicationId=${applicationId}&logType=${logType}&page=${page}&page_size=${pageSize}`
|
|
);
|
|
expect(countLogs).toHaveBeenCalledWith({ userId, applicationId, logType });
|
|
expect(findLogs).toHaveBeenCalledWith(5, 0, { userId, applicationId, logType });
|
|
});
|
|
|
|
it('should return correct response', async () => {
|
|
const response = await logRequest.get(`/logs`);
|
|
expect(response.status).toEqual(200);
|
|
expect(response.body).toEqual(mockLogs);
|
|
expect(response.header).toHaveProperty('total-number', `${mockLogs.length}`);
|
|
});
|
|
});
|
|
|
|
describe('GET /logs/:id', () => {
|
|
const logId = 'logIdValue';
|
|
|
|
it('should call findLogById with correct parameters', async () => {
|
|
await logRequest.get(`/logs/${logId}`);
|
|
expect(findLogById).toHaveBeenCalledWith(logId);
|
|
});
|
|
|
|
it('should return correct response', async () => {
|
|
const response = await logRequest.get(`/logs/${logId}`);
|
|
expect(response.status).toEqual(200);
|
|
expect(response.body).toEqual(mockLog);
|
|
});
|
|
});
|
|
});
|