Files
amare/tests/Feature/Application/Queries/Marketing/FindPublishedWeddingPackageBySlugTest.php

37 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Feature\Application\Queries\Marketing;
use App\Application\Queries\Marketing\FindPublishedWeddingPackageBySlug;
use App\Models\WeddingPackage;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class FindPublishedWeddingPackageBySlugTest extends TestCase
{
use RefreshDatabase;
public function test_returns_published_package_and_null_for_draft_or_unknown(): void
{
$published = WeddingPackage::factory()->published()->create([
'slug' => 'essenza',
]);
WeddingPackage::factory()->create([
'slug' => 'rascunho-interno',
'published_at' => null,
]);
$found = (new FindPublishedWeddingPackageBySlug)('essenza');
$draft = (new FindPublishedWeddingPackageBySlug)('rascunho-interno');
$missing = (new FindPublishedWeddingPackageBySlug)('inexistente');
$this->assertNotNull($found);
$this->assertTrue($found->is($published));
$this->assertNull($draft);
$this->assertNull($missing);
}
}