]> git.mxchange.org Git - friendica.git/blobdiff - tests/src/App/ModeTest.php
Restructure (P)Config to follow new paradigm
[friendica.git] / tests / src / App / ModeTest.php
index 6ea13f1fb48cf8b87cdaac375f4939d32f78213f..c3a5c5e72b4f99f0c10edf3f573a9b1bcfcf890e 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2021, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -24,18 +24,17 @@ namespace Friendica\Test\src\App;
 use Detection\MobileDetect;
 use Friendica\App\Mode;
 use Friendica\App\Module;
-use Friendica\Core\Config;
+use Friendica\Core\Config\Cache\Cache;
 use Friendica\Database\Database;
 use Friendica\Test\MockedTest;
-use Friendica\Test\Util\DBAMockTrait;
 use Friendica\Test\Util\VFSTrait;
 use Friendica\Util\BasePath;
+use Mockery;
 use Mockery\MockInterface;
 
 class ModeTest extends MockedTest
 {
        use VFSTrait;
-       use DBAMockTrait;
 
        /**
         * @var BasePath|MockInterface
@@ -48,44 +47,44 @@ class ModeTest extends MockedTest
        private $databaseMock;
 
        /**
-        * @var \Friendica\Core\Config\Cache|MockInterface
+        * @var Cache|MockInterface
         */
        private $configCacheMock;
 
-       public function setUp()
+       protected function setUp(): void
        {
                parent::setUp();
 
                $this->setUpVfsDir();
 
-               $this->basePathMock = \Mockery::mock(BasePath::class);
-               $this->databaseMock = \Mockery::mock(Database::class);
-               $this->configCacheMock = \Mockery::mock(Config\Cache::class);
+               $this->basePathMock    = Mockery::mock(BasePath::class);
+               $this->databaseMock    = Mockery::mock(Database::class);
+               $this->configCacheMock = Mockery::mock(Cache::class);
        }
 
        public function testItEmpty()
        {
                $mode = new Mode();
-               $this->assertTrue($mode->isInstall());
-               $this->assertFalse($mode->isNormal());
+               self::assertTrue($mode->isInstall());
+               self::assertFalse($mode->isNormal());
        }
 
        public function testWithoutConfig()
        {
                $this->basePathMock->shouldReceive('getPath')->andReturn($this->root->url())->once();
 
-               $this->assertTrue($this->root->hasChild('config/local.config.php'));
+               self::assertTrue($this->root->hasChild('config/local.config.php'));
 
                $this->delConfigFile('local.config.php');
 
-               $this->assertFalse($this->root->hasChild('config/local.config.php'));
+               self::assertFalse($this->root->hasChild('config/local.config.php'));
 
                $mode = (new Mode())->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
 
-               $this->assertTrue($mode->isInstall());
-               $this->assertFalse($mode->isNormal());
+               self::assertTrue($mode->isInstall());
+               self::assertFalse($mode->isNormal());
 
-               $this->assertFalse($mode->has(Mode::LOCALCONFIGPRESENT));
+               self::assertFalse($mode->has(Mode::LOCALCONFIGPRESENT));
        }
 
        public function testWithoutDatabase()
@@ -96,11 +95,11 @@ class ModeTest extends MockedTest
 
                $mode = (new Mode())->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
 
-               $this->assertFalse($mode->isNormal());
-               $this->assertTrue($mode->isInstall());
+               self::assertFalse($mode->isNormal());
+               self::assertTrue($mode->isInstall());
 
-               $this->assertTrue($mode->has(Mode::LOCALCONFIGPRESENT));
-               $this->assertFalse($mode->has(Mode::DBAVAILABLE));
+               self::assertTrue($mode->has(Mode::LOCALCONFIGPRESENT));
+               self::assertFalse($mode->has(Mode::DBAVAILABLE));
        }
 
        public function testWithoutDatabaseSetup()
@@ -109,14 +108,14 @@ class ModeTest extends MockedTest
 
                $this->databaseMock->shouldReceive('connected')->andReturn(true)->once();
                $this->databaseMock->shouldReceive('fetchFirst')
-                                  ->with('SHOW TABLES LIKE \'config\'')->andReturn(false)->once();
+                                                  ->with('SHOW TABLES LIKE \'config\'')->andReturn(false)->once();
 
                $mode = (new Mode())->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
 
-               $this->assertFalse($mode->isNormal());
-               $this->assertTrue($mode->isInstall());
+               self::assertFalse($mode->isNormal());
+               self::assertTrue($mode->isInstall());
 
-               $this->assertTrue($mode->has(Mode::LOCALCONFIGPRESENT));
+               self::assertTrue($mode->has(Mode::LOCALCONFIGPRESENT));
        }
 
        public function testWithMaintenanceMode()
@@ -125,17 +124,17 @@ class ModeTest extends MockedTest
 
                $this->databaseMock->shouldReceive('connected')->andReturn(true)->once();
                $this->databaseMock->shouldReceive('fetchFirst')
-                                  ->with('SHOW TABLES LIKE \'config\'')->andReturn(true)->once();
+                                                  ->with('SHOW TABLES LIKE \'config\'')->andReturn(true)->once();
                $this->configCacheMock->shouldReceive('get')->with('system', 'maintenance')
-                                     ->andReturn(true)->once();
+                                                         ->andReturn(true)->once();
 
                $mode = (new Mode())->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
 
-               $this->assertFalse($mode->isNormal());
-               $this->assertFalse($mode->isInstall());
+               self::assertFalse($mode->isNormal());
+               self::assertFalse($mode->isInstall());
 
-               $this->assertTrue($mode->has(Mode::DBCONFIGAVAILABLE));
-               $this->assertFalse($mode->has(Mode::MAINTENANCEDISABLED));
+               self::assertTrue($mode->has(Mode::DBCONFIGAVAILABLE));
+               self::assertFalse($mode->has(Mode::MAINTENANCEDISABLED));
        }
 
        public function testNormalMode()
@@ -144,20 +143,20 @@ class ModeTest extends MockedTest
 
                $this->databaseMock->shouldReceive('connected')->andReturn(true)->once();
                $this->databaseMock->shouldReceive('fetchFirst')
-                                  ->with('SHOW TABLES LIKE \'config\'')->andReturn(true)->once();
+                                                  ->with('SHOW TABLES LIKE \'config\'')->andReturn(true)->once();
                $this->configCacheMock->shouldReceive('get')->with('system', 'maintenance')
-                                     ->andReturn(false)->once();
+                                                         ->andReturn(false)->once();
                $this->databaseMock->shouldReceive('selectFirst')
-                                  ->with('config', ['v'], ['cat' => 'system', 'k' => 'maintenance'])
-                                  ->andReturn(['v' => null])->once();
+                                                  ->with('config', ['v'], ['cat' => 'system', 'k' => 'maintenance'])
+                                                  ->andReturn(['v' => null])->once();
 
                $mode = (new Mode())->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
 
-               $this->assertTrue($mode->isNormal());
-               $this->assertFalse($mode->isInstall());
+               self::assertTrue($mode->isNormal());
+               self::assertFalse($mode->isInstall());
 
-               $this->assertTrue($mode->has(Mode::DBCONFIGAVAILABLE));
-               $this->assertTrue($mode->has(Mode::MAINTENANCEDISABLED));
+               self::assertTrue($mode->has(Mode::DBCONFIGAVAILABLE));
+               self::assertTrue($mode->has(Mode::MAINTENANCEDISABLED));
        }
 
        /**
@@ -169,20 +168,20 @@ class ModeTest extends MockedTest
 
                $this->databaseMock->shouldReceive('connected')->andReturn(true)->once();
                $this->databaseMock->shouldReceive('fetchFirst')
-                                  ->with('SHOW TABLES LIKE \'config\'')->andReturn(true)->once();
+                                                  ->with('SHOW TABLES LIKE \'config\'')->andReturn(true)->once();
                $this->configCacheMock->shouldReceive('get')->with('system', 'maintenance')
-                                     ->andReturn(false)->once();
+                                                         ->andReturn(false)->once();
                $this->databaseMock->shouldReceive('selectFirst')
-                                  ->with('config', ['v'], ['cat' => 'system', 'k' => 'maintenance'])
-                                  ->andReturn(['v' => '0'])->once();
+                                                  ->with('config', ['v'], ['cat' => 'system', 'k' => 'maintenance'])
+                                                  ->andReturn(['v' => '0'])->once();
 
                $mode = (new Mode())->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
 
-               $this->assertTrue($mode->isNormal());
-               $this->assertFalse($mode->isInstall());
+               self::assertTrue($mode->isNormal());
+               self::assertFalse($mode->isInstall());
 
-               $this->assertTrue($mode->has(Mode::DBCONFIGAVAILABLE));
-               $this->assertTrue($mode->has(Mode::MAINTENANCEDISABLED));
+               self::assertTrue($mode->has(Mode::DBCONFIGAVAILABLE));
+               self::assertTrue($mode->has(Mode::MAINTENANCEDISABLED));
        }
 
        /**
@@ -196,7 +195,7 @@ class ModeTest extends MockedTest
 
                $modeNew = $mode->determine($this->basePathMock, $this->databaseMock, $this->configCacheMock);
 
-               $this->assertNotSame($modeNew, $mode);
+               self::assertNotSame($modeNew, $mode);
        }
 
        /**
@@ -204,13 +203,13 @@ class ModeTest extends MockedTest
         */
        public function testIsBackendNotIsBackend()
        {
-               $server = [];
-               $module = new Module();
+               $server       = [];
+               $module       = new Module();
                $mobileDetect = new MobileDetect();
 
                $mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
 
-               $this->assertTrue($mode->isBackend());
+               self::assertTrue($mode->isBackend());
        }
 
        /**
@@ -218,13 +217,13 @@ class ModeTest extends MockedTest
         */
        public function testIsBackendButIndex()
        {
-               $server = [];
-               $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], true);
+               $server       = [];
+               $module       = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], true);
                $mobileDetect = new MobileDetect();
 
                $mode = (new Mode())->determineRunMode(false, $module, $server, $mobileDetect);
 
-               $this->assertTrue($mode->isBackend());
+               self::assertTrue($mode->isBackend());
        }
 
        /**
@@ -232,13 +231,13 @@ class ModeTest extends MockedTest
         */
        public function testIsNotBackend()
        {
-               $server = [];
-               $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
+               $server       = [];
+               $module       = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
                $mobileDetect = new MobileDetect();
 
                $mode = (new Mode())->determineRunMode(false, $module, $server, $mobileDetect);
 
-               $this->assertFalse($mode->isBackend());
+               self::assertFalse($mode->isBackend());
        }
 
        /**
@@ -251,12 +250,12 @@ class ModeTest extends MockedTest
                        'HTTP_X_REQUESTED_WITH' => 'xmlhttprequest',
                ];
 
-               $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
+               $module       = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
                $mobileDetect = new MobileDetect();
 
                $mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
 
-               $this->assertTrue($mode->isAjax());
+               self::assertTrue($mode->isAjax());
        }
 
        /**
@@ -264,13 +263,13 @@ class ModeTest extends MockedTest
         */
        public function testIsNotAjax()
        {
-               $server = [];
-               $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
+               $server       = [];
+               $module       = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
                $mobileDetect = new MobileDetect();
 
                $mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
 
-               $this->assertFalse($mode->isAjax());
+               self::assertFalse($mode->isAjax());
        }
 
        /**
@@ -278,16 +277,16 @@ class ModeTest extends MockedTest
         */
        public function testIsMobileIsTablet()
        {
-               $server = [];
-               $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
-               $mobileDetect = \Mockery::mock(MobileDetect::class);
+               $server       = [];
+               $module       = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
+               $mobileDetect = Mockery::mock(MobileDetect::class);
                $mobileDetect->shouldReceive('isMobile')->andReturn(true);
                $mobileDetect->shouldReceive('isTablet')->andReturn(true);
 
                $mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
 
-               $this->assertTrue($mode->isMobile());
-               $this->assertTrue($mode->isTablet());
+               self::assertTrue($mode->isMobile());
+               self::assertTrue($mode->isTablet());
        }
 
 
@@ -296,15 +295,15 @@ class ModeTest extends MockedTest
         */
        public function testIsNotMobileIsNotTablet()
        {
-               $server = [];
-               $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
-               $mobileDetect = \Mockery::mock(MobileDetect::class);
+               $server       = [];
+               $module       = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
+               $mobileDetect = Mockery::mock(MobileDetect::class);
                $mobileDetect->shouldReceive('isMobile')->andReturn(false);
                $mobileDetect->shouldReceive('isTablet')->andReturn(false);
 
                $mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
 
-               $this->assertFalse($mode->isMobile());
-               $this->assertFalse($mode->isTablet());
+               self::assertFalse($mode->isMobile());
+               self::assertFalse($mode->isTablet());
        }
 }