0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-03-31 22:51:25 -05:00

fix(core): fix sign-in settings api route (#564)

* fix(core): fix sign-in settings api route

fix sign-in settings api route

* test(ui): add ut

add ut

* fix(core): fix ut

fix ut
This commit is contained in:
simeng-li 2022-04-18 15:24:34 +08:00 committed by GitHub
parent 3da3309cbf
commit f1576b9916
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 21 deletions

View file

@ -1,8 +1,10 @@
/* eslint-disable max-lines */
import { Provider } from 'oidc-provider';
import { mockSignInExperience } from '@/__mocks__';
import { ConnectorType } from '@/connectors/types';
import RequestError from '@/errors/RequestError';
import * as signInExperienceQueries from '@/queries/sign-in-experience';
import { createRequester } from '@/utils/test-utils';
import sessionRoutes from './session';
@ -860,6 +862,19 @@ describe('sessionRoutes', () => {
});
});
describe('GET /sign-in-settings', () => {
const signInExperienceQuerySpon = jest
.spyOn(signInExperienceQueries, 'findDefaultSignInExperience')
.mockResolvedValue(mockSignInExperience);
it('should call findDefaultSignInExperience', async () => {
const response = await sessionRequest.get('/sign-in-settings');
expect(signInExperienceQuerySpon).toHaveBeenCalledTimes(1);
expect(response.status).toEqual(200);
expect(response.body).toEqual(mockSignInExperience);
});
});
it('DELETE /session', async () => {
const response = await sessionRequest.delete('/session');
expect(response.body).toHaveProperty('redirectTo');

View file

@ -19,6 +19,7 @@ import {
} from '@/lib/social';
import { encryptUserPassword, generateUserId, findUserByUsernameAndPassword } from '@/lib/user';
import koaGuard from '@/middleware/koa-guard';
import { findDefaultSignInExperience } from '@/queries/sign-in-experience';
import {
hasUserWithEmail,
hasUserWithPhone,
@ -518,5 +519,13 @@ export default function sessionRoutes<T extends AnonymousRouter>(router: T, prov
return next();
});
router.get('/sign-in-settings', async (ctx, next) => {
// TODO: Social Connector Details
const signInExperience = await findDefaultSignInExperience();
ctx.body = signInExperience;
return next();
});
}
/* eslint-enable max-lines */

View file

@ -78,19 +78,6 @@ describe('GET /sign-in-exp', () => {
});
});
describe('GET /sign-in-settings', () => {
afterAll(() => {
jest.clearAllMocks();
});
it('should call findDefaultSignInExperience', async () => {
const response = await signInExperienceRequester.get('/sign-in-settings');
expect(findDefaultSignInExperience).toHaveBeenCalledTimes(1);
expect(response.status).toEqual(200);
expect(response.body).toEqual(mockSignInExperience);
});
});
describe('PATCH /sign-in-exp', () => {
it('should not update social connector ids when social sign-in is disabled', async () => {
const signInMethods = { ...mockSignInMethods, social: SignInMethodState.Disabled };

View file

@ -41,14 +41,6 @@ export default function signInExperiencesRoutes<T extends AuthedRouter>(router:
return next();
});
router.get('/sign-in-settings', async (ctx, next) => {
// TODO: Social Connector Details
const signInExperience = await findDefaultSignInExperience();
ctx.body = signInExperience;
return next();
});
router.patch(
'/sign-in-exp',
koaGuard({