mirror of
https://github.com/logto-io/logto.git
synced 2025-04-07 23:01:25 -05:00
feat: add GET /connector-factories (#2480)
This commit is contained in:
parent
1e0a21a703
commit
c93200f431
3 changed files with 37 additions and 1 deletions
|
@ -23,7 +23,13 @@ import {
|
|||
mockMetadata6,
|
||||
} from './connector-base-data.js';
|
||||
|
||||
export { mockMetadata } from './connector-base-data.js';
|
||||
export {
|
||||
mockMetadata,
|
||||
mockMetadata0,
|
||||
mockMetadata1,
|
||||
mockMetadata2,
|
||||
mockMetadata3,
|
||||
} from './connector-base-data.js';
|
||||
|
||||
export const mockConnector: Connector = {
|
||||
id: 'id',
|
||||
|
|
|
@ -5,6 +5,10 @@ import { any } from 'zod';
|
|||
|
||||
import {
|
||||
mockMetadata,
|
||||
mockMetadata0,
|
||||
mockMetadata1,
|
||||
mockMetadata2,
|
||||
mockMetadata3,
|
||||
mockConnector,
|
||||
mockConnectorFactory,
|
||||
mockLogtoConnectorList,
|
||||
|
@ -81,6 +85,25 @@ describe('connector route', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('GET /connector-factories', () => {
|
||||
it('show all connector factories', async () => {
|
||||
(loadConnectorFactoriesPlaceHolder as jest.Mock).mockResolvedValueOnce([
|
||||
{ ...mockConnectorFactory, metadata: mockMetadata0, type: ConnectorType.Sms },
|
||||
{ ...mockConnectorFactory, metadata: mockMetadata1, type: ConnectorType.Social },
|
||||
{ ...mockConnectorFactory, metadata: mockMetadata2, type: ConnectorType.Email },
|
||||
{ ...mockConnectorFactory, metadata: mockMetadata3, type: ConnectorType.Social },
|
||||
]);
|
||||
const response = await connectorRequest.get('/connector-factories').send({});
|
||||
expect(response.body).toMatchObject([
|
||||
{ ...mockMetadata0, type: ConnectorType.Sms },
|
||||
{ ...mockMetadata1, type: ConnectorType.Social },
|
||||
{ ...mockMetadata2, type: ConnectorType.Email },
|
||||
{ ...mockMetadata3, type: ConnectorType.Social },
|
||||
]);
|
||||
expect(response).toHaveProperty('statusCode', 200);
|
||||
});
|
||||
});
|
||||
|
||||
describe('GET /connectors/:id', () => {
|
||||
afterEach(() => {
|
||||
jest.clearAllMocks();
|
||||
|
|
|
@ -71,6 +71,13 @@ export default function connectorRoutes<T extends AuthedRouter>(router: T) {
|
|||
}
|
||||
);
|
||||
|
||||
router.get('/connector-factories', async (ctx, next) => {
|
||||
const connectorFactories = await loadConnectorFactories();
|
||||
ctx.body = connectorFactories.map(({ metadata, type }) => ({ type, ...metadata }));
|
||||
|
||||
return next();
|
||||
});
|
||||
|
||||
router.get(
|
||||
'/connectors/:id',
|
||||
koaGuard({ params: object({ id: string().min(1) }) }),
|
||||
|
|
Loading…
Add table
Reference in a new issue