Skip to content

Commit 26e7bbf

Browse files
committed
Add support for other verbs.
1 parent 07e56ff commit 26e7bbf

15 files changed

+135
-5
lines changed

src/Attributes/Delete.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Attribute;
66

7-
#[Attribute(Attribute::TARGET_METHOD)]
7+
#[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)]
88
class Delete extends Route
99
{
1010
public function __construct(

src/Attributes/Options.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Attribute;
66

7-
#[Attribute(Attribute::TARGET_METHOD)]
7+
#[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)]
88
class Options extends Route
99
{
1010
public function __construct(

src/Attributes/Patch.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Attribute;
66

7-
#[Attribute(Attribute::TARGET_METHOD)]
7+
#[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)]
88
class Patch extends Route
99
{
1010
public function __construct(

src/Attributes/Post.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Attribute;
66

7-
#[Attribute(Attribute::TARGET_METHOD)]
7+
#[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)]
88
class Post extends Route
99
{
1010
public function __construct(

src/Attributes/Put.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Attribute;
66

7-
#[Attribute(Attribute::TARGET_METHOD)]
7+
#[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)]
88
class Put extends Route
99
{
1010
public function __construct(

tests/AttributeTests/DeleteAttributeTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Spatie\RouteAttributes\Tests\AttributeTests;
44

55
use Spatie\RouteAttributes\Tests\TestCase;
6+
use Spatie\RouteAttributes\Tests\TestClasses\Controllers\DeleteMultipleTestController;
67
use Spatie\RouteAttributes\Tests\TestClasses\Controllers\DeleteTestController;
78

89
class DeleteAttributeTest extends TestCase
@@ -16,4 +17,15 @@ public function it_can_register_a_delete_route()
1617
->assertRegisteredRoutesCount(1)
1718
->assertRouteRegistered(DeleteTestController::class, 'myDeleteMethod', 'delete', 'my-delete-method');
1819
}
20+
21+
/** @test */
22+
public function it_can_register_multiple_delete_routes()
23+
{
24+
$this->routeRegistrar->registerClass(DeleteMultipleTestController::class);
25+
26+
$this
27+
->assertRegisteredRoutesCount(2)
28+
->assertRouteRegistered(DeleteMultipleTestController::class, 'myDeleteMethod', 'delete', 'my-delete-method')
29+
->assertRouteRegistered(DeleteMultipleTestController::class, 'myDeleteMethod', 'delete', 'my-other-delete-method');
30+
}
1931
}

tests/AttributeTests/OptionsAttributeTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Spatie\RouteAttributes\Tests\AttributeTests;
44

55
use Spatie\RouteAttributes\Tests\TestCase;
6+
use Spatie\RouteAttributes\Tests\TestClasses\Controllers\OptionsMultipleTestController;
67
use Spatie\RouteAttributes\Tests\TestClasses\Controllers\OptionsTestController;
78

89
class OptionsAttributeTest extends TestCase
@@ -16,4 +17,15 @@ public function it_can_register_a_options_route()
1617
->assertRegisteredRoutesCount(1)
1718
->assertRouteRegistered(OptionsTestController::class, 'myOptionsMethod', 'options', 'my-options-method');
1819
}
20+
21+
/** @test */
22+
public function it_can_register_multiple_options_routes()
23+
{
24+
$this->routeRegistrar->registerClass(OptionsMultipleTestController::class);
25+
26+
$this
27+
->assertRegisteredRoutesCount(2)
28+
->assertRouteRegistered(OptionsMultipleTestController::class, 'myOptionsMethod', 'options', 'my-options-method')
29+
->assertRouteRegistered(OptionsMultipleTestController::class, 'myOptionsMethod', 'options', 'my-other-options-method');
30+
}
1931
}

tests/AttributeTests/PatchAttributeTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Spatie\RouteAttributes\Tests\AttributeTests;
44

55
use Spatie\RouteAttributes\Tests\TestCase;
6+
use Spatie\RouteAttributes\Tests\TestClasses\Controllers\PatchMultipleTestController;
67
use Spatie\RouteAttributes\Tests\TestClasses\Controllers\PatchTestController;
78

89
class PatchAttributeTest extends TestCase
@@ -16,4 +17,15 @@ public function it_can_register_a_patch_route()
1617
->assertRegisteredRoutesCount(1)
1718
->assertRouteRegistered(PatchTestController::class, 'myPatchMethod', 'patch', 'my-patch-method');
1819
}
20+
21+
/** @test */
22+
public function it_can_register_multiple_patch_routes()
23+
{
24+
$this->routeRegistrar->registerClass(PatchMultipleTestController::class);
25+
26+
$this
27+
->assertRegisteredRoutesCount(2)
28+
->assertRouteRegistered(PatchMultipleTestController::class, 'myPatchMethod', 'patch', 'my-patch-method')
29+
->assertRouteRegistered(PatchMultipleTestController::class, 'myPatchMethod', 'patch', 'my-other-patch-method');
30+
}
1931
}

tests/AttributeTests/PostAttributeTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Spatie\RouteAttributes\Tests\AttributeTests;
44

55
use Spatie\RouteAttributes\Tests\TestCase;
6+
use Spatie\RouteAttributes\Tests\TestClasses\Controllers\PostMultipleTestController;
67
use Spatie\RouteAttributes\Tests\TestClasses\Controllers\PostTestController;
78

89
class PostAttributeTest extends TestCase
@@ -16,4 +17,15 @@ public function it_can_register_a_post_route()
1617
->assertRegisteredRoutesCount(1)
1718
->assertRouteRegistered(PostTestController::class, 'myPostMethod', 'post', 'my-post-method');
1819
}
20+
21+
/** @test */
22+
public function it_can_register_multiple_post_routes()
23+
{
24+
$this->routeRegistrar->registerClass(PostMultipleTestController::class);
25+
26+
$this
27+
->assertRegisteredRoutesCount(2)
28+
->assertRouteRegistered(PostMultipleTestController::class, 'myPostMethod', 'post', 'my-post-method')
29+
->assertRouteRegistered(PostMultipleTestController::class, 'myPostMethod', 'post', 'my-other-post-method');
30+
}
1931
}

tests/AttributeTests/PutAttributeTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Spatie\RouteAttributes\Tests\AttributeTests;
44

55
use Spatie\RouteAttributes\Tests\TestCase;
6+
use Spatie\RouteAttributes\Tests\TestClasses\Controllers\PutMultipleTestController;
67
use Spatie\RouteAttributes\Tests\TestClasses\Controllers\PutTestController;
78

89
class PutAttributeTest extends TestCase
@@ -16,4 +17,15 @@ public function it_can_register_a_put_route()
1617
->assertRegisteredRoutesCount(1)
1718
->assertRouteRegistered(PutTestController::class, 'myPutMethod', 'put', 'my-put-method');
1819
}
20+
21+
/** @test */
22+
public function it_can_register_multiple_put_routes()
23+
{
24+
$this->routeRegistrar->registerClass(PutMultipleTestController::class);
25+
26+
$this
27+
->assertRegisteredRoutesCount(2)
28+
->assertRouteRegistered(PutMultipleTestController::class, 'myPutMethod', 'put', 'my-put-method')
29+
->assertRouteRegistered(PutMultipleTestController::class, 'myPutMethod', 'put', 'my-other-put-method');
30+
}
1931
}

0 commit comments

Comments
 (0)