diff --git a/app/Models/Mod.php b/app/Models/Mod.php index 1364e33..2d0738f 100644 --- a/app/Models/Mod.php +++ b/app/Models/Mod.php @@ -48,6 +48,8 @@ class Mod extends Model */ public function downloadUrl(bool $absolute = false): string { + $this->load('latestVersion'); + return route('mod.version.download', [ $this->id, $this->slug, @@ -176,7 +178,7 @@ class Mod extends Model * * @return HasOne */ - public function latestVersion(string $sort = 'version'): HasOne + public function latestVersion(): HasOne { return $this->versions() ->one() diff --git a/tests/Feature/Mod/ModTest.php b/tests/Feature/Mod/ModTest.php index 363c26c..aeb7355 100644 --- a/tests/Feature/Mod/ModTest.php +++ b/tests/Feature/Mod/ModTest.php @@ -35,5 +35,9 @@ it('builds download links using the latest mod version', function () { ModVersion::factory()->recycle($mod)->create(['version' => '1.3.0']); $modVersion = ModVersion::factory()->recycle($mod)->create(['version' => '1.3.4']); - expect($mod->downloadUrl())->toEqual("/mod/download/$mod->id/$mod->slug/$modVersion->version"); + expect($mod->downloadUrl())->toEqual(route('mod.version.download', [ + 'mod' => $mod->id, + 'slug' => $mod->slug, + 'version' => $modVersion->version, + ], absolute: false)); });