mirror of
https://github.com/logto-io/logto.git
synced 2024-12-30 20:33:54 -05:00
40 lines
1.1 KiB
TypeScript
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,
|
|
});
|
|
});
|
|
});
|