/** * @test * @dataProvider addRedirectDataProvider * * @param array $existingRedirects * @param array $newRedirects * @param array $expectedRedirects */ public function addRedirectTests(array $existingRedirects, array $newRedirects, array $expectedRedirects) { foreach ($existingRedirects as $sourceUriPath => $targetUriPath) { $this->redirectService->addRedirect($sourceUriPath, $targetUriPath); } $this->persistenceManager->persistAll(); foreach ($newRedirects as $sourceUriPath => $targetUriPath) { $this->redirectService->addRedirect($sourceUriPath, $targetUriPath); } $this->persistenceManager->persistAll(); $resultingRedirects = []; foreach ($this->redirectRepository->findAll() as $redirect) { $resultingRedirects[$redirect->getSourceUriPath()] = $redirect->getTargetUriPath(); } $this->assertSame($expectedRedirects, $resultingRedirects); }