]> git.mxchange.org Git - friendica.git/blobdiff - tests/src/Core/Console/ConfigConsoleTest.php
Bugfixing executable (Mocking the executable)
[friendica.git] / tests / src / Core / Console / ConfigConsoleTest.php
index 1d5b3a628e2f5a2d219a0870f8d4eb7f16378f30..8f845ae7b05c2e9c227b13e912c241212a06a383 100644 (file)
@@ -33,7 +33,7 @@ class ConfigConsoleTest extends ConsoleTest
 
        function testSetGetKeyValue() {
                $this->mockConfigSet('config', 'test', 'now', 1);
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'config');
                $console->setArgument(1, 'test');
                $console->setArgument(2, 'now');
@@ -41,14 +41,14 @@ class ConfigConsoleTest extends ConsoleTest
                $this->assertEquals("config.test <= now\n", $txt);
 
                $this->mockConfigGet('config', 'test', 'now', 1);
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'config');
                $console->setArgument(1, 'test');
                $txt = $this->dumpExecute($console);
                $this->assertEquals("config.test => now\n", $txt);
 
                $this->mockConfigGet('config', 'test', null, 1);
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'config');
                $console->setArgument(1, 'test');
                $txt = $this->dumpExecute($console);
@@ -59,7 +59,7 @@ class ConfigConsoleTest extends ConsoleTest
                $testArray = [1, 2, 3];
                $this->mockConfigGet('config', 'test', $testArray, 1);
 
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'config');
                $console->setArgument(1, 'test');
                $console->setArgument(2, 'now');
@@ -69,7 +69,7 @@ class ConfigConsoleTest extends ConsoleTest
        }
 
        function testTooManyArguments() {
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'config');
                $console->setArgument(1, 'test');
                $console->setArgument(2, 'it');
@@ -82,12 +82,13 @@ class ConfigConsoleTest extends ConsoleTest
 
        function testVerbose() {
                $this->mockConfigGet('test', 'it', 'now', 1);
-               $console = new Config();
+               $console = new Config($this->consoleArgv);
                $console->setArgument(0, 'test');
                $console->setArgument(1, 'it');
                $console->setOption('v', 1);
+               $executable = $this->consoleArgv[0];
                $assertion = <<<CONF
-Executable: -
+Executable: {$executable}
 Class: Friendica\Core\Console\Config
 Arguments: array (
   0 => 'test',
@@ -112,4 +113,45 @@ CONF;
                $txt = $this->dumpExecute($console);
                $this->assertSame("Unable to set test.it\n", $txt);
        }
+
+       public function testGetHelp()
+       {
+               // Usable to purposely fail if new commands are added without taking tests into account
+               $theHelp = <<<HELP
+console config - Manage site configuration
+Synopsis
+       bin/console config [-h|--help|-?] [-v]
+       bin/console config <category> [-h|--help|-?] [-v]
+       bin/console config <category> <key> [-h|--help|-?] [-v]
+       bin/console config <category> <key> <value> [-h|--help|-?] [-v]
+
+Description
+       bin/console config
+               Lists all config values
+
+       bin/console config <category>
+               Lists all config values in the provided category
+
+       bin/console config <category> <key>
+               Shows the value of the provided key in the category
+
+       bin/console config <category> <key> <value>
+               Sets the value of the provided key in the category
+
+Notes:
+       Setting config entries which are manually set in config/local.ini.php may result in
+       conflict between database settings and the manual startup settings.
+
+Options
+    -h|--help|-? Show help information
+    -v           Show more debug information.
+
+HELP;
+               $console = new Config($this->consoleArgv);
+               $console->setOption('help', true);
+
+               $txt = $this->dumpExecute($console);
+
+               $this->assertEquals($txt, $theHelp);
+       }
 }