0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-30 20:33:54 -05:00
logto/packages/core/src/routes/setting.test.ts
2022-10-21 14:03:35 +08:00

40 lines
1.1 KiB
TypeScript

import type { Setting, CreateSetting } from '@logto/schemas';
import { mockSetting } from '@/__mocks__';
import { createRequester } from '@/utils/test-utils';
import settingRoutes from './setting';
jest.mock('@/queries/setting', () => ({
getSetting: jest.fn(async (): Promise<Setting> => mockSetting),
updateSetting: jest.fn(
async (data: Partial<CreateSetting>): Promise<Setting> => ({
...mockSetting,
...data,
})
),
}));
describe('settings routes', () => {
const roleRequester = createRequester({ authedRoutes: settingRoutes });
it('GET /settings', async () => {
const response = await roleRequester.get('/settings');
expect(response.status).toEqual(200);
const { id, ...rest } = mockSetting;
expect(response.body).toEqual(rest);
});
it('PATCH /settings', async () => {
const { adminConsole } = mockSetting;
const response = await roleRequester.patch('/settings').send({
adminConsole,
});
expect(response.status).toEqual(200);
expect(response.body).toEqual({
adminConsole,
});
});
});