From 6e38457655d3fd59f6a1edaed4bbe6315ab7e18e Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Fri, 13 Sep 2019 20:17:30 +0200 Subject: [PATCH] Created BasePathPrefixerTest --- .../Core/test/Config/BasePathPrefixerTest.php | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 module/Core/test/Config/BasePathPrefixerTest.php diff --git a/module/Core/test/Config/BasePathPrefixerTest.php b/module/Core/test/Config/BasePathPrefixerTest.php new file mode 100644 index 00000000..93ae72db --- /dev/null +++ b/module/Core/test/Config/BasePathPrefixerTest.php @@ -0,0 +1,85 @@ +prefixer = new BasePathPrefixer(); + } + + /** + * @test + * @dataProvider provideConfig + */ + public function parsesConfigAsExpected( + array $originalConfig, + array $expectedRoutes, + array $expectedMiddlewares, + string $expectedHostname + ): void { + [ + 'routes' => $routes, + 'middleware_pipeline' => $middlewares, + 'url_shortener' => $urlShortener, + ] = ($this->prefixer)($originalConfig); + + $this->assertEquals($expectedRoutes, $routes); + $this->assertEquals($expectedMiddlewares, $middlewares); + $this->assertEquals([ + 'domain' => [ + 'hostname' => $expectedHostname, + ], + ], $urlShortener); + } + + public function provideConfig(): iterable + { + yield 'without anything' => [[], [], [], '']; + yield 'with empty options' => [ + [ + 'routes' => [], + 'middleware_pipeline' => [], + 'url_shortener' => [], + ], + [], + [], + '', + ]; + yield 'with non-empty options' => [ + [ + 'routes' => [ + ['path' => '/something'], + ['path' => '/something-else'], + ], + 'middleware_pipeline' => [ + ['with' => 'no_path'], + ['path' => '/rest', 'middleware' => []], + ], + 'url_shortener' => [ + 'domain' => [ + 'hostname' => 'doma.in', + ], + ], + 'router' => ['base_path' => '/foo/bar'], + ], + [ + ['path' => '/foo/bar/something'], + ['path' => '/foo/bar/something-else'], + ], + [ + ['with' => 'no_path'], + ['path' => '/foo/bar/rest', 'middleware' => []], + ], + 'doma.in/foo/bar', + ]; + } +}