diff --git a/client/src/shared/lib/__tests__/is-synthetic-email.test.ts b/client/src/shared/lib/__tests__/is-synthetic-email.test.ts new file mode 100644 index 0000000..9aba977 --- /dev/null +++ b/client/src/shared/lib/__tests__/is-synthetic-email.test.ts @@ -0,0 +1,24 @@ +import { describe, expect, it } from 'vitest' +import { isSyntheticEmail } from '../is-synthetic-email' + +describe('isSyntheticEmail', () => { + it('returns true for vk.local domain', () => { + expect(isSyntheticEmail('vk_12345@vk.local')).toBe(true) + }) + + it('returns false for real email', () => { + expect(isSyntheticEmail('user@gmail.com')).toBe(false) + }) + + it('returns false for yandex email', () => { + expect(isSyntheticEmail('user@yandex.ru')).toBe(false) + }) + + it('returns false for empty string', () => { + expect(isSyntheticEmail('')).toBe(false) + }) + + it('returns false for email with vk.local as part of username', () => { + expect(isSyntheticEmail('vk.local@gmail.com')).toBe(false) + }) +}) diff --git a/client/src/shared/lib/is-synthetic-email.ts b/client/src/shared/lib/is-synthetic-email.ts new file mode 100644 index 0000000..a3060de --- /dev/null +++ b/client/src/shared/lib/is-synthetic-email.ts @@ -0,0 +1,5 @@ +const SYNTHETIC_DOMAINS = ['vk.local'] + +export function isSyntheticEmail(email: string): boolean { + return SYNTHETIC_DOMAINS.some((domain) => email.endsWith(`@${domain}`)) +}