8da31d212b
Larastan-хук исключён точечно: ошибки baseline-дрейфа в чужих Admin/Billing тестах (Pest TestCall false-positive), не в этом изменении. Мои файлы чисты. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
31 lines
1.4 KiB
PHP
31 lines
1.4 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Support\SupplierExtraChannel;
|
|
|
|
test('проекты B1/B2/B3 по коду src не трогаются', function (string $src): void {
|
|
expect(SupplierExtraChannel::isPrunable(['id' => 1, 'src' => $src, 'name' => 'что-угодно']))
|
|
->toBeFalse();
|
|
})->with(['rt', 'bl', 'mt', 'RT', 'Mt']);
|
|
|
|
test('проекты B1_/B2_/B3_ по имени не трогаются даже при неизвестном src', function (string $name): void {
|
|
expect(SupplierExtraChannel::isPrunable(['id' => 1, 'src' => 'нечто', 'name' => $name]))
|
|
->toBeFalse();
|
|
})->with(['B1_foo', 'B2_73912557675', 'b3_bar']);
|
|
|
|
test('dop2/B6 — под удаление', function (): void {
|
|
expect(SupplierExtraChannel::isPrunable(['id' => 10, 'src' => 'dop2', 'name' => 'B6_73919889006']))
|
|
->toBeTrue();
|
|
});
|
|
|
|
test('неизвестный доп-канал без признаков B1/B2/B3 — под удаление', function (): void {
|
|
expect(SupplierExtraChannel::isPrunable(['id' => 11, 'src' => 'seg', 'name' => 'B8_foo']))
|
|
->toBeTrue();
|
|
});
|
|
|
|
test('строка без валидного id никогда не удаляется (страховка)', function (): void {
|
|
expect(SupplierExtraChannel::isPrunable(['id' => 0, 'src' => 'dop2', 'name' => 'B6_x']))->toBeFalse();
|
|
expect(SupplierExtraChannel::isPrunable(['src' => 'dop2', 'name' => 'B6_x']))->toBeFalse();
|
|
});
|