47 lines
2.1 KiB
TypeScript
47 lines
2.1 KiB
TypeScript
|
|
import { describe, it, expect } from 'vitest';
|
||
|
|
import { stripChannelPrefix } from '../../resources/js/composables/projectName';
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Имена проектов crm.bp префиксуются B1_/B2_/B3_ (источник-провайдер).
|
||
|
|
* В UI Лидерры префикс убираем — он шум для пользователя; данные в БД не трогаем.
|
||
|
|
*/
|
||
|
|
describe('stripChannelPrefix', () => {
|
||
|
|
it('убирает B1_ префикс', () => {
|
||
|
|
expect(stripChannelPrefix('B1_73912557675 [35]')).toBe('73912557675 [35]');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('убирает B2_ префикс', () => {
|
||
|
|
expect(stripChannelPrefix('B2_krk-finance.ru/cabinet/auth [24]')).toBe('krk-finance.ru/cabinet/auth [24]');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('убирает B3_ префикс', () => {
|
||
|
|
expect(stripChannelPrefix('B3_kras.vashinvestor.ru [23]')).toBe('kras.vashinvestor.ru [23]');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('case-insensitive: b1_/b2_/b3_ тоже убирает', () => {
|
||
|
|
expect(stripChannelPrefix('b1_test')).toBe('test');
|
||
|
|
expect(stripChannelPrefix('b3_demo')).toBe('demo');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('не трогает имя без префикса', () => {
|
||
|
|
expect(stripChannelPrefix('quidem fugiat unde')).toBe('quidem fugiat unde');
|
||
|
|
expect(stripChannelPrefix('Натяжные потолки')).toBe('Натяжные потолки');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('не трогает B4_/B0_/Bx_ — только B1/B2/B3', () => {
|
||
|
|
expect(stripChannelPrefix('B4_other')).toBe('B4_other');
|
||
|
|
expect(stripChannelPrefix('B0_zero')).toBe('B0_zero');
|
||
|
|
expect(stripChannelPrefix('BX_unknown')).toBe('BX_unknown');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('не трогает префикс внутри строки — только в начале', () => {
|
||
|
|
expect(stripChannelPrefix('foo B1_bar')).toBe('foo B1_bar');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('терпит null/undefined/пустую строку', () => {
|
||
|
|
expect(stripChannelPrefix(null)).toBe('');
|
||
|
|
expect(stripChannelPrefix(undefined)).toBe('');
|
||
|
|
expect(stripChannelPrefix('')).toBe('');
|
||
|
|
});
|
||
|
|
});
|