feat(*): allow to select auth providers + add multiworkspace with subdomain management (#8656)
## Summary Add support for multi-workspace feature and adjust configurations and states accordingly. - Introduced new state isMultiWorkspaceEnabledState. - Updated ClientConfigProviderEffect component to handle multi-workspace. - Modified GraphQL schema and queries to include multi-workspace related configurations. - Adjusted server environment variables and their respective documentation to support multi-workspace toggle. - Updated server-side logic to handle new multi-workspace configurations and conditions.
This commit is contained in:
@ -0,0 +1,27 @@
|
||||
import { getDomainNameByEmail } from 'src/utils/get-domain-name-by-email';
|
||||
|
||||
describe('getDomainNameByEmail', () => {
|
||||
it('should return the domain name for a valid email', () => {
|
||||
expect(getDomainNameByEmail('user@example.com')).toBe('example.com');
|
||||
});
|
||||
|
||||
it('should throw an error if email is empty', () => {
|
||||
expect(() => getDomainNameByEmail('')).toThrow('Email is required');
|
||||
});
|
||||
|
||||
it('should throw an error if email does not contain "@"', () => {
|
||||
expect(() => getDomainNameByEmail('userexample.com')).toThrow(
|
||||
'Invalid email format',
|
||||
);
|
||||
});
|
||||
|
||||
it('should throw an error if email has more than one "@"', () => {
|
||||
expect(() => getDomainNameByEmail('user@example@com')).toThrow(
|
||||
'Invalid email format',
|
||||
);
|
||||
});
|
||||
|
||||
it('should throw an error if domain part is empty', () => {
|
||||
expect(() => getDomainNameByEmail('user@')).toThrow('Invalid email format');
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,24 @@
|
||||
import { isWorkEmail } from 'src/utils/is-work-email';
|
||||
|
||||
describe('isWorkEmail', () => {
|
||||
it('should return true for a work email', () => {
|
||||
expect(isWorkEmail('user@company.com')).toBe(true);
|
||||
});
|
||||
|
||||
it('should return false for a personal email', () => {
|
||||
expect(isWorkEmail('user@gmail.com')).toBe(false);
|
||||
});
|
||||
|
||||
it('should return false for an empty email string', () => {
|
||||
expect(isWorkEmail('')).toBe(false);
|
||||
});
|
||||
|
||||
it('should return false for an email with undefined domain', () => {
|
||||
// Assuming getDomainNameByEmail(email) returns undefined if no domain.
|
||||
expect(isWorkEmail('user@')).toBe(false);
|
||||
});
|
||||
|
||||
it('should return false for an invalid email format', () => {
|
||||
expect(isWorkEmail('invalid-email')).toBe(false);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user