diff --git a/app/Data/Project.php b/app/Data/Project.php index 3748a6e..c3d8605 100644 --- a/app/Data/Project.php +++ b/app/Data/Project.php @@ -53,13 +53,10 @@ private static function isRecentlyUpdated(array $project): bool return false; } - $daysSinceUpdate = Carbon::now()->diffInDays($project['updated_at']); + $updatedAt = Carbon::parse($project['updated_at']); + $consideredOldIfAfter = Carbon::now()->subDays(7); - if ($daysSinceUpdate <= 7) { - return true; - } - - return false; + return $updatedAt->gte($consideredOldIfAfter); } private static function publishAtDisplay(array $project): ?string diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 318d104..583c648 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -13,7 +13,7 @@ class AppServiceProvider extends ServiceProvider { public function boot(): void { - if ($this->app->environment((array) config('environment.development'))) { + if ($this->app->environment(config('environment.development'))) { Model::shouldBeStrict(); } diff --git a/buildHook.sh b/buildHook.sh deleted file mode 100755 index 53a436c..0000000 --- a/buildHook.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash -path=$1 - -if [ -z "$path" ] || [ ! -d "$path" ]; then - path=$PWD -fi - -echo "====== Running $project build hook =======" - -echo "====== Set the proper node version =======" -if [ -f ~/.nvm/nvm.sh ]; then - . ~/.nvm/nvm.sh -fi - -nvm use 18 - -paths=( - $path -) - -for path in "${paths[@]}" -do - cd $path - - if [ -f package.json ]; then - find . -maxdepth 1 -name package.json | grep package > /dev/null 2>&1 - if [ $? == 0 ]; then - echo "Running npm install (ci)" - npm ci - - if [ $? != 0 ]; then - exit 1; - fi - fi - - if [ -f vite.config.js ]; then - npm run prod - - if [ $? != 0 ]; then - exit 1; - fi - else - echo "No vite.config.js found" - fi - else - echo "Package.json doesn't exist" - fi -done - -echo "=========================================" diff --git a/config/ide-helper.php b/config/ide-helper.php index 5ca5531..2f6b934 100644 --- a/config/ide-helper.php +++ b/config/ide-helper.php @@ -2,6 +2,8 @@ declare(strict_types=1); +use App\Models\User; + return [ /* |-------------------------------------------------------------------------- @@ -153,6 +155,8 @@ */ 'ignored_models' => [ + // Just a placeholder model - we don't use a database. + User::class, ], /* diff --git a/makefile b/makefile index d252f7d..aca8993 100644 --- a/makefile +++ b/makefile @@ -70,7 +70,7 @@ code-quality: vendor syntax stan md code-style: vendor node_modules cs cs-fix-dry validate-fe syntax: - @find app config database lang routes tests -name "*.php" -print0 | xargs -0 -n1 -P8 php -l + @find app config lang routes tests -name "*.php" -print0 | xargs -0 -n1 -P8 php -l stan: vendor @vendor/bin/phpstan analyse --memory-limit=2G --configuration=phpstan.neon @@ -82,17 +82,10 @@ cs: vendor @phpcs --standard=./phpcs.xml -p cs-fix: vendor - @php-cs-fixer fix app config database lang routes tests --diff --config=.php-cs-fixer.php + @php-cs-fixer fix app config lang routes tests --diff --config=.php-cs-fixer.php cs-fix-dry: vendor - @php-cs-fixer fix app config database lang routes tests --dry-run --diff --config=.php-cs-fixer.php - -validate-scripts: node_modules - @make set-nvm - - @npm run validate:scripts - - @make set-nvm-default + @php-cs-fixer fix app config lang routes tests --dry-run --diff --config=.php-cs-fixer.php validate-styles: node_modules @make set-nvm @@ -101,13 +94,6 @@ validate-styles: node_modules @make set-nvm-default -fix-scripts: node_modules - @make set-nvm - - @npm run fix:scripts - - @make set-nvm-default - fix-styles: node_modules @make set-nvm diff --git a/resources/data/projects.json b/resources/data/projects.json index fea1429..59c23a9 100644 --- a/resources/data/projects.json +++ b/resources/data/projects.json @@ -7,7 +7,7 @@ "url": "https://github.com/johanvanhelden/dockerhero", "publish_at": "2019-12-27 12:00:00", "created_at": "2019-12-27 17:00:51", - "updated_at": "2020-01-10 22:43:58" + "updated_at": "2020-09-25 22:43:58" }, { "name": "Personal website", diff --git a/tests/Feature/Page/Home/HomeTest.php b/tests/Feature/Page/Home/HomeTest.php index bd4bf11..89c8ecc 100644 --- a/tests/Feature/Page/Home/HomeTest.php +++ b/tests/Feature/Page/Home/HomeTest.php @@ -4,11 +4,12 @@ namespace Tests\Feature\Page\Home; +use PHPUnit\Framework\Attributes\Test; use Tests\TestCase; class HomeTest extends TestCase { - /** @test */ + #[Test] public function it_works(): void { $this->get(route('page.home')) diff --git a/tests/Feature/Page/Home/ProjectTest.php b/tests/Feature/Page/Home/ProjectTest.php index 4d5611c..0206b44 100644 --- a/tests/Feature/Page/Home/ProjectTest.php +++ b/tests/Feature/Page/Home/ProjectTest.php @@ -7,18 +7,19 @@ use Carbon\Carbon; use Illuminate\Support\Collection; use Illuminate\Support\Facades\File; +use PHPUnit\Framework\Attributes\Test; use Tests\TestCase; class ProjectTest extends TestCase { - /** @test */ + #[Test] public function has_projects(): void { $this->get(route('page.home')) ->assertViewHas('projects'); } - /** @test */ + #[Test] public function it_only_lists_published(): void { File::partialMock() diff --git a/tests/Feature/Page/Home/ToolTest.php b/tests/Feature/Page/Home/ToolTest.php index 9b8c0c6..a8a4aaa 100644 --- a/tests/Feature/Page/Home/ToolTest.php +++ b/tests/Feature/Page/Home/ToolTest.php @@ -7,18 +7,19 @@ use Carbon\Carbon; use Illuminate\Support\Collection; use Illuminate\Support\Facades\File; +use PHPUnit\Framework\Attributes\Test; use Tests\TestCase; class ToolTest extends TestCase { - /** @test */ + #[Test] public function has_tools(): void { $this->get(route('page.home')) ->assertViewHas('tools'); } - /** @test */ + #[Test] public function it_only_lists_published(): void { File::partialMock() diff --git a/tests/Feature/Page/Project/ShowTest.php b/tests/Feature/Page/Project/ShowTest.php index ef75194..ee9cf19 100644 --- a/tests/Feature/Page/Project/ShowTest.php +++ b/tests/Feature/Page/Project/ShowTest.php @@ -7,11 +7,12 @@ use App\Data\Project; use Carbon\Carbon; use Illuminate\Support\Facades\File; +use PHPUnit\Framework\Attributes\Test; use Tests\TestCase; class ShowTest extends TestCase { - /** @test */ + #[Test] public function it_works(): void { $project = Project::all()[0]; @@ -22,7 +23,7 @@ public function it_works(): void ->assertOk(); } - /** @test */ + #[Test] public function it_contains_the_project_data(): void { $project = Project::all()[0]; @@ -33,7 +34,7 @@ public function it_contains_the_project_data(): void ->assertViewHas('project', $project); } - /** @test */ + #[Test] public function an_unpublished_project_can_not_be_viewed(): void { File::partialMock() @@ -57,7 +58,7 @@ public function an_unpublished_project_can_not_be_viewed(): void ->assertStatus(403); } - /** @test */ + #[Test] public function a_published_project_can_not_be_viewed_if_in_the_future(): void { File::partialMock() diff --git a/tests/Unit/Data/Project/ContentDisplayTest.php b/tests/Unit/Data/Project/ContentDisplayTest.php index c275792..8dcc26a 100644 --- a/tests/Unit/Data/Project/ContentDisplayTest.php +++ b/tests/Unit/Data/Project/ContentDisplayTest.php @@ -6,11 +6,12 @@ use App\Data\Project; use Illuminate\Support\Facades\File; +use PHPUnit\Framework\Attributes\Test; use Tests\TestCase; class ContentDisplayTest extends TestCase { - /** @test */ + #[Test] public function markdown_is_converted_to_html(): void { File::partialMock() diff --git a/tests/Unit/Data/Project/IsUpdatedTest.php b/tests/Unit/Data/Project/IsUpdatedTest.php index 9339330..1848aff 100644 --- a/tests/Unit/Data/Project/IsUpdatedTest.php +++ b/tests/Unit/Data/Project/IsUpdatedTest.php @@ -7,6 +7,7 @@ use App\Data\Project; use Carbon\Carbon; use Illuminate\Support\Facades\File; +use PHPUnit\Framework\Attributes\Test; use Tests\TestCase; class IsUpdatedTest extends TestCase @@ -18,7 +19,7 @@ protected function setUp(): void Carbon::setTestNow(Carbon::parse('10-10-1989 06:45:10')); } - /** @test */ + #[Test] public function is_marked_if_edited_the_day_after_being_published(): void { File::partialMock() @@ -39,7 +40,7 @@ public function is_marked_if_edited_the_day_after_being_published(): void $this->assertTrue($project['is_updated']); } - /** @test */ + #[Test] public function is_not_marked_if_not_published(): void { File::partialMock() @@ -60,7 +61,7 @@ public function is_not_marked_if_not_published(): void $this->assertFalse($project['is_updated']); } - /** @test */ + #[Test] public function is_not_marked_if_edit_on_the_same_day_as_being_published(): void { File::partialMock() @@ -81,7 +82,7 @@ public function is_not_marked_if_edit_on_the_same_day_as_being_published(): void $this->assertFalse($project['is_updated']); } - /** @test */ + #[Test] public function is_not_marked_if_updated_before_the_day_of_publishing(): void { File::partialMock() diff --git a/tests/Unit/Data/Project/RecentlyUpdatedTest.php b/tests/Unit/Data/Project/RecentlyUpdatedTest.php index fe98e77..a497a19 100644 --- a/tests/Unit/Data/Project/RecentlyUpdatedTest.php +++ b/tests/Unit/Data/Project/RecentlyUpdatedTest.php @@ -7,6 +7,7 @@ use App\Data\Project; use Carbon\Carbon; use Illuminate\Support\Facades\File; +use PHPUnit\Framework\Attributes\Test; use Tests\TestCase; class RecentlyUpdatedTest extends TestCase @@ -18,7 +19,7 @@ protected function setUp(): void Carbon::setTestNow(Carbon::parse('10-10-1989 06:45:10')); } - /** @test */ + #[Test] public function is_marked_if_updated_7_days_ago(): void { File::partialMock() @@ -39,7 +40,7 @@ public function is_marked_if_updated_7_days_ago(): void $this->assertTrue($project['is_recently_updated']); } - /** @test */ + #[Test] public function is_marked_if_updated_3_days_ago(): void { File::partialMock() @@ -60,7 +61,7 @@ public function is_marked_if_updated_3_days_ago(): void $this->assertTrue($project['is_recently_updated']); } - /** @test */ + #[Test] public function is_marked_if_updated_1_day_ago(): void { File::partialMock() @@ -81,7 +82,7 @@ public function is_marked_if_updated_1_day_ago(): void $this->assertTrue($project['is_recently_updated']); } - /** @test */ + #[Test] public function is_not_marked_if_updated_on_the_same_day_as_publishing(): void { File::partialMock() @@ -102,7 +103,7 @@ public function is_not_marked_if_updated_on_the_same_day_as_publishing(): void $this->assertFalse($project['is_recently_updated']); } - /** @test */ + #[Test] public function is_not_marked_if_updated_8_days_ago(): void { File::partialMock() @@ -123,7 +124,7 @@ public function is_not_marked_if_updated_8_days_ago(): void $this->assertFalse($project['is_recently_updated']); } - /** @test */ + #[Test] public function is_not_marked_if_not_published(): void { File::partialMock() @@ -144,7 +145,7 @@ public function is_not_marked_if_not_published(): void $this->assertFalse($project['is_recently_updated']); } - /** @test */ + #[Test] public function is_not_marked_if_not_updated(): void { File::partialMock()