8cd2ef91d3
Три изолированных модуля по TDD (тест до кода) — заголовок/второй заголовок/текст (creativeLimits.ts), проверка ссылки (urlRule.ts) и проверка картинки (imageRule.ts + imageMeta.ts). Цифры и сообщения — порт 1:1 из app/app/Services/Advertising/CreativeValidator.php (единый источник лимитов Яндекс.Директа). 23 новых теста зелёные. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
25 lines
837 B
TypeScript
25 lines
837 B
TypeScript
import { describe, it, expect } from 'vitest';
|
|
import { isValidHttpUrl } from '../../resources/js/lib/advertising/urlRule';
|
|
|
|
describe('urlRule — isValidHttpUrl', () => {
|
|
it('принимает https-ссылку', () => {
|
|
expect(isValidHttpUrl('https://liderra.ru')).toBe(true);
|
|
});
|
|
|
|
it('принимает http-ссылку', () => {
|
|
expect(isValidHttpUrl('http://a.b')).toBe(true);
|
|
});
|
|
|
|
it('отклоняет строку, не являющуюся ссылкой', () => {
|
|
expect(isValidHttpUrl('это_не_ссылка')).toBe(false);
|
|
});
|
|
|
|
it('отклоняет ftp-ссылку', () => {
|
|
expect(isValidHttpUrl('ftp://x')).toBe(false);
|
|
});
|
|
|
|
it('отклоняет пустую строку', () => {
|
|
expect(isValidHttpUrl('')).toBe(false);
|
|
});
|
|
});
|