forge/tests/Feature/ModVersionTest.php

40 lines
1.1 KiB
PHP
Raw Normal View History

2024-07-26 10:53:47 -04:00
<?php
use App\Models\ModVersion;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Carbon;
2024-07-31 14:40:19 -04:00
uses(RefreshDatabase::class);
2024-07-26 10:53:47 -04:00
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,
]);
2024-07-31 14:40:19 -04:00
$all = ModVersion::withoutGlobalScopes()->get();
expect($all)->toHaveCount(3);
2024-07-26 10:53:47 -04:00
$mods = ModVersion::all();
2024-07-31 20:30:50 -04:00
expect($mods)->toHaveCount(1)
->and($mods->contains($publishedMod))->toBeTrue()
->and($mods->contains($unpublishedMod))->toBeFalse()
->and($mods->contains($noPublishedDateMod))->toBeFalse();
2024-07-26 10:53:47 -04:00
});
it('handles null published_at as not published', function () {
$modWithNoPublishDate = ModVersion::factory()->create([
'published_at' => null,
]);
$mods = ModVersion::all();
expect($mods->contains($modWithNoPublishDate))->toBeFalse();
2024-07-26 10:53:47 -04:00
});