Skip to content

Commit

Permalink
🔧 fix: socialLogins default value (#1730)
Browse files Browse the repository at this point in the history
* fix: socialLogins default value

* ci: add test for `AppService`
  • Loading branch information
danny-avila authored Feb 5, 2024
1 parent a2c35e8 commit f30d6bd
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 1 deletion.
2 changes: 1 addition & 1 deletion api/server/services/AppService.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const paths = require('~/config/paths');
const AppService = async (app) => {
/** @type {TCustomConfig}*/
const config = (await loadCustomConfig()) ?? {};
const socialLogins = config.registration.socialLogins ?? [
const socialLogins = config?.registration?.socialLogins ?? [
'google',
'facebook',
'openid',
Expand Down
51 changes: 51 additions & 0 deletions api/server/services/AppService.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
const { FileSources } = require('librechat-data-provider');

const AppService = require('./AppService');

jest.mock('./Config/loadCustomConfig', () => {
return jest.fn(() =>
Promise.resolve({
registration: { socialLogins: ['testLogin'] },
fileStrategy: 'testStrategy',
}),
);
});
jest.mock('./Files/Firebase/initialize', () => ({
initializeFirebase: jest.fn(),
}));

describe('AppService', () => {
let app;

beforeEach(() => {
app = { locals: {} };
process.env.CDN_PROVIDER = undefined;
});

it('should correctly assign process.env and app.locals based on custom config', async () => {
await AppService(app);

expect(process.env.CDN_PROVIDER).toEqual('testStrategy');

expect(app.locals).toEqual({
socialLogins: ['testLogin'],
fileStrategy: 'testStrategy',
paths: expect.anything(),
});
});

it('should initialize Firebase when fileStrategy is firebase', async () => {
require('./Config/loadCustomConfig').mockImplementationOnce(() =>
Promise.resolve({
fileStrategy: FileSources.firebase,
}),
);

await AppService(app);

const { initializeFirebase } = require('./Files/Firebase/initialize');
expect(initializeFirebase).toHaveBeenCalled();

expect(process.env.CDN_PROVIDER).toEqual(FileSources.firebase);
});
});

0 comments on commit f30d6bd

Please sign in to comment.