55namespace Tempest \Http \Tests \Routing \Construction ;
66
77use PHPUnit \Framework \TestCase ;
8+ use Tempest \Http \Delete ;
89use Tempest \Http \Method ;
910use Tempest \Http \Route ;
1011use Tempest \Http \RouteConfig ;
@@ -35,11 +36,13 @@ public function test_adding_static_routes(): void
3536 new Route ('/1 ' , Method::GET ),
3637 new Route ('/2 ' , Method::POST ),
3738 new Route ('/3 ' , Method::GET ),
39+ new Delete ('/4 ' ),
3840 ];
3941
4042 $ this ->subject ->addRoute ($ routes [0 ]);
4143 $ this ->subject ->addRoute ($ routes [1 ]);
4244 $ this ->subject ->addRoute ($ routes [2 ]);
45+ $ this ->subject ->addRoute ($ routes [3 ]);
4346
4447 $ config = $ this ->subject ->toRouteConfig ();
4548
@@ -54,6 +57,10 @@ public function test_adding_static_routes(): void
5457 '/2 ' => $ routes [1 ],
5558 '/2/ ' => $ routes [1 ],
5659 ],
60+ 'DELETE ' => [
61+ '/4 ' => $ routes [3 ],
62+ '/4/ ' => $ routes [3 ],
63+ ],
5764 ], $ config ->staticRoutes );
5865 $ this ->assertEquals ([], $ config ->dynamicRoutes );
5966 $ this ->assertEquals ([], $ config ->matchingRegexes );
@@ -66,12 +73,14 @@ public function test_adding_dynamic_routes(): void
6673 new Route ('/dynamic/{id} ' , Method::PATCH ),
6774 new Route ('/dynamic/{id}/view ' , Method::GET ),
6875 new Route ('/dynamic/{id}/{tag}/{name}/{id} ' , Method::GET ),
76+ new Delete ('/dynamic/{id} ' ),
6977 ];
7078
7179 $ this ->subject ->addRoute ($ routes [0 ]);
7280 $ this ->subject ->addRoute ($ routes [1 ]);
7381 $ this ->subject ->addRoute ($ routes [2 ]);
7482 $ this ->subject ->addRoute ($ routes [3 ]);
83+ $ this ->subject ->addRoute ($ routes [4 ]);
7584
7685 $ config = $ this ->subject ->toRouteConfig ();
7786
@@ -85,11 +94,15 @@ public function test_adding_dynamic_routes(): void
8594 'PATCH ' => [
8695 'c ' => $ routes [1 ],
8796 ],
97+ 'DELETE ' => [
98+ 'f ' => $ routes [4 ],
99+ ],
88100 ], $ config ->dynamicRoutes );
89101
90102 $ this ->assertEquals ([
91103 'GET ' => '#^(?|/dynamic(?|/([^/]++)(?|/view\/?$(*MARK:d)|/([^/]++)(?|/([^/]++)(?|/([^/]++)\/?$(*MARK:e)))|\/?$(*MARK:b))))# ' ,
92104 'PATCH ' => '#^(?|/dynamic(?|/([^/]++)\/?$(*MARK:c)))# ' ,
105+ 'DELETE ' => '#^(?|/dynamic(?|/([^/]++)\/?$(*MARK:f)))# ' ,
93106 ], $ config ->matchingRegexes );
94107 }
95108}
0 commit comments