diff --git a/module/Rest/test/Middleware/PathVersionMiddlewareTest.php b/module/Rest/test/Middleware/PathVersionMiddlewareTest.php new file mode 100644 index 00000000..098c4b01 --- /dev/null +++ b/module/Rest/test/Middleware/PathVersionMiddlewareTest.php @@ -0,0 +1,47 @@ +middleware = new PathVersionMiddleware(); + } + + /** + * @test + */ + public function whenVersionIsProvidedRequestRemainsUnchanged() + { + $request = ServerRequestFactory::fromGlobals()->withUri(new Uri('/rest/v2/foo')); + $test = $this; + $this->middleware->__invoke($request, new Response(), function ($req) use ($request, $test) { + $test->assertSame($request, $req); + }); + } + + /** + * @test + */ + public function versionOneIsPrependedWhenNoVersionIsDefined() + { + $request = ServerRequestFactory::fromGlobals()->withUri(new Uri('/rest/bar/baz')); + $test = $this; + $this->middleware->__invoke($request, new Response(), function (Request $req) use ($request, $test) { + $test->assertNotSame($request, $req); + $this->assertEquals('/rest/v1/bar/baz', $req->getUri()->getPath()); + }); + } +}