From 1e2e9bdecf68bb36eb87b754fa1ad299a04895af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Thu, 16 Sep 2021 09:43:04 +0200 Subject: [PATCH] Reintroduce getRouteKey to handle router with model + tests --- src/BaseEnumRoutable.php | 4 +--- tests/BaseEnumRoutableTest.php | 13 +++++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/BaseEnumRoutable.php b/src/BaseEnumRoutable.php index 4647261..9e2e8cd 100644 --- a/src/BaseEnumRoutable.php +++ b/src/BaseEnumRoutable.php @@ -23,9 +23,7 @@ abstract class BaseEnumRoutable extends BaseEnum implements UrlRoutable */ public function getRouteKey() { - // @codeCoverageIgnoreStart - throw new NotImplementedException('getRouteKey not implemented, should not be used.'); - // @codeCoverageIgnoreEnd + return $this->value; } /** diff --git a/tests/BaseEnumRoutableTest.php b/tests/BaseEnumRoutableTest.php index e5b0a34..45ace2c 100644 --- a/tests/BaseEnumRoutableTest.php +++ b/tests/BaseEnumRoutableTest.php @@ -118,7 +118,7 @@ class BaseEnumRoutableTest extends TestCase { $router->get('/journals/{journal}', function (Journal $journal) { return response()->json([$journal->day]); - })->middleware('bindings'); + })->middleware('bindings')->name('journal.view'); $router->get('/reports/{report}', function (Report $report) { return response()->json([$report->day]); })->middleware('bindings'); @@ -203,15 +203,16 @@ class BaseEnumRoutableTest extends TestCase public function testRoutesWithEnumAsPrimaryKeyWithoutCastEnumsAndCast() { - $response = $this->json('GET', sprintf('/journals/%s', Days::none()->value)); + // This test includes getRouteKey method for coverage + $response = $this->json('GET', \route('journal.view', Days::none())); $response->assertOk(); - $response = $this->json('GET', sprintf('/journals/%s', Days::mon()->value)); + $response = $this->json('GET', \route('journal.view', Days::mon())); $response->assertOk(); - $response = $this->json('GET', sprintf('/journals/%s', Days::tue()->value)); + $response = $this->json('GET', \route('journal.view', Days::tue())); $response->assertOk(); - $response = $this->json('GET', sprintf('/journals/%s', Days::fri()->value)); + $response = $this->json('GET', \route('journal.view', Days::fri())); $response->assertOk(); - $response = $this->json('GET', sprintf('/journals/%s', 9999)); + $response = $this->json('GET', \route('journal.view', 9999)); $response->assertNotFound(); }