Files
portal/app/tests/Feature/Advertising/AdCampaignModelTest.php
T

27 lines
1.1 KiB
PHP
Raw Normal View History

<?php
declare(strict_types=1);
use App\Models\AdCampaign;
use App\Models\AdCampaignAd;
use App\Models\Tenant;
use Illuminate\Foundation\Testing\DatabaseTransactions;
// Откат после теста. Без него записи файла остаются в базе и роняют ЧУЖИЕ тесты:
// 01.08.2026 девятнадцать чужих проводок уронили денежную проверку приёмника МТС.
uses(DatabaseTransactions::class);
it('creates a campaign with ads relation and status constants', function () {
$tenant = Tenant::factory()->create();
$c = AdCampaign::create([
'tenant_id' => $tenant->id, 'name' => 'Свежие клиенты', 'audience_days' => 10,
'use_uploaded_list' => false,
]);
AdCampaignAd::create([
'tenant_id' => $tenant->id, 'campaign_id' => $c->id,
'title' => 'Заголовок', 'text' => 'Текст', 'href' => 'https://example.com',
]);
expect($c->status)->toBe(AdCampaign::STATUS_DRAFT)
->and($c->ads()->count())->toBe(1);
});