diff --git a/app/Models/Scopes/PublishedScope.php b/app/Models/Scopes/PublishedScope.php index e8b65b3..cedb948 100644 --- a/app/Models/Scopes/PublishedScope.php +++ b/app/Models/Scopes/PublishedScope.php @@ -14,6 +14,7 @@ class PublishedScope implements Scope */ public function apply(Builder $builder, Model $model): void { - $builder->where($model->getTable().'.published_at', "<=", now()); + $builder->whereNotNull($model->getTable().'.published_at') + ->where($model->getTable().'.published_at', "<=", now()); } } diff --git a/tests/Feature/ModVersionTest.php b/tests/Feature/ModVersionTest.php index 369b899..7d0c44f 100644 --- a/tests/Feature/ModVersionTest.php +++ b/tests/Feature/ModVersionTest.php @@ -17,10 +17,10 @@ it('includes only published mod versions', function () { $mods = ModVersion::all(); - expect($mods)->toHaveCount(2); + expect($mods)->toHaveCount(1); expect($mods->contains($publishedMod))->toBeTrue(); expect($mods->contains($unpublishedMod))->toBeFalse(); - expect($mods->contains($noPublishedDateMod))->toBeTrue(); + expect($mods->contains($noPublishedDateMod))->toBeFalse(); }); it('handles null published_at as not published', function () { @@ -30,5 +30,5 @@ it('handles null published_at as not published', function () { $mods = ModVersion::all(); - expect($mods->contains($modWithNoPublishDate))->toBeTrue(); + expect($mods->contains($modWithNoPublishDate))->toBeFalse(); });