Skip to content
Snippets Groups Projects
CoreControllerTest.php 2.82 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?php
    /**
    * Copyright Maarch since 2008 under licence GPLv3.
    * See LICENCE.txt file at the root folder for more details.
    * This file is part of Maarch software.
    
    * @brief   ActionsControllerTest
    * @author  dev <dev@maarch.org>
    * @ingroup core
    */
    
    use PHPUnit\Framework\TestCase;
    
    class CoreControllerTest extends TestCase
    {
        public function testInitialize()
    
    Florian Azizian's avatar
    Florian Azizian committed
        {
            $CoreController = new \SrcCore\controllers\CoreController();
    
            $environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']);
            $request     = \Slim\Http\Request::createFromEnvironment($environment);
    
            $response     = $CoreController->initialize($request, new \Slim\Http\Response());
            $responseBody = json_decode((string)$response->getBody());
    
            $this->assertNotEmpty($responseBody->coreUrl);
            $this->assertNotEmpty($responseBody->applicationName);
            $this->assertNotEmpty($responseBody->applicationMinorVersion);
            $version = explode(".", $responseBody->applicationMinorVersion);
            $this->assertSame('18', $version[0]);
            $this->assertSame('10', $version[1]);
            $this->assertInternalType('int', (int)$version[2]);
            $this->assertSame('fr', $responseBody->lang);
            $this->assertNotEmpty($responseBody->user);
            $this->assertInternalType('int', $responseBody->user->id);
            $this->assertSame('superadmin', $responseBody->user->user_id);
            $this->assertSame('Super', $responseBody->user->firstname);
            $this->assertNotEmpty($responseBody->scriptsToinject);
        }
    
        public function testGetAdministration()
    
        {
            $coreController = new \SrcCore\controllers\CoreController();
    
            $environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']);
            $request     = \Slim\Http\Request::createFromEnvironment($environment);
    
            $response     = $coreController->getAdministration($request, new \Slim\Http\Response());
            $responseBody = json_decode((string)$response->getBody());
    
            $this->assertNotEmpty($responseBody->administrations->organisation);
            $this->assertNotEmpty($responseBody->administrations->classement);
            $this->assertNotEmpty($responseBody->administrations->production);
            $this->assertNotEmpty($responseBody->administrations->supervision);
        }
    
        public function testrenderJnlp()
        {
    
    Damien's avatar
    Damien committed
            $coreController = new \ContentManagement\controllers\JnlpController();
    
    
            $environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']);
            $request = \Slim\Http\Request::createFromEnvironment($environment);
    
    
    Damien's avatar
    Damien committed
            $response     = $coreController->renderJnlp($request, new \Slim\Http\Response(), ['jnlpUniqueId' => 'superadmin_maarchCM_12345.js']);
    
            $responseBody = json_decode((string)$response->getBody());
    
            $this->assertSame('File extension forbidden', $responseBody->errors);
        }
    }