unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
28 lines • 1.2 kB
JavaScript
import { SYSTEM_USER } from '../../lib/types/index.js';
import { extractUserIdFromUser, extractUsernameFromUser, } from './extract-user.js';
describe('extractUsernameFromUser', () => {
test('Should return the email if it exists', () => {
const user = {
email: 'ratatoskr@yggdrasil.com',
username: 'ratatoskr',
};
expect(extractUsernameFromUser(user)).toBe(user.email);
});
test('Should return the username if it exists and email does not', () => {
const user = {
username: 'ratatoskr',
};
expect(extractUsernameFromUser(user)).toBe(user.username);
});
test('Should return the system user if neither email nor username exists', () => {
const user = {};
expect(extractUsernameFromUser(user)).toBe(SYSTEM_USER.username);
expect(extractUserIdFromUser(user)).toBe(SYSTEM_USER.id);
});
test('Should return the system user if user is null', () => {
const user = null;
expect(extractUsernameFromUser(user)).toBe(SYSTEM_USER.username);
expect(extractUserIdFromUser(user)).toBe(SYSTEM_USER.id);
});
});
//# sourceMappingURL=extract-user.test.js.map