37 lines
1.1 KiB
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);
|
|
}
|
|
}
|