From 82a466eb581f471cd70d8f30b218a4b37296f44c Mon Sep 17 00:00:00 2001 From: "waffle.lord" Date: Wed, 31 Jul 2024 14:06:56 -0400 Subject: [PATCH] update scope and tests to not include null published at fields --- app/Models/Scopes/PublishedScope.php | 3 ++- tests/Feature/ModVersionTest.php | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) 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(); });