forge/tests/Feature/ModVersionTest.php
waffle.lord 82a466eb58 update scope and tests
to not include null published at fields
2024-07-31 14:06:56 -04:00

35 lines
1012 B
PHP

<?php
use App\Models\ModVersion;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Carbon;
it('includes only published mod versions', function () {
$publishedMod = ModVersion::factory()->create([
'published_at' => Carbon::now()->subDay(),
]);
$unpublishedMod = ModVersion::factory()->create([
'published_at' => Carbon::now()->addDay(),
]);
$noPublishedDateMod = ModVersion::factory()->create([
'published_at' => null,
]);
$mods = ModVersion::all();
expect($mods)->toHaveCount(1);
expect($mods->contains($publishedMod))->toBeTrue();
expect($mods->contains($unpublishedMod))->toBeFalse();
expect($mods->contains($noPublishedDateMod))->toBeFalse();
});
it('handles null published_at as not published', function () {
$modWithNoPublishDate = ModVersion::factory()->create([
'published_at' => null,
]);
$mods = ModVersion::all();
expect($mods->contains($modWithNoPublishDate))->toBeFalse();
});