mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-21 02:40:14 +01:00
* refactor: Update staticCache to use oneDayInSeconds for sMaxAge and maxAge * refactor: role updates * style: first pass cursor * style: Update nested list styles in style.css * feat: setIsSubmitting to true in message handler to prevent edge case where submitting turns false during message stream * feat: Add logic to redirect to conversation page after creating a new conversation * refactor: Trim code string before copying in CodeBlock component * feat: configSchema bookmarks and presets defaults * feat: Update loadDefaultInterface to handle undefined config * refactor: use for compression check * feat: first pass, query params * fix: styling issues for prompt cards * feat: anthropic prompt caching UI switch * chore: Update static file cache control defaults/comments in .env.example * ci: fix tests * ci: fix tests * chore: use "submitting" class server error connection suspense fallback
81 lines
3.3 KiB
JavaScript
81 lines
3.3 KiB
JavaScript
const { SystemRoles, Permissions, PermissionTypes } = require('librechat-data-provider');
|
|
const { updateAccessPermissions } = require('~/models/Role');
|
|
const { loadDefaultInterface } = require('./interface');
|
|
|
|
jest.mock('~/models/Role', () => ({
|
|
updateAccessPermissions: jest.fn(),
|
|
}));
|
|
|
|
describe('loadDefaultInterface', () => {
|
|
it('should call updateAccessPermissions with the correct parameters when prompts and bookmarks are true', async () => {
|
|
const config = { interface: { prompts: true, bookmarks: true } };
|
|
const configDefaults = { interface: {} };
|
|
|
|
await loadDefaultInterface(config, configDefaults);
|
|
|
|
expect(updateAccessPermissions).toHaveBeenCalledWith(SystemRoles.USER, {
|
|
[PermissionTypes.PROMPTS]: { [Permissions.USE]: true },
|
|
[PermissionTypes.BOOKMARKS]: { [Permissions.USE]: true },
|
|
});
|
|
});
|
|
|
|
it('should call updateAccessPermissions with false when prompts and bookmarks are false', async () => {
|
|
const config = { interface: { prompts: false, bookmarks: false } };
|
|
const configDefaults = { interface: {} };
|
|
|
|
await loadDefaultInterface(config, configDefaults);
|
|
|
|
expect(updateAccessPermissions).toHaveBeenCalledWith(SystemRoles.USER, {
|
|
[PermissionTypes.PROMPTS]: { [Permissions.USE]: false },
|
|
[PermissionTypes.BOOKMARKS]: { [Permissions.USE]: false },
|
|
});
|
|
});
|
|
|
|
it('should call updateAccessPermissions with undefined when prompts and bookmarks are not specified in config', async () => {
|
|
const config = {};
|
|
const configDefaults = { interface: {} };
|
|
|
|
await loadDefaultInterface(config, configDefaults);
|
|
|
|
expect(updateAccessPermissions).toHaveBeenCalledWith(SystemRoles.USER, {
|
|
[PermissionTypes.PROMPTS]: { [Permissions.USE]: undefined },
|
|
[PermissionTypes.BOOKMARKS]: { [Permissions.USE]: undefined },
|
|
});
|
|
});
|
|
|
|
it('should call updateAccessPermissions with undefined when prompts and bookmarks are explicitly undefined', async () => {
|
|
const config = { interface: { prompts: undefined, bookmarks: undefined } };
|
|
const configDefaults = { interface: {} };
|
|
|
|
await loadDefaultInterface(config, configDefaults);
|
|
|
|
expect(updateAccessPermissions).toHaveBeenCalledWith(SystemRoles.USER, {
|
|
[PermissionTypes.PROMPTS]: { [Permissions.USE]: undefined },
|
|
[PermissionTypes.BOOKMARKS]: { [Permissions.USE]: undefined },
|
|
});
|
|
});
|
|
|
|
it('should call updateAccessPermissions with mixed values for prompts and bookmarks', async () => {
|
|
const config = { interface: { prompts: true, bookmarks: false } };
|
|
const configDefaults = { interface: {} };
|
|
|
|
await loadDefaultInterface(config, configDefaults);
|
|
|
|
expect(updateAccessPermissions).toHaveBeenCalledWith(SystemRoles.USER, {
|
|
[PermissionTypes.PROMPTS]: { [Permissions.USE]: true },
|
|
[PermissionTypes.BOOKMARKS]: { [Permissions.USE]: false },
|
|
});
|
|
});
|
|
|
|
it('should call updateAccessPermissions with true when config is undefined', async () => {
|
|
const config = undefined;
|
|
const configDefaults = { interface: { prompts: true, bookmarks: true } };
|
|
|
|
await loadDefaultInterface(config, configDefaults);
|
|
|
|
expect(updateAccessPermissions).toHaveBeenCalledWith(SystemRoles.USER, {
|
|
[PermissionTypes.PROMPTS]: { [Permissions.USE]: true },
|
|
[PermissionTypes.BOOKMARKS]: { [Permissions.USE]: true },
|
|
});
|
|
});
|
|
});
|