2022-07-21 01:54:11 -05:00
|
|
|
import {
|
|
|
|
enableConnector,
|
|
|
|
getConnector,
|
|
|
|
listConnectors,
|
|
|
|
updateConnectorConfig,
|
|
|
|
} from '@/connector-api';
|
|
|
|
|
|
|
|
const facebookConnectorId = 'facebook-universal';
|
|
|
|
const facebookConnectorConfig = {
|
|
|
|
clientId: 'application_foo',
|
|
|
|
clientSecret: 'secret_bar',
|
|
|
|
};
|
2022-07-21 01:21:05 -05:00
|
|
|
|
|
|
|
test('connector flow', async () => {
|
|
|
|
// List connectors after initializing a new Logto instance
|
2022-07-21 01:54:11 -05:00
|
|
|
const allConnectors = await listConnectors();
|
2022-07-21 01:21:05 -05:00
|
|
|
|
|
|
|
// There should be no connectors, or all connectors should be disabled.
|
2022-07-21 01:54:11 -05:00
|
|
|
for (const connectorDto of allConnectors) {
|
2022-07-21 01:21:05 -05:00
|
|
|
expect(connectorDto.enabled).toBeFalsy();
|
|
|
|
}
|
|
|
|
|
2022-07-21 01:54:11 -05:00
|
|
|
// Set up a social connector
|
|
|
|
const updatedFacebookConnector = await updateConnectorConfig(
|
|
|
|
facebookConnectorId,
|
|
|
|
facebookConnectorConfig
|
|
|
|
);
|
|
|
|
expect(updatedFacebookConnector.config).toEqual(facebookConnectorConfig);
|
|
|
|
const enabledFacebookConnector = await enableConnector(facebookConnectorId);
|
|
|
|
expect(enabledFacebookConnector.enabled).toBeTruthy();
|
|
|
|
|
|
|
|
// The result of getting a connector should be same as the result of updating a connector above.
|
|
|
|
const facebookConnector = await getConnector(facebookConnectorId);
|
|
|
|
expect(facebookConnector.enabled).toBeTruthy();
|
|
|
|
expect(facebookConnector.config).toEqual(facebookConnectorConfig);
|
|
|
|
|
|
|
|
// Next up:
|
|
|
|
// - set up an SMS connector and then change to another SMS connector
|
|
|
|
// - set up an email connector and then change to another email connector
|
|
|
|
// - validate wrong connector config
|
|
|
|
// - send sms/email test message
|
|
|
|
// - list all connectors after manually setting up connectors
|
2022-07-21 01:21:05 -05:00
|
|
|
});
|