Spaces:
No application file
No application file
| namespace Mautic\InstallBundle\Tests\Controller; | |
| use Doctrine\ORM\EntityManagerInterface; | |
| use Doctrine\Persistence\ManagerRegistry; | |
| use Mautic\CoreBundle\Configurator\Configurator; | |
| use Mautic\CoreBundle\Factory\MauticFactory; | |
| use Mautic\CoreBundle\Factory\ModelFactory; | |
| use Mautic\CoreBundle\Helper\CoreParametersHelper; | |
| use Mautic\CoreBundle\Helper\PathsHelper; | |
| use Mautic\CoreBundle\Helper\UserHelper; | |
| use Mautic\CoreBundle\Security\Permissions\CorePermissions; | |
| use Mautic\CoreBundle\Service\FlashBag; | |
| use Mautic\CoreBundle\Translation\Translator; | |
| use Mautic\InstallBundle\Controller\InstallController; | |
| use Mautic\InstallBundle\Install\InstallService; | |
| use Symfony\Component\DependencyInjection\Container; | |
| use Symfony\Component\EventDispatcher\EventDispatcherInterface; | |
| use Symfony\Component\HttpFoundation\Request; | |
| use Symfony\Component\HttpFoundation\RequestStack; | |
| use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface; | |
| use Symfony\Component\HttpFoundation\Session\Session; | |
| use Symfony\Component\Routing\Generator\UrlGeneratorInterface; | |
| use Symfony\Component\Routing\Router; | |
| class InstallControllerTest extends \PHPUnit\Framework\TestCase | |
| { | |
| private \PHPUnit\Framework\MockObject\MockObject $translatorMock; | |
| private \PHPUnit\Framework\MockObject\MockObject $sessionMock; | |
| private \PHPUnit\Framework\MockObject\MockObject $containerMock; | |
| private \PHPUnit\Framework\MockObject\MockObject $routerMock; | |
| private \PHPUnit\Framework\MockObject\MockObject $flashBagMock; | |
| private InstallController $controller; | |
| private \PHPUnit\Framework\MockObject\MockObject $pathsHelper; | |
| private \PHPUnit\Framework\MockObject\MockObject $configurator; | |
| private \PHPUnit\Framework\MockObject\MockObject $installer; | |
| protected function setUp(): void | |
| { | |
| parent::setUp(); | |
| $this->sessionMock = $this->createMock(Session::class); | |
| $this->containerMock = $this->createMock(Container::class); | |
| $this->routerMock = $this->createMock(Router::class); | |
| $this->flashBagMock = $this->createMock(FlashBagInterface::class); | |
| $this->pathsHelper = $this->createMock(PathsHelper::class); | |
| $this->configurator = $this->createMock(Configurator::class); | |
| $this->installer = $this->createMock(InstallService::class); | |
| $doctrine = $this->createMock(ManagerRegistry::class); | |
| $factory = $this->createMock(MauticFactory::class); | |
| $modelFactory = $this->createMock(ModelFactory::class); | |
| $userHelper = $this->createMock(UserHelper::class); | |
| $coreParametersHelper = $this->createMock(CoreParametersHelper::class); | |
| $dispatcher = $this->createMock(EventDispatcherInterface::class); | |
| $this->translatorMock = $this->createMock(Translator::class); | |
| $flashBag = $this->createMock(FlashBag::class); | |
| $requestStack = new RequestStack(); | |
| $security = $this->createMock(CorePermissions::class); | |
| $this->controller = new InstallController( | |
| $this->configurator, | |
| $this->installer, | |
| $doctrine, | |
| $factory, | |
| $modelFactory, | |
| $userHelper, | |
| $coreParametersHelper, | |
| $dispatcher, | |
| $this->translatorMock, | |
| $flashBag, | |
| $requestStack, | |
| $security | |
| ); | |
| $this->controller->setContainer($this->containerMock); | |
| $this->sessionMock->method('getFlashBag')->willReturn($this->flashBagMock); | |
| $this->containerMock->method('get') | |
| ->with('router') | |
| ->willReturn($this->routerMock); | |
| } | |
| public function testStepActionWhenInstalled(): void | |
| { | |
| $this->installer->expects($this->once()) | |
| ->method('checkIfInstalled') | |
| ->willReturn( | |
| true | |
| ); | |
| $this->routerMock->expects($this->once()) | |
| ->method('generate') | |
| ->with('mautic_dashboard_index', [], UrlGeneratorInterface::ABSOLUTE_PATH) | |
| ->willReturn('http://localhost/'); | |
| $response = $this->controller->stepAction( | |
| new Request(), | |
| $this->createMock(EntityManagerInterface::class), | |
| $this->pathsHelper, | |
| InstallService::CHECK_STEP | |
| ); | |
| $this->assertEquals(302, $response->getStatusCode()); | |
| } | |
| } | |