From 60ed1c16a2954e3185d60d5ecc2ca1d528f8453c Mon Sep 17 00:00:00 2001 From: Marcel Folaron Date: Mon, 18 Nov 2024 09:40:35 -0500 Subject: [PATCH 1/3] Move BASE_URL set to config bootstrap to fix mixed url issue #2787 --- app/Core/Bootstrap/LoadConfig.php | 34 +++++++++++++++++++++++++++++++ app/Core/Http/IncomingRequest.php | 34 +------------------------------ 2 files changed, 35 insertions(+), 33 deletions(-) diff --git a/app/Core/Bootstrap/LoadConfig.php b/app/Core/Bootstrap/LoadConfig.php index d7783642e..667ba7252 100644 --- a/app/Core/Bootstrap/LoadConfig.php +++ b/app/Core/Bootstrap/LoadConfig.php @@ -69,6 +69,8 @@ public function bootstrap(Application $app) //Additional adjustments $finalConfig->set('APP_DEBUG', $finalConfig->get('debug') ? true : false); + $this->setBaseConstants($finalConfig->get('appUrl'), $app); + if ($finalConfig->get('app.url') == '') { $url = defined('BASE_URL') ? BASE_URL : 'http://localhost'; $finalConfig->set('app.url', $url); @@ -93,6 +95,38 @@ public function bootstrap(Application $app) } + /** + * Sets the URL constants for the application. + * + * If the BASE_URL constant is not defined, it will be set based on the value of $appUrl parameter. + * If $appUrl is empty or not provided, it will be set using the getSchemeAndHttpHost method of the class. + * + * The APP_URL environment variable will be set to the value of $appUrl. + * + * If the CURRENT_URL constant is not defined, it will be set by appending the getRequestUri method result to the BASE_URL. + * + * @param string $appUrl The URL to be used as BASE_URL and APP_URL. Defaults to an empty string. + * @return void + */ + public function setBaseConstants($appUrl, $app) { + + if (! defined('BASE_URL')) { + if (isset($appUrl) && ! empty($appUrl)) { + define('BASE_URL', $appUrl); + + } else { + define('BASE_URL', request()->getSchemeAndHttpHost()); + } + } + + putenv('APP_URL='.$appUrl); + + if (! defined('CURRENT_URL')) { + define('CURRENT_URL', BASE_URL.request()->getRequestUri()); + } + + } + /** * Load the configuration files. * diff --git a/app/Core/Http/IncomingRequest.php b/app/Core/Http/IncomingRequest.php index 84b2cfb73..b917cb8d5 100644 --- a/app/Core/Http/IncomingRequest.php +++ b/app/Core/Http/IncomingRequest.php @@ -74,44 +74,12 @@ public static function capture() default => parent::createFromGlobals(), }; - $request->setUrlConstants(); + //$request->setUrlConstants(); return $request; } - /** - * Sets the URL constants for the application. - * - * If the BASE_URL constant is not defined, it will be set based on the value of $appUrl parameter. - * If $appUrl is empty or not provided, it will be set using the getSchemeAndHttpHost method of the class. - * - * The APP_URL environment variable will be set to the value of $appUrl. - * - * If the CURRENT_URL constant is not defined, it will be set by appending the getRequestUri method result to the BASE_URL. - * - * @param string $appUrl The URL to be used as BASE_URL and APP_URL. Defaults to an empty string. - * @return void - */ - public function setUrlConstants($appUrl = '') - { - - if (! defined('BASE_URL')) { - if (isset($appUrl) && ! empty($appUrl)) { - define('BASE_URL', $appUrl); - - } else { - define('BASE_URL', parent::getSchemeAndHttpHost()); - } - } - - putenv('APP_URL='.$appUrl); - - if (! defined('CURRENT_URL')) { - define('CURRENT_URL', BASE_URL.$this->getRequestUri()); - } - } - /** * Gets the full URL including request uri and protocol */ From ded3cac475d630c0f7f8f26eb509c1e9e394ff58 Mon Sep 17 00:00:00 2001 From: Marcel Folaron Date: Mon, 18 Nov 2024 12:40:57 -0500 Subject: [PATCH 2/3] Fix constant url handling --- app/Core/Bootstrap/LoadConfig.php | 11 +- app/Core/Configuration/laravelConfig.php | 8 +- .../Support/_generated/UnitTesterActions.php | 869 ++++++++---------- tests/Unit/app/Core/ApplicationUrlTest.php | 113 +++ 4 files changed, 490 insertions(+), 511 deletions(-) create mode 100644 tests/Unit/app/Core/ApplicationUrlTest.php diff --git a/app/Core/Bootstrap/LoadConfig.php b/app/Core/Bootstrap/LoadConfig.php index 667ba7252..281636036 100644 --- a/app/Core/Bootstrap/LoadConfig.php +++ b/app/Core/Bootstrap/LoadConfig.php @@ -69,6 +69,12 @@ public function bootstrap(Application $app) //Additional adjustments $finalConfig->set('APP_DEBUG', $finalConfig->get('debug') ? true : false); + if (preg_match('/.+\/$/', $finalConfig->get('appUrl'))) { + $url = rtrim($finalConfig->get('appUrl'), '/'); + $finalConfig->set('appUrl', $url); + $finalConfig->set('app.url', $url); + } + $this->setBaseConstants($finalConfig->get('appUrl'), $app); if ($finalConfig->get('app.url') == '') { @@ -76,6 +82,7 @@ public function bootstrap(Application $app) $finalConfig->set('app.url', $url); } + //Handle trailing slashes return $finalConfig; }); } @@ -115,14 +122,14 @@ public function setBaseConstants($appUrl, $app) { define('BASE_URL', $appUrl); } else { - define('BASE_URL', request()->getSchemeAndHttpHost()); + define('BASE_URL', ! empty($app['request']) ? $app['request']->getSchemeAndHttpHost() : 'http://localhost'); } } putenv('APP_URL='.$appUrl); if (! defined('CURRENT_URL')) { - define('CURRENT_URL', BASE_URL.request()->getRequestUri()); + define('CURRENT_URL', ! empty($app['request']) ? BASE_URL.$app['request']->getRequestUri() : 'http://localhost'); } } diff --git a/app/Core/Configuration/laravelConfig.php b/app/Core/Configuration/laravelConfig.php index 232642d6e..ed5db00c0 100644 --- a/app/Core/Configuration/laravelConfig.php +++ b/app/Core/Configuration/laravelConfig.php @@ -93,8 +93,7 @@ 'channels' => [ 'stack' => [ 'driver' => 'stack', - // Add the Sentry log channel to the stack - 'channels' => ['single', 'sentry'], + 'channels' => ['single'], ], 'single' => [ 'driver' => 'daily', @@ -114,11 +113,6 @@ 'level' => 'critical', 'replace_placeholders' => true, ], - 'sentry' => [ - 'driver' => 'sentry', - 'level' => 'error', - 'bubble' => true, - ], ], 'default' => 'stack', ], diff --git a/tests/Support/_generated/UnitTesterActions.php b/tests/Support/_generated/UnitTesterActions.php index 079603b7d..bb2815fc7 100644 --- a/tests/Support/_generated/UnitTesterActions.php +++ b/tests/Support/_generated/UnitTesterActions.php @@ -1,8 +1,5 @@ -getScenario()->runStep(new \Codeception\Step\Action('expectThrowable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file does not exist. - * * @see \Codeception\Module\AbstractAsserts::assertFileNotExists() */ - public function assertFileNotExists(string $filename, string $message = '') - { + public function assertFileNotExists(string $filename, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileNotExists', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is greater than or equal to another value. * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertGreaterOrEquals() */ - public function assertGreaterOrEquals($expected, $actual, string $message = '') - { + public function assertGreaterOrEquals($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterOrEquals', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is empty. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsEmpty() */ - public function assertIsEmpty($actual, string $message = '') - { + public function assertIsEmpty($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsEmpty', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is smaller than or equal to another value. * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertLessOrEquals() */ - public function assertLessOrEquals($expected, $actual, string $message = '') - { + public function assertLessOrEquals($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertLessOrEquals', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string does not match a given regular expression. - * * @see \Codeception\Module\AbstractAsserts::assertNotRegExp() */ - public function assertNotRegExp(string $pattern, string $string, string $message = '') - { + public function assertNotRegExp(string $pattern, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotRegExp', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string matches a given regular expression. - * * @see \Codeception\Module\AbstractAsserts::assertRegExp() */ - public function assertRegExp(string $pattern, string $string, string $message = '') - { + public function assertRegExp(string $pattern, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertRegExp', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Evaluates a PHPUnit\Framework\Constraint matcher object. * - * @param mixed $value - * + * @param mixed $value * @see \Codeception\Module\AbstractAsserts::assertThatItsNot() */ - public function assertThatItsNot($value, \PHPUnit\Framework\Constraint\Constraint $constraint, string $message = '') - { + public function assertThatItsNot($value, \PHPUnit\Framework\Constraint\Constraint $constraint, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertThatItsNot', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that an array has a specified key. * - * @param int|string $key - * @param array|\ArrayAccess $array - * + * @param int|string $key + * @param array|\ArrayAccess $array * @see \Codeception\Module\AbstractAsserts::assertArrayHasKey() */ - public function assertArrayHasKey($key, $array, string $message = '') - { + public function assertArrayHasKey($key, $array, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertArrayHasKey', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that an array does not have a specified key. * - * @param int|string $key - * @param array|\ArrayAccess $array - * + * @param int|string $key + * @param array|\ArrayAccess $array * @see \Codeception\Module\AbstractAsserts::assertArrayNotHasKey() */ - public function assertArrayNotHasKey($key, $array, string $message = '') - { + public function assertArrayNotHasKey($key, $array, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertArrayNotHasKey', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a class has a specified attribute. - * * @see \Codeception\Module\AbstractAsserts::assertClassHasAttribute() */ - public function assertClassHasAttribute(string $attributeName, string $className, string $message = '') - { + public function assertClassHasAttribute(string $attributeName, string $className, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertClassHasAttribute', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a class has a specified static attribute. - * * @see \Codeception\Module\AbstractAsserts::assertClassHasStaticAttribute() */ - public function assertClassHasStaticAttribute(string $attributeName, string $className, string $message = '') - { + public function assertClassHasStaticAttribute(string $attributeName, string $className, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertClassHasStaticAttribute', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a class does not have a specified attribute. - * * @see \Codeception\Module\AbstractAsserts::assertClassNotHasAttribute() */ - public function assertClassNotHasAttribute(string $attributeName, string $className, string $message = '') - { + public function assertClassNotHasAttribute(string $attributeName, string $className, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertClassNotHasAttribute', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a class does not have a specified static attribute. - * * @see \Codeception\Module\AbstractAsserts::assertClassNotHasStaticAttribute() */ - public function assertClassNotHasStaticAttribute(string $attributeName, string $className, string $message = '') - { + public function assertClassNotHasStaticAttribute(string $attributeName, string $className, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertClassNotHasStaticAttribute', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a haystack contains a needle. * - * @param mixed $needle - * + * @param mixed $needle * @see \Codeception\Module\AbstractAsserts::assertContains() */ - public function assertContains($needle, iterable $haystack, string $message = '') - { + public function assertContains($needle, iterable $haystack, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertContains', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * - * @param mixed $needle - * + * @param mixed $needle * @see \Codeception\Module\AbstractAsserts::assertContainsEquals() */ - public function assertContainsEquals($needle, iterable $haystack, string $message = '') - { + public function assertContainsEquals($needle, iterable $haystack, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertContainsEquals', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a haystack contains only values of a given type. - * * @see \Codeception\Module\AbstractAsserts::assertContainsOnly() */ - public function assertContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = null, string $message = '') - { + public function assertContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = NULL, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertContainsOnly', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a haystack contains only instances of a given class name. - * * @see \Codeception\Module\AbstractAsserts::assertContainsOnlyInstancesOf() */ - public function assertContainsOnlyInstancesOf(string $className, iterable $haystack, string $message = '') - { + public function assertContainsOnlyInstancesOf(string $className, iterable $haystack, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertContainsOnlyInstancesOf', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts the number of elements of an array, Countable or Traversable. * - * @param \Countable|iterable $haystack - * + * @param \Countable|iterable $haystack * @see \Codeception\Module\AbstractAsserts::assertCount() */ - public function assertCount(int $expectedCount, $haystack, string $message = '') - { + public function assertCount(int $expectedCount, $haystack, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertCount', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory does not exist. - * * @see \Codeception\Module\AbstractAsserts::assertDirectoryDoesNotExist() */ - public function assertDirectoryDoesNotExist(string $directory, string $message = '') - { + public function assertDirectoryDoesNotExist(string $directory, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryDoesNotExist', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory exists. - * * @see \Codeception\Module\AbstractAsserts::assertDirectoryExists() */ - public function assertDirectoryExists(string $directory, string $message = '') - { + public function assertDirectoryExists(string $directory, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryExists', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory exists and is not readable. - * * @see \Codeception\Module\AbstractAsserts::assertDirectoryIsNotReadable() */ - public function assertDirectoryIsNotReadable(string $directory, string $message = '') - { + public function assertDirectoryIsNotReadable(string $directory, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryIsNotReadable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory exists and is not writable. - * * @see \Codeception\Module\AbstractAsserts::assertDirectoryIsNotWritable() */ - public function assertDirectoryIsNotWritable(string $directory, string $message = '') - { + public function assertDirectoryIsNotWritable(string $directory, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryIsNotWritable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory exists and is readable. - * * @see \Codeception\Module\AbstractAsserts::assertDirectoryIsReadable() */ - public function assertDirectoryIsReadable(string $directory, string $message = '') - { + public function assertDirectoryIsReadable(string $directory, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryIsReadable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory exists and is writable. - * * @see \Codeception\Module\AbstractAsserts::assertDirectoryIsWritable() */ - public function assertDirectoryIsWritable(string $directory, string $message = '') - { + public function assertDirectoryIsWritable(string $directory, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryIsWritable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string does not match a given regular expression. - * * @see \Codeception\Module\AbstractAsserts::assertDoesNotMatchRegularExpression() */ - public function assertDoesNotMatchRegularExpression(string $pattern, string $string, string $message = '') - { + public function assertDoesNotMatchRegularExpression(string $pattern, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDoesNotMatchRegularExpression', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is empty. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertEmpty() */ - public function assertEmpty($actual, string $message = '') - { + public function assertEmpty($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEmpty', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are equal. * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertEquals() */ - public function assertEquals($expected, $actual, string $message = '') - { + public function assertEquals($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEquals', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are equal (canonicalizing). * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertEqualsCanonicalizing() */ - public function assertEqualsCanonicalizing($expected, $actual, string $message = '') - { + public function assertEqualsCanonicalizing($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEqualsCanonicalizing', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are equal (ignoring case). * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertEqualsIgnoringCase() */ - public function assertEqualsIgnoringCase($expected, $actual, string $message = '') - { + public function assertEqualsIgnoringCase($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEqualsIgnoringCase', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are equal (with delta). * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertEqualsWithDelta() */ - public function assertEqualsWithDelta($expected, $actual, float $delta, string $message = '') - { + public function assertEqualsWithDelta($expected, $actual, float $delta, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEqualsWithDelta', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a condition is false. * - * @param mixed $condition - * + * @param mixed $condition * @see \Codeception\Module\AbstractAsserts::assertFalse() */ - public function assertFalse($condition, string $message = '') - { + public function assertFalse($condition, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFalse', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file does not exist. - * * @see \Codeception\Module\AbstractAsserts::assertFileDoesNotExist() */ - public function assertFileDoesNotExist(string $filename, string $message = '') - { + public function assertFileDoesNotExist(string $filename, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileDoesNotExist', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is equal to the contents of another file. - * * @see \Codeception\Module\AbstractAsserts::assertFileEquals() */ - public function assertFileEquals(string $expected, string $actual, string $message = '') - { + public function assertFileEquals(string $expected, string $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileEquals', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is equal to the contents of another file (canonicalizing). - * * @see \Codeception\Module\AbstractAsserts::assertFileEqualsCanonicalizing() */ - public function assertFileEqualsCanonicalizing(string $expected, string $actual, string $message = '') - { + public function assertFileEqualsCanonicalizing(string $expected, string $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileEqualsCanonicalizing', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is equal to the contents of another file (ignoring case). - * * @see \Codeception\Module\AbstractAsserts::assertFileEqualsIgnoringCase() */ - public function assertFileEqualsIgnoringCase(string $expected, string $actual, string $message = '') - { + public function assertFileEqualsIgnoringCase(string $expected, string $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileEqualsIgnoringCase', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file exists. - * * @see \Codeception\Module\AbstractAsserts::assertFileExists() */ - public function assertFileExists(string $filename, string $message = '') - { + public function assertFileExists(string $filename, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileExists', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file exists and is not readable. - * * @see \Codeception\Module\AbstractAsserts::assertFileIsNotReadable() */ - public function assertFileIsNotReadable(string $file, string $message = '') - { + public function assertFileIsNotReadable(string $file, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileIsNotReadable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file exists and is not writable. - * * @see \Codeception\Module\AbstractAsserts::assertFileIsNotWritable() */ - public function assertFileIsNotWritable(string $file, string $message = '') - { + public function assertFileIsNotWritable(string $file, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileIsNotWritable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file exists and is readable. - * * @see \Codeception\Module\AbstractAsserts::assertFileIsReadable() */ - public function assertFileIsReadable(string $file, string $message = '') - { + public function assertFileIsReadable(string $file, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileIsReadable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file exists and is writable. - * * @see \Codeception\Module\AbstractAsserts::assertFileIsWritable() */ - public function assertFileIsWritable(string $file, string $message = '') - { + public function assertFileIsWritable(string $file, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileIsWritable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is not equal to the contents of another file. - * * @see \Codeception\Module\AbstractAsserts::assertFileNotEquals() */ - public function assertFileNotEquals(string $expected, string $actual, string $message = '') - { + public function assertFileNotEquals(string $expected, string $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileNotEquals', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is not equal to the contents of another file (canonicalizing). - * * @see \Codeception\Module\AbstractAsserts::assertFileNotEqualsCanonicalizing() */ - public function assertFileNotEqualsCanonicalizing(string $expected, string $actual, string $message = '') - { + public function assertFileNotEqualsCanonicalizing(string $expected, string $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileNotEqualsCanonicalizing', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is not equal to the contents of another file (ignoring case). - * * @see \Codeception\Module\AbstractAsserts::assertFileNotEqualsIgnoringCase() */ - public function assertFileNotEqualsIgnoringCase(string $expected, string $actual, string $message = '') - { + public function assertFileNotEqualsIgnoringCase(string $expected, string $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileNotEqualsIgnoringCase', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is finite. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertFinite() */ - public function assertFinite($actual, string $message = '') - { + public function assertFinite($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFinite', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is greater than another value. * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertGreaterThan() */ - public function assertGreaterThan($expected, $actual, string $message = '') - { + public function assertGreaterThan($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThan', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is greater than or equal to another value. * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertGreaterThanOrEqual() */ - public function assertGreaterThanOrEqual($expected, $actual, string $message = '') - { + public function assertGreaterThanOrEqual($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThanOrEqual', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is infinite. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertInfinite() */ - public function assertInfinite($actual, string $message = '') - { + public function assertInfinite($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertInfinite', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of a given type. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertInstanceOf() */ - public function assertInstanceOf(string $expected, $actual, string $message = '') - { + public function assertInstanceOf(string $expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertInstanceOf', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type array. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsArray() */ - public function assertIsArray($actual, string $message = '') - { + public function assertIsArray($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsArray', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type bool. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsBool() */ - public function assertIsBool($actual, string $message = '') - { + public function assertIsBool($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsBool', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type callable. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsCallable() */ - public function assertIsCallable($actual, string $message = '') - { + public function assertIsCallable($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsCallable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type resource and is closed. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsClosedResource() */ - public function assertIsClosedResource($actual, string $message = '') - { + public function assertIsClosedResource($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsClosedResource', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type float. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsFloat() */ - public function assertIsFloat($actual, string $message = '') - { + public function assertIsFloat($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsFloat', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type int. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsInt() */ - public function assertIsInt($actual, string $message = '') - { + public function assertIsInt($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsInt', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type iterable. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsIterable() */ - public function assertIsIterable($actual, string $message = '') - { + public function assertIsIterable($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsIterable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type array. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotArray() */ - public function assertIsNotArray($actual, string $message = '') - { + public function assertIsNotArray($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotArray', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type bool. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotBool() */ - public function assertIsNotBool($actual, string $message = '') - { + public function assertIsNotBool($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotBool', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type callable. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotCallable() */ - public function assertIsNotCallable($actual, string $message = '') - { + public function assertIsNotCallable($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotCallable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type resource. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotClosedResource() */ - public function assertIsNotClosedResource($actual, string $message = '') - { + public function assertIsNotClosedResource($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotClosedResource', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type float. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotFloat() */ - public function assertIsNotFloat($actual, string $message = '') - { + public function assertIsNotFloat($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotFloat', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type int. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotInt() */ - public function assertIsNotInt($actual, string $message = '') - { + public function assertIsNotInt($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotInt', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type iterable. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotIterable() */ - public function assertIsNotIterable($actual, string $message = '') - { + public function assertIsNotIterable($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotIterable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type numeric. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotNumeric() */ - public function assertIsNotNumeric($actual, string $message = '') - { + public function assertIsNotNumeric($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotNumeric', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type object. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotObject() */ - public function assertIsNotObject($actual, string $message = '') - { + public function assertIsNotObject($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotObject', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file/dir exists and is not readable. - * * @see \Codeception\Module\AbstractAsserts::assertIsNotReadable() */ - public function assertIsNotReadable(string $filename, string $message = '') - { + public function assertIsNotReadable(string $filename, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotReadable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type resource. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotResource() */ - public function assertIsNotResource($actual, string $message = '') - { + public function assertIsNotResource($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotResource', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type scalar. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotScalar() */ - public function assertIsNotScalar($actual, string $message = '') - { + public function assertIsNotScalar($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotScalar', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type string. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNotString() */ - public function assertIsNotString($actual, string $message = '') - { + public function assertIsNotString($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotString', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file/dir exists and is not writable. - * * @see \Codeception\Module\AbstractAsserts::assertIsNotWritable() */ - public function assertIsNotWritable(string $filename, string $message = '') - { + public function assertIsNotWritable(string $filename, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotWritable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type numeric. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsNumeric() */ - public function assertIsNumeric($actual, string $message = '') - { + public function assertIsNumeric($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNumeric', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type object. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsObject() */ - public function assertIsObject($actual, string $message = '') - { + public function assertIsObject($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsObject', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file/dir is readable. - * * @see \Codeception\Module\AbstractAsserts::assertIsReadable() */ - public function assertIsReadable(string $filename, string $message = '') - { + public function assertIsReadable(string $filename, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsReadable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type resource. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsResource() */ - public function assertIsResource($actual, string $message = '') - { + public function assertIsResource($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsResource', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type scalar. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsScalar() */ - public function assertIsScalar($actual, string $message = '') - { + public function assertIsScalar($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsScalar', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type string. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertIsString() */ - public function assertIsString($actual, string $message = '') - { + public function assertIsString($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsString', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file/dir exists and is writable. - * * @see \Codeception\Module\AbstractAsserts::assertIsWritable() */ - public function assertIsWritable(string $filename, string $message = '') - { + public function assertIsWritable(string $filename, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsWritable', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string is a valid JSON string. - * * @see \Codeception\Module\AbstractAsserts::assertJson() */ - public function assertJson(string $actualJson, string $message = '') - { + public function assertJson(string $actualJson, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJson', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two JSON files are equal. - * * @see \Codeception\Module\AbstractAsserts::assertJsonFileEqualsJsonFile() */ - public function assertJsonFileEqualsJsonFile(string $expectedFile, string $actualFile, string $message = '') - { + public function assertJsonFileEqualsJsonFile(string $expectedFile, string $actualFile, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonFileEqualsJsonFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two JSON files are not equal. - * * @see \Codeception\Module\AbstractAsserts::assertJsonFileNotEqualsJsonFile() */ - public function assertJsonFileNotEqualsJsonFile(string $expectedFile, string $actualFile, string $message = '') - { + public function assertJsonFileNotEqualsJsonFile(string $expectedFile, string $actualFile, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonFileNotEqualsJsonFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the generated JSON encoded object and the content of the given file are equal. - * * @see \Codeception\Module\AbstractAsserts::assertJsonStringEqualsJsonFile() */ - public function assertJsonStringEqualsJsonFile(string $expectedFile, string $actualJson, string $message = '') - { + public function assertJsonStringEqualsJsonFile(string $expectedFile, string $actualJson, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonStringEqualsJsonFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two given JSON encoded objects or arrays are equal. - * * @see \Codeception\Module\AbstractAsserts::assertJsonStringEqualsJsonString() */ - public function assertJsonStringEqualsJsonString(string $expectedJson, string $actualJson, string $message = '') - { + public function assertJsonStringEqualsJsonString(string $expectedJson, string $actualJson, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonStringEqualsJsonString', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the generated JSON encoded object and the content of the given file are not equal. - * * @see \Codeception\Module\AbstractAsserts::assertJsonStringNotEqualsJsonFile() */ - public function assertJsonStringNotEqualsJsonFile(string $expectedFile, string $actualJson, string $message = '') - { + public function assertJsonStringNotEqualsJsonFile(string $expectedFile, string $actualJson, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonStringNotEqualsJsonFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two given JSON encoded objects or arrays are not equal. - * * @see \Codeception\Module\AbstractAsserts::assertJsonStringNotEqualsJsonString() */ - public function assertJsonStringNotEqualsJsonString(string $expectedJson, string $actualJson, string $message = '') - { + public function assertJsonStringNotEqualsJsonString(string $expectedJson, string $actualJson, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonStringNotEqualsJsonString', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is smaller than another value. * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertLessThan() */ - public function assertLessThan($expected, $actual, string $message = '') - { + public function assertLessThan($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertLessThan', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is smaller than or equal to another value. * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertLessThanOrEqual() */ - public function assertLessThanOrEqual($expected, $actual, string $message = '') - { + public function assertLessThanOrEqual($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertLessThanOrEqual', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string matches a given regular expression. - * * @see \Codeception\Module\AbstractAsserts::assertMatchesRegularExpression() */ - public function assertMatchesRegularExpression(string $pattern, string $string, string $message = '') - { + public function assertMatchesRegularExpression(string $pattern, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertMatchesRegularExpression', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is nan. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertNan() */ - public function assertNan($actual, string $message = '') - { + public function assertNan($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNan', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a haystack does not contain a needle. * - * @param mixed $needle - * + * @param mixed $needle * @see \Codeception\Module\AbstractAsserts::assertNotContains() */ - public function assertNotContains($needle, iterable $haystack, string $message = '') - { + public function assertNotContains($needle, iterable $haystack, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotContains', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * * @see \Codeception\Module\AbstractAsserts::assertNotContainsEquals() */ - public function assertNotContainsEquals($needle, iterable $haystack, string $message = '') - { + public function assertNotContainsEquals($needle, iterable $haystack, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotContainsEquals', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a haystack does not contain only values of a given type. - * * @see \Codeception\Module\AbstractAsserts::assertNotContainsOnly() */ - public function assertNotContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = null, string $message = '') - { + public function assertNotContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = NULL, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotContainsOnly', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts the number of elements of an array, Countable or Traversable. * - * @param \Countable|iterable $haystack - * + * @param \Countable|iterable $haystack * @see \Codeception\Module\AbstractAsserts::assertNotCount() */ - public function assertNotCount(int $expectedCount, $haystack, string $message = '') - { + public function assertNotCount(int $expectedCount, $haystack, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotCount', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not empty. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertNotEmpty() */ - public function assertNotEmpty($actual, string $message = '') - { + public function assertNotEmpty($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEmpty', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are not equal. * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertNotEquals() */ - public function assertNotEquals($expected, $actual, string $message = '') - { + public function assertNotEquals($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEquals', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are not equal (canonicalizing). * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertNotEqualsCanonicalizing() */ - public function assertNotEqualsCanonicalizing($expected, $actual, string $message = '') - { + public function assertNotEqualsCanonicalizing($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEqualsCanonicalizing', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are not equal (ignoring case). * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertNotEqualsIgnoringCase() */ - public function assertNotEqualsIgnoringCase($expected, $actual, string $message = '') - { + public function assertNotEqualsIgnoringCase($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEqualsIgnoringCase', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are not equal (with delta). * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertNotEqualsWithDelta() */ - public function assertNotEqualsWithDelta($expected, $actual, float $delta, string $message = '') - { + public function assertNotEqualsWithDelta($expected, $actual, float $delta, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEqualsWithDelta', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a condition is not false. * - * @param mixed $condition - * + * @param mixed $condition * @see \Codeception\Module\AbstractAsserts::assertNotFalse() */ - public function assertNotFalse($condition, string $message = '') - { + public function assertNotFalse($condition, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotFalse', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of a given type. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertNotInstanceOf() */ - public function assertNotInstanceOf(string $expected, $actual, string $message = '') - { + public function assertNotInstanceOf(string $expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotInstanceOf', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not null. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertNotNull() */ - public function assertNotNull($actual, string $message = '') - { + public function assertNotNull($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotNull', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables do not have the same type and value. * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertNotSame() */ - public function assertNotSame($expected, $actual, string $message = '') - { + public function assertNotSame($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotSame', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Assert that the size of two arrays (or `Countable` or `Traversable` objects) is not the same. * - * @param \Countable|iterable $expected - * @param \Countable|iterable $actual - * + * @param \Countable|iterable $expected + * @param \Countable|iterable $actual * @see \Codeception\Module\AbstractAsserts::assertNotSameSize() */ - public function assertNotSameSize($expected, $actual, string $message = '') - { + public function assertNotSameSize($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotSameSize', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a condition is not true. * - * @param mixed $condition - * + * @param mixed $condition * @see \Codeception\Module\AbstractAsserts::assertNotTrue() */ - public function assertNotTrue($condition, string $message = '') - { + public function assertNotTrue($condition, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotTrue', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is null. * - * @param mixed $actual - * + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertNull() */ - public function assertNull($actual, string $message = '') - { + public function assertNull($actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNull', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that an object has a specified attribute. - * * @see \Codeception\Module\AbstractAsserts::assertObjectHasAttribute() */ - public function assertObjectHasAttribute(string $attributeName, object $object, string $message = '') - { + public function assertObjectHasAttribute(string $attributeName, object $object, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertObjectHasAttribute', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that an object does not have a specified attribute. - * * @see \Codeception\Module\AbstractAsserts::assertObjectNotHasAttribute() */ - public function assertObjectNotHasAttribute(string $attributeName, object $object, string $message = '') - { + public function assertObjectNotHasAttribute(string $attributeName, object $object, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertObjectNotHasAttribute', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables have the same type and value. * - * @param mixed $expected - * @param mixed $actual - * + * @param mixed $expected + * @param mixed $actual * @see \Codeception\Module\AbstractAsserts::assertSame() */ - public function assertSame($expected, $actual, string $message = '') - { + public function assertSame($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertSame', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Assert that the size of two arrays (or `Countable` or `Traversable` objects) is the same. * - * @param \Countable|iterable $expected - * @param \Countable|iterable $actual - * + * @param \Countable|iterable $expected + * @param \Countable|iterable $actual * @see \Codeception\Module\AbstractAsserts::assertSameSize() */ - public function assertSameSize($expected, $actual, string $message = '') - { + public function assertSameSize($expected, $actual, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertSameSize', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * * @see \Codeception\Module\AbstractAsserts::assertStringContainsString() */ - public function assertStringContainsString(string $needle, string $haystack, string $message = '') - { + public function assertStringContainsString(string $needle, string $haystack, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringContainsString', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * * @see \Codeception\Module\AbstractAsserts::assertStringContainsStringIgnoringCase() */ - public function assertStringContainsStringIgnoringCase(string $needle, string $haystack, string $message = '') - { + public function assertStringContainsStringIgnoringCase(string $needle, string $haystack, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringContainsStringIgnoringCase', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string ends not with a given suffix. - * * @see \Codeception\Module\AbstractAsserts::assertStringEndsNotWith() */ - public function assertStringEndsNotWith(string $suffix, string $string, string $message = '') - { + public function assertStringEndsNotWith(string $suffix, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringEndsNotWith', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string ends with a given suffix. - * * @see \Codeception\Module\AbstractAsserts::assertStringEndsWith() */ - public function assertStringEndsWith(string $suffix, string $string, string $message = '') - { + public function assertStringEndsWith(string $suffix, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringEndsWith', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is equal to the contents of a file. - * * @see \Codeception\Module\AbstractAsserts::assertStringEqualsFile() */ - public function assertStringEqualsFile(string $expectedFile, string $actualString, string $message = '') - { + public function assertStringEqualsFile(string $expectedFile, string $actualString, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringEqualsFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is equal to the contents of a file (canonicalizing). - * * @see \Codeception\Module\AbstractAsserts::assertStringEqualsFileCanonicalizing() */ - public function assertStringEqualsFileCanonicalizing(string $expectedFile, string $actualString, string $message = '') - { + public function assertStringEqualsFileCanonicalizing(string $expectedFile, string $actualString, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringEqualsFileCanonicalizing', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is equal to the contents of a file (ignoring case). - * * @see \Codeception\Module\AbstractAsserts::assertStringEqualsFileIgnoringCase() */ - public function assertStringEqualsFileIgnoringCase(string $expectedFile, string $actualString, string $message = '') - { + public function assertStringEqualsFileIgnoringCase(string $expectedFile, string $actualString, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringEqualsFileIgnoringCase', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string matches a given format string. - * * @see \Codeception\Module\AbstractAsserts::assertStringMatchesFormat() */ - public function assertStringMatchesFormat(string $format, string $string, string $message = '') - { + public function assertStringMatchesFormat(string $format, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringMatchesFormat', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string matches a given format file. - * * @see \Codeception\Module\AbstractAsserts::assertStringMatchesFormatFile() */ - public function assertStringMatchesFormatFile(string $formatFile, string $string, string $message = '') - { + public function assertStringMatchesFormatFile(string $formatFile, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringMatchesFormatFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * * @see \Codeception\Module\AbstractAsserts::assertStringNotContainsString() */ - public function assertStringNotContainsString(string $needle, string $haystack, string $message = '') - { + public function assertStringNotContainsString(string $needle, string $haystack, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotContainsString', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * * @see \Codeception\Module\AbstractAsserts::assertStringNotContainsStringIgnoringCase() */ - public function assertStringNotContainsStringIgnoringCase(string $needle, string $haystack, string $message = '') - { + public function assertStringNotContainsStringIgnoringCase(string $needle, string $haystack, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotContainsStringIgnoringCase', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is not equal to the contents of a file. - * * @see \Codeception\Module\AbstractAsserts::assertStringNotEqualsFile() */ - public function assertStringNotEqualsFile(string $expectedFile, string $actualString, string $message = '') - { + public function assertStringNotEqualsFile(string $expectedFile, string $actualString, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotEqualsFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is not equal to the contents of a file (canonicalizing). - * * @see \Codeception\Module\AbstractAsserts::assertStringNotEqualsFileCanonicalizing() */ - public function assertStringNotEqualsFileCanonicalizing(string $expectedFile, string $actualString, string $message = '') - { + public function assertStringNotEqualsFileCanonicalizing(string $expectedFile, string $actualString, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotEqualsFileCanonicalizing', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is not equal to the contents of a file (ignoring case). - * * @see \Codeception\Module\AbstractAsserts::assertStringNotEqualsFileIgnoringCase() */ - public function assertStringNotEqualsFileIgnoringCase(string $expectedFile, string $actualString, string $message = '') - { + public function assertStringNotEqualsFileIgnoringCase(string $expectedFile, string $actualString, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotEqualsFileIgnoringCase', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string does not match a given format string. - * * @see \Codeception\Module\AbstractAsserts::assertStringNotMatchesFormat() */ - public function assertStringNotMatchesFormat(string $format, string $string, string $message = '') - { + public function assertStringNotMatchesFormat(string $format, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotMatchesFormat', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string does not match a given format string. - * * @see \Codeception\Module\AbstractAsserts::assertStringNotMatchesFormatFile() */ - public function assertStringNotMatchesFormatFile(string $formatFile, string $string, string $message = '') - { + public function assertStringNotMatchesFormatFile(string $formatFile, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotMatchesFormatFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string starts not with a given prefix. - * * @see \Codeception\Module\AbstractAsserts::assertStringStartsNotWith() */ - public function assertStringStartsNotWith(string $prefix, string $string, string $message = '') - { + public function assertStringStartsNotWith(string $prefix, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringStartsNotWith', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string starts with a given prefix. - * * @see \Codeception\Module\AbstractAsserts::assertStringStartsWith() */ - public function assertStringStartsWith(string $prefix, string $string, string $message = '') - { + public function assertStringStartsWith(string $prefix, string $string, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringStartsWith', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Evaluates a PHPUnit\Framework\Constraint matcher object. * - * @param mixed $value - * + * @param mixed $value * @see \Codeception\Module\AbstractAsserts::assertThat() */ - public function assertThat($value, \PHPUnit\Framework\Constraint\Constraint $constraint, string $message = '') - { + public function assertThat($value, \PHPUnit\Framework\Constraint\Constraint $constraint, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertThat', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a condition is true. * - * @param mixed $condition - * + * @param mixed $condition * @see \Codeception\Module\AbstractAsserts::assertTrue() */ - public function assertTrue($condition, string $message = '') - { + public function assertTrue($condition, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertTrue', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML files are equal. - * * @see \Codeception\Module\AbstractAsserts::assertXmlFileEqualsXmlFile() */ - public function assertXmlFileEqualsXmlFile(string $expectedFile, string $actualFile, string $message = '') - { + public function assertXmlFileEqualsXmlFile(string $expectedFile, string $actualFile, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlFileEqualsXmlFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML files are not equal. - * * @see \Codeception\Module\AbstractAsserts::assertXmlFileNotEqualsXmlFile() */ - public function assertXmlFileNotEqualsXmlFile(string $expectedFile, string $actualFile, string $message = '') - { + public function assertXmlFileNotEqualsXmlFile(string $expectedFile, string $actualFile, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlFileNotEqualsXmlFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML documents are equal. * - * @param \DOMDocument|string $actualXml - * + * @param \DOMDocument|string $actualXml * @see \Codeception\Module\AbstractAsserts::assertXmlStringEqualsXmlFile() */ - public function assertXmlStringEqualsXmlFile(string $expectedFile, $actualXml, string $message = '') - { + public function assertXmlStringEqualsXmlFile(string $expectedFile, $actualXml, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlStringEqualsXmlFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML documents are equal. * - * @param \DOMDocument|string $expectedXml - * @param \DOMDocument|string $actualXml - * + * @param \DOMDocument|string $expectedXml + * @param \DOMDocument|string $actualXml * @see \Codeception\Module\AbstractAsserts::assertXmlStringEqualsXmlString() */ - public function assertXmlStringEqualsXmlString($expectedXml, $actualXml, string $message = '') - { + public function assertXmlStringEqualsXmlString($expectedXml, $actualXml, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlStringEqualsXmlString', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML documents are not equal. * - * @param \DOMDocument|string $actualXml - * + * @param \DOMDocument|string $actualXml * @see \Codeception\Module\AbstractAsserts::assertXmlStringNotEqualsXmlFile() */ - public function assertXmlStringNotEqualsXmlFile(string $expectedFile, $actualXml, string $message = '') - { + public function assertXmlStringNotEqualsXmlFile(string $expectedFile, $actualXml, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlStringNotEqualsXmlFile', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML documents are not equal. * - * @param \DOMDocument|string $expectedXml - * @param \DOMDocument|string $actualXml - * + * @param \DOMDocument|string $expectedXml + * @param \DOMDocument|string $actualXml * @see \Codeception\Module\AbstractAsserts::assertXmlStringNotEqualsXmlString() */ - public function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, string $message = '') - { + public function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlStringNotEqualsXmlString', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Fails a test with the given message. - * * @see \Codeception\Module\AbstractAsserts::fail() */ - public function fail(string $message = '') - { + public function fail(string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('fail', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Mark the test as incomplete. - * * @see \Codeception\Module\AbstractAsserts::markTestIncomplete() */ - public function markTestIncomplete(string $message = '') - { + public function markTestIncomplete(string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('markTestIncomplete', func_get_args())); } + /** * [!] Method is generated. Documentation taken from corresponding module. * * Mark the test as skipped. - * * @see \Codeception\Module\AbstractAsserts::markTestSkipped() */ - public function markTestSkipped(string $message = '') - { + public function markTestSkipped(string $message = "") { return $this->getScenario()->runStep(new \Codeception\Step\Action('markTestSkipped', func_get_args())); } } diff --git a/tests/Unit/app/Core/ApplicationUrlTest.php b/tests/Unit/app/Core/ApplicationUrlTest.php new file mode 100644 index 000000000..dace20bdd --- /dev/null +++ b/tests/Unit/app/Core/ApplicationUrlTest.php @@ -0,0 +1,113 @@ +bootstrapApplication(); + + } + + protected function bootstrapApplication() { + + $this->app = new Application(APP_ROOT); + $this->app->boot(); + + $this->app->bootstrapWith([LoadConfig::class, SetRequestForConsole::class]); + + $this->config = $this->app['config']; + } + + public function testBaseUrlIsSetCorrectlyFromConfig(): void + { + // Test default behavior (no LEAN_APP_URL set) + $this->assertEquals('http://localhost', BASE_URL); + $this->assertEquals('http://localhost', $this->config->get('app.url')); + + // Test with LEAN_APP_URL set + //putenv('LEAN_APP_URL=https://example.com'); + $_ENV['LEAN_APP_URL'] = 'https://example.com'; + + // Reinitialize application to test new environment + $this->bootstrapApplication(); + + //dd($this->config); + + $this->assertEquals('https://example.com', $this->config->get('app.url')); + $this->assertEquals('https://example.com', $this->config->get('appUrl')); + } + + public function testBaseUrlHandlesTrailingSlash(): void + { + + $_ENV['LEAN_APP_URL'] = 'https://example.com/'; + + $this->bootstrapApplication(); + + $this->assertEquals('https://example.com', $this->config->get('app.url')); + $this->assertEquals('https://example.com', $this->config->get('appUrl')); + } + + public function testBaseUrlHandlesSubdirectory(): void + { + + $_ENV['LEAN_APP_URL'] = 'https://example.com/leantime'; + + $this->bootstrapApplication(); + + $this->assertEquals('https://example.com/leantime', $this->config->get('app.url')); + $this->assertEquals('https://example.com/leantime', $this->config->get('appUrl')); + } + + public function testBaseUrlHandlesPort(): void + { + + $_ENV['LEAN_APP_URL'] = 'https://example.com:8443'; + + + $this->bootstrapApplication(); + + $this->assertEquals('https://example.com:8443', $this->config->get('app.url')); + $this->assertEquals('https://example.com:8443', $this->config->get('appUrl')); + } + + public function testBaseUrlHandlesReverseProxy(): void + { + // Simulate reverse proxy headers + $_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https'; + $_SERVER['HTTP_X_FORWARDED_HOST'] = 'example.com'; + + $_ENV['LEAN_APP_URL'] = 'https://example.com'; + + + $this->bootstrapApplication(); + + $this->assertEquals('https://example.com', $this->config->get('app.url')); + $this->assertEquals('https://example.com', $this->config->get('appUrl')); + } + + protected function tearDown(): void + { + parent::tearDown(); + + // Clean up environment + putenv('LEAN_APP_URL'); + unset($_SERVER['HTTP_X_FORWARDED_PROTO']); + unset($_SERVER['HTTP_X_FORWARDED_HOST']); + } +} From 9aa3ffb1d389af0508c7956d9f8df099cb936447 Mon Sep 17 00:00:00 2001 From: Marcel Folaron Date: Mon, 18 Nov 2024 12:42:42 -0500 Subject: [PATCH 3/3] code style fixes --- app/Core/Bootstrap/LoadConfig.php | 3 +- app/Core/Configuration/laravelConfig.php | 2 - app/Core/Db/Db.php | 1 - app/Core/Http/IncomingRequest.php | 1 - app/Core/Middleware/LoadPlugins.php | 1 - app/Core/Providers/Logging.php | 1 - app/Domain/Help/Composers/Helpermodal.php | 1 - app/helpers.php | 3 - .../Support/_generated/UnitTesterActions.php | 869 ++++++++++-------- tests/Unit/app/Core/ApplicationUrlTest.php | 6 +- 10 files changed, 506 insertions(+), 382 deletions(-) diff --git a/app/Core/Bootstrap/LoadConfig.php b/app/Core/Bootstrap/LoadConfig.php index 281636036..3013251fb 100644 --- a/app/Core/Bootstrap/LoadConfig.php +++ b/app/Core/Bootstrap/LoadConfig.php @@ -115,7 +115,8 @@ public function bootstrap(Application $app) * @param string $appUrl The URL to be used as BASE_URL and APP_URL. Defaults to an empty string. * @return void */ - public function setBaseConstants($appUrl, $app) { + public function setBaseConstants($appUrl, $app) + { if (! defined('BASE_URL')) { if (isset($appUrl) && ! empty($appUrl)) { diff --git a/app/Core/Configuration/laravelConfig.php b/app/Core/Configuration/laravelConfig.php index ed5db00c0..0e8a6cd78 100644 --- a/app/Core/Configuration/laravelConfig.php +++ b/app/Core/Configuration/laravelConfig.php @@ -437,7 +437,6 @@ ], ], - ], /* @@ -467,5 +466,4 @@ ], ], - ]; diff --git a/app/Core/Db/Db.php b/app/Core/Db/Db.php index 91a1196cd..49fa3acdf 100644 --- a/app/Core/Db/Db.php +++ b/app/Core/Db/Db.php @@ -73,7 +73,6 @@ public function __construct($connection = 'mysql') Log::error($e); throw new \Exception($e); - } } diff --git a/app/Core/Http/IncomingRequest.php b/app/Core/Http/IncomingRequest.php index b917cb8d5..3d014c06a 100644 --- a/app/Core/Http/IncomingRequest.php +++ b/app/Core/Http/IncomingRequest.php @@ -3,7 +3,6 @@ namespace Leantime\Core\Http; use Illuminate\Contracts\Container\BindingResolutionException; -use Leantime\Core\Configuration\Environment; use Leantime\Core\Console\CliRequest; use Symfony\Component\HttpFoundation\Request; diff --git a/app/Core/Middleware/LoadPlugins.php b/app/Core/Middleware/LoadPlugins.php index 2f2568daa..ead768765 100644 --- a/app/Core/Middleware/LoadPlugins.php +++ b/app/Core/Middleware/LoadPlugins.php @@ -3,7 +3,6 @@ namespace Leantime\Core\Middleware; use Closure; -use Illuminate\Pipeline\Pipeline; use Leantime\Core\Events\DispatchesEvents; use Leantime\Core\Http\IncomingRequest; use Symfony\Component\HttpFoundation\Response; diff --git a/app/Core/Providers/Logging.php b/app/Core/Providers/Logging.php index 493848302..073cd589a 100644 --- a/app/Core/Providers/Logging.php +++ b/app/Core/Providers/Logging.php @@ -2,7 +2,6 @@ namespace Leantime\Core\Providers; -use Illuminate\Container\Container; use Illuminate\Log; use Illuminate\Support\ServiceProvider; diff --git a/app/Domain/Help/Composers/Helpermodal.php b/app/Domain/Help/Composers/Helpermodal.php index c21273463..0a5a1c9b5 100644 --- a/app/Domain/Help/Composers/Helpermodal.php +++ b/app/Domain/Help/Composers/Helpermodal.php @@ -38,7 +38,6 @@ public function with(): array $currentModal = $this->helperService->getHelperModalByRoute($action); - if ( $completedOnboarding == '1' && $currentModal !== 'notfound' diff --git a/app/helpers.php b/app/helpers.php index d8180be08..2b696bcd0 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -272,7 +272,6 @@ function redirect($url = null, $http_response_code = 302, $headers = [], $secure * @param array $headers * @param bool|null $secure */ - function currentRoute() { @@ -285,7 +284,6 @@ function currentRoute() /** * Gets a unique instance key determined by domain - * */ function get_domain_key() { @@ -302,4 +300,3 @@ function get_domain_key() } } - diff --git a/tests/Support/_generated/UnitTesterActions.php b/tests/Support/_generated/UnitTesterActions.php index bb2815fc7..079603b7d 100644 --- a/tests/Support/_generated/UnitTesterActions.php +++ b/tests/Support/_generated/UnitTesterActions.php @@ -1,5 +1,8 @@ -getScenario()->runStep(new \Codeception\Step\Action('expectThrowable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file does not exist. + * * @see \Codeception\Module\AbstractAsserts::assertFileNotExists() */ - public function assertFileNotExists(string $filename, string $message = "") { + public function assertFileNotExists(string $filename, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileNotExists', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is greater than or equal to another value. * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertGreaterOrEquals() */ - public function assertGreaterOrEquals($expected, $actual, string $message = "") { + public function assertGreaterOrEquals($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterOrEquals', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is empty. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsEmpty() */ - public function assertIsEmpty($actual, string $message = "") { + public function assertIsEmpty($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsEmpty', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is smaller than or equal to another value. * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertLessOrEquals() */ - public function assertLessOrEquals($expected, $actual, string $message = "") { + public function assertLessOrEquals($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertLessOrEquals', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string does not match a given regular expression. + * * @see \Codeception\Module\AbstractAsserts::assertNotRegExp() */ - public function assertNotRegExp(string $pattern, string $string, string $message = "") { + public function assertNotRegExp(string $pattern, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotRegExp', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string matches a given regular expression. + * * @see \Codeception\Module\AbstractAsserts::assertRegExp() */ - public function assertRegExp(string $pattern, string $string, string $message = "") { + public function assertRegExp(string $pattern, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertRegExp', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Evaluates a PHPUnit\Framework\Constraint matcher object. * - * @param mixed $value + * @param mixed $value + * * @see \Codeception\Module\AbstractAsserts::assertThatItsNot() */ - public function assertThatItsNot($value, \PHPUnit\Framework\Constraint\Constraint $constraint, string $message = "") { + public function assertThatItsNot($value, \PHPUnit\Framework\Constraint\Constraint $constraint, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertThatItsNot', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that an array has a specified key. * - * @param int|string $key - * @param array|\ArrayAccess $array + * @param int|string $key + * @param array|\ArrayAccess $array + * * @see \Codeception\Module\AbstractAsserts::assertArrayHasKey() */ - public function assertArrayHasKey($key, $array, string $message = "") { + public function assertArrayHasKey($key, $array, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertArrayHasKey', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that an array does not have a specified key. * - * @param int|string $key - * @param array|\ArrayAccess $array + * @param int|string $key + * @param array|\ArrayAccess $array + * * @see \Codeception\Module\AbstractAsserts::assertArrayNotHasKey() */ - public function assertArrayNotHasKey($key, $array, string $message = "") { + public function assertArrayNotHasKey($key, $array, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertArrayNotHasKey', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a class has a specified attribute. + * * @see \Codeception\Module\AbstractAsserts::assertClassHasAttribute() */ - public function assertClassHasAttribute(string $attributeName, string $className, string $message = "") { + public function assertClassHasAttribute(string $attributeName, string $className, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertClassHasAttribute', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a class has a specified static attribute. + * * @see \Codeception\Module\AbstractAsserts::assertClassHasStaticAttribute() */ - public function assertClassHasStaticAttribute(string $attributeName, string $className, string $message = "") { + public function assertClassHasStaticAttribute(string $attributeName, string $className, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertClassHasStaticAttribute', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a class does not have a specified attribute. + * * @see \Codeception\Module\AbstractAsserts::assertClassNotHasAttribute() */ - public function assertClassNotHasAttribute(string $attributeName, string $className, string $message = "") { + public function assertClassNotHasAttribute(string $attributeName, string $className, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertClassNotHasAttribute', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a class does not have a specified static attribute. + * * @see \Codeception\Module\AbstractAsserts::assertClassNotHasStaticAttribute() */ - public function assertClassNotHasStaticAttribute(string $attributeName, string $className, string $message = "") { + public function assertClassNotHasStaticAttribute(string $attributeName, string $className, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertClassNotHasStaticAttribute', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a haystack contains a needle. * - * @param mixed $needle + * @param mixed $needle + * * @see \Codeception\Module\AbstractAsserts::assertContains() */ - public function assertContains($needle, iterable $haystack, string $message = "") { + public function assertContains($needle, iterable $haystack, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertContains', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * - * @param mixed $needle + * @param mixed $needle + * * @see \Codeception\Module\AbstractAsserts::assertContainsEquals() */ - public function assertContainsEquals($needle, iterable $haystack, string $message = "") { + public function assertContainsEquals($needle, iterable $haystack, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertContainsEquals', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a haystack contains only values of a given type. + * * @see \Codeception\Module\AbstractAsserts::assertContainsOnly() */ - public function assertContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = NULL, string $message = "") { + public function assertContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = null, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertContainsOnly', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a haystack contains only instances of a given class name. + * * @see \Codeception\Module\AbstractAsserts::assertContainsOnlyInstancesOf() */ - public function assertContainsOnlyInstancesOf(string $className, iterable $haystack, string $message = "") { + public function assertContainsOnlyInstancesOf(string $className, iterable $haystack, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertContainsOnlyInstancesOf', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts the number of elements of an array, Countable or Traversable. * - * @param \Countable|iterable $haystack + * @param \Countable|iterable $haystack + * * @see \Codeception\Module\AbstractAsserts::assertCount() */ - public function assertCount(int $expectedCount, $haystack, string $message = "") { + public function assertCount(int $expectedCount, $haystack, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertCount', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory does not exist. + * * @see \Codeception\Module\AbstractAsserts::assertDirectoryDoesNotExist() */ - public function assertDirectoryDoesNotExist(string $directory, string $message = "") { + public function assertDirectoryDoesNotExist(string $directory, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryDoesNotExist', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory exists. + * * @see \Codeception\Module\AbstractAsserts::assertDirectoryExists() */ - public function assertDirectoryExists(string $directory, string $message = "") { + public function assertDirectoryExists(string $directory, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryExists', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory exists and is not readable. + * * @see \Codeception\Module\AbstractAsserts::assertDirectoryIsNotReadable() */ - public function assertDirectoryIsNotReadable(string $directory, string $message = "") { + public function assertDirectoryIsNotReadable(string $directory, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryIsNotReadable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory exists and is not writable. + * * @see \Codeception\Module\AbstractAsserts::assertDirectoryIsNotWritable() */ - public function assertDirectoryIsNotWritable(string $directory, string $message = "") { + public function assertDirectoryIsNotWritable(string $directory, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryIsNotWritable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory exists and is readable. + * * @see \Codeception\Module\AbstractAsserts::assertDirectoryIsReadable() */ - public function assertDirectoryIsReadable(string $directory, string $message = "") { + public function assertDirectoryIsReadable(string $directory, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryIsReadable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a directory exists and is writable. + * * @see \Codeception\Module\AbstractAsserts::assertDirectoryIsWritable() */ - public function assertDirectoryIsWritable(string $directory, string $message = "") { + public function assertDirectoryIsWritable(string $directory, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDirectoryIsWritable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string does not match a given regular expression. + * * @see \Codeception\Module\AbstractAsserts::assertDoesNotMatchRegularExpression() */ - public function assertDoesNotMatchRegularExpression(string $pattern, string $string, string $message = "") { + public function assertDoesNotMatchRegularExpression(string $pattern, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertDoesNotMatchRegularExpression', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is empty. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertEmpty() */ - public function assertEmpty($actual, string $message = "") { + public function assertEmpty($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEmpty', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are equal. * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertEquals() */ - public function assertEquals($expected, $actual, string $message = "") { + public function assertEquals($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEquals', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are equal (canonicalizing). * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertEqualsCanonicalizing() */ - public function assertEqualsCanonicalizing($expected, $actual, string $message = "") { + public function assertEqualsCanonicalizing($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEqualsCanonicalizing', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are equal (ignoring case). * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertEqualsIgnoringCase() */ - public function assertEqualsIgnoringCase($expected, $actual, string $message = "") { + public function assertEqualsIgnoringCase($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEqualsIgnoringCase', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are equal (with delta). * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertEqualsWithDelta() */ - public function assertEqualsWithDelta($expected, $actual, float $delta, string $message = "") { + public function assertEqualsWithDelta($expected, $actual, float $delta, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEqualsWithDelta', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a condition is false. * - * @param mixed $condition + * @param mixed $condition + * * @see \Codeception\Module\AbstractAsserts::assertFalse() */ - public function assertFalse($condition, string $message = "") { + public function assertFalse($condition, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFalse', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file does not exist. + * * @see \Codeception\Module\AbstractAsserts::assertFileDoesNotExist() */ - public function assertFileDoesNotExist(string $filename, string $message = "") { + public function assertFileDoesNotExist(string $filename, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileDoesNotExist', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is equal to the contents of another file. + * * @see \Codeception\Module\AbstractAsserts::assertFileEquals() */ - public function assertFileEquals(string $expected, string $actual, string $message = "") { + public function assertFileEquals(string $expected, string $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileEquals', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is equal to the contents of another file (canonicalizing). + * * @see \Codeception\Module\AbstractAsserts::assertFileEqualsCanonicalizing() */ - public function assertFileEqualsCanonicalizing(string $expected, string $actual, string $message = "") { + public function assertFileEqualsCanonicalizing(string $expected, string $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileEqualsCanonicalizing', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is equal to the contents of another file (ignoring case). + * * @see \Codeception\Module\AbstractAsserts::assertFileEqualsIgnoringCase() */ - public function assertFileEqualsIgnoringCase(string $expected, string $actual, string $message = "") { + public function assertFileEqualsIgnoringCase(string $expected, string $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileEqualsIgnoringCase', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file exists. + * * @see \Codeception\Module\AbstractAsserts::assertFileExists() */ - public function assertFileExists(string $filename, string $message = "") { + public function assertFileExists(string $filename, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileExists', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file exists and is not readable. + * * @see \Codeception\Module\AbstractAsserts::assertFileIsNotReadable() */ - public function assertFileIsNotReadable(string $file, string $message = "") { + public function assertFileIsNotReadable(string $file, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileIsNotReadable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file exists and is not writable. + * * @see \Codeception\Module\AbstractAsserts::assertFileIsNotWritable() */ - public function assertFileIsNotWritable(string $file, string $message = "") { + public function assertFileIsNotWritable(string $file, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileIsNotWritable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file exists and is readable. + * * @see \Codeception\Module\AbstractAsserts::assertFileIsReadable() */ - public function assertFileIsReadable(string $file, string $message = "") { + public function assertFileIsReadable(string $file, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileIsReadable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file exists and is writable. + * * @see \Codeception\Module\AbstractAsserts::assertFileIsWritable() */ - public function assertFileIsWritable(string $file, string $message = "") { + public function assertFileIsWritable(string $file, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileIsWritable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is not equal to the contents of another file. + * * @see \Codeception\Module\AbstractAsserts::assertFileNotEquals() */ - public function assertFileNotEquals(string $expected, string $actual, string $message = "") { + public function assertFileNotEquals(string $expected, string $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileNotEquals', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is not equal to the contents of another file (canonicalizing). + * * @see \Codeception\Module\AbstractAsserts::assertFileNotEqualsCanonicalizing() */ - public function assertFileNotEqualsCanonicalizing(string $expected, string $actual, string $message = "") { + public function assertFileNotEqualsCanonicalizing(string $expected, string $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileNotEqualsCanonicalizing', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of one file is not equal to the contents of another file (ignoring case). + * * @see \Codeception\Module\AbstractAsserts::assertFileNotEqualsIgnoringCase() */ - public function assertFileNotEqualsIgnoringCase(string $expected, string $actual, string $message = "") { + public function assertFileNotEqualsIgnoringCase(string $expected, string $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileNotEqualsIgnoringCase', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is finite. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertFinite() */ - public function assertFinite($actual, string $message = "") { + public function assertFinite($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFinite', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is greater than another value. * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertGreaterThan() */ - public function assertGreaterThan($expected, $actual, string $message = "") { + public function assertGreaterThan($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThan', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is greater than or equal to another value. * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertGreaterThanOrEqual() */ - public function assertGreaterThanOrEqual($expected, $actual, string $message = "") { + public function assertGreaterThanOrEqual($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThanOrEqual', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is infinite. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertInfinite() */ - public function assertInfinite($actual, string $message = "") { + public function assertInfinite($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertInfinite', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of a given type. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertInstanceOf() */ - public function assertInstanceOf(string $expected, $actual, string $message = "") { + public function assertInstanceOf(string $expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertInstanceOf', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type array. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsArray() */ - public function assertIsArray($actual, string $message = "") { + public function assertIsArray($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsArray', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type bool. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsBool() */ - public function assertIsBool($actual, string $message = "") { + public function assertIsBool($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsBool', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type callable. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsCallable() */ - public function assertIsCallable($actual, string $message = "") { + public function assertIsCallable($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsCallable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type resource and is closed. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsClosedResource() */ - public function assertIsClosedResource($actual, string $message = "") { + public function assertIsClosedResource($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsClosedResource', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type float. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsFloat() */ - public function assertIsFloat($actual, string $message = "") { + public function assertIsFloat($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsFloat', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type int. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsInt() */ - public function assertIsInt($actual, string $message = "") { + public function assertIsInt($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsInt', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type iterable. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsIterable() */ - public function assertIsIterable($actual, string $message = "") { + public function assertIsIterable($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsIterable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type array. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotArray() */ - public function assertIsNotArray($actual, string $message = "") { + public function assertIsNotArray($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotArray', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type bool. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotBool() */ - public function assertIsNotBool($actual, string $message = "") { + public function assertIsNotBool($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotBool', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type callable. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotCallable() */ - public function assertIsNotCallable($actual, string $message = "") { + public function assertIsNotCallable($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotCallable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type resource. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotClosedResource() */ - public function assertIsNotClosedResource($actual, string $message = "") { + public function assertIsNotClosedResource($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotClosedResource', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type float. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotFloat() */ - public function assertIsNotFloat($actual, string $message = "") { + public function assertIsNotFloat($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotFloat', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type int. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotInt() */ - public function assertIsNotInt($actual, string $message = "") { + public function assertIsNotInt($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotInt', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type iterable. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotIterable() */ - public function assertIsNotIterable($actual, string $message = "") { + public function assertIsNotIterable($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotIterable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type numeric. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotNumeric() */ - public function assertIsNotNumeric($actual, string $message = "") { + public function assertIsNotNumeric($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotNumeric', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type object. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotObject() */ - public function assertIsNotObject($actual, string $message = "") { + public function assertIsNotObject($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotObject', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file/dir exists and is not readable. + * * @see \Codeception\Module\AbstractAsserts::assertIsNotReadable() */ - public function assertIsNotReadable(string $filename, string $message = "") { + public function assertIsNotReadable(string $filename, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotReadable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type resource. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotResource() */ - public function assertIsNotResource($actual, string $message = "") { + public function assertIsNotResource($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotResource', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type scalar. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotScalar() */ - public function assertIsNotScalar($actual, string $message = "") { + public function assertIsNotScalar($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotScalar', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of type string. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNotString() */ - public function assertIsNotString($actual, string $message = "") { + public function assertIsNotString($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotString', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file/dir exists and is not writable. + * * @see \Codeception\Module\AbstractAsserts::assertIsNotWritable() */ - public function assertIsNotWritable(string $filename, string $message = "") { + public function assertIsNotWritable(string $filename, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNotWritable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type numeric. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsNumeric() */ - public function assertIsNumeric($actual, string $message = "") { + public function assertIsNumeric($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsNumeric', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type object. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsObject() */ - public function assertIsObject($actual, string $message = "") { + public function assertIsObject($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsObject', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file/dir is readable. + * * @see \Codeception\Module\AbstractAsserts::assertIsReadable() */ - public function assertIsReadable(string $filename, string $message = "") { + public function assertIsReadable(string $filename, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsReadable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type resource. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsResource() */ - public function assertIsResource($actual, string $message = "") { + public function assertIsResource($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsResource', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type scalar. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsScalar() */ - public function assertIsScalar($actual, string $message = "") { + public function assertIsScalar($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsScalar', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is of type string. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertIsString() */ - public function assertIsString($actual, string $message = "") { + public function assertIsString($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsString', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a file/dir exists and is writable. + * * @see \Codeception\Module\AbstractAsserts::assertIsWritable() */ - public function assertIsWritable(string $filename, string $message = "") { + public function assertIsWritable(string $filename, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertIsWritable', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string is a valid JSON string. + * * @see \Codeception\Module\AbstractAsserts::assertJson() */ - public function assertJson(string $actualJson, string $message = "") { + public function assertJson(string $actualJson, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJson', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two JSON files are equal. + * * @see \Codeception\Module\AbstractAsserts::assertJsonFileEqualsJsonFile() */ - public function assertJsonFileEqualsJsonFile(string $expectedFile, string $actualFile, string $message = "") { + public function assertJsonFileEqualsJsonFile(string $expectedFile, string $actualFile, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonFileEqualsJsonFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two JSON files are not equal. + * * @see \Codeception\Module\AbstractAsserts::assertJsonFileNotEqualsJsonFile() */ - public function assertJsonFileNotEqualsJsonFile(string $expectedFile, string $actualFile, string $message = "") { + public function assertJsonFileNotEqualsJsonFile(string $expectedFile, string $actualFile, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonFileNotEqualsJsonFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the generated JSON encoded object and the content of the given file are equal. + * * @see \Codeception\Module\AbstractAsserts::assertJsonStringEqualsJsonFile() */ - public function assertJsonStringEqualsJsonFile(string $expectedFile, string $actualJson, string $message = "") { + public function assertJsonStringEqualsJsonFile(string $expectedFile, string $actualJson, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonStringEqualsJsonFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two given JSON encoded objects or arrays are equal. + * * @see \Codeception\Module\AbstractAsserts::assertJsonStringEqualsJsonString() */ - public function assertJsonStringEqualsJsonString(string $expectedJson, string $actualJson, string $message = "") { + public function assertJsonStringEqualsJsonString(string $expectedJson, string $actualJson, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonStringEqualsJsonString', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the generated JSON encoded object and the content of the given file are not equal. + * * @see \Codeception\Module\AbstractAsserts::assertJsonStringNotEqualsJsonFile() */ - public function assertJsonStringNotEqualsJsonFile(string $expectedFile, string $actualJson, string $message = "") { + public function assertJsonStringNotEqualsJsonFile(string $expectedFile, string $actualJson, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonStringNotEqualsJsonFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two given JSON encoded objects or arrays are not equal. + * * @see \Codeception\Module\AbstractAsserts::assertJsonStringNotEqualsJsonString() */ - public function assertJsonStringNotEqualsJsonString(string $expectedJson, string $actualJson, string $message = "") { + public function assertJsonStringNotEqualsJsonString(string $expectedJson, string $actualJson, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertJsonStringNotEqualsJsonString', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is smaller than another value. * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertLessThan() */ - public function assertLessThan($expected, $actual, string $message = "") { + public function assertLessThan($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertLessThan', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a value is smaller than or equal to another value. * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertLessThanOrEqual() */ - public function assertLessThanOrEqual($expected, $actual, string $message = "") { + public function assertLessThanOrEqual($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertLessThanOrEqual', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string matches a given regular expression. + * * @see \Codeception\Module\AbstractAsserts::assertMatchesRegularExpression() */ - public function assertMatchesRegularExpression(string $pattern, string $string, string $message = "") { + public function assertMatchesRegularExpression(string $pattern, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertMatchesRegularExpression', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is nan. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertNan() */ - public function assertNan($actual, string $message = "") { + public function assertNan($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNan', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a haystack does not contain a needle. * - * @param mixed $needle + * @param mixed $needle + * * @see \Codeception\Module\AbstractAsserts::assertNotContains() */ - public function assertNotContains($needle, iterable $haystack, string $message = "") { + public function assertNotContains($needle, iterable $haystack, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotContains', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * * @see \Codeception\Module\AbstractAsserts::assertNotContainsEquals() */ - public function assertNotContainsEquals($needle, iterable $haystack, string $message = "") { + public function assertNotContainsEquals($needle, iterable $haystack, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotContainsEquals', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a haystack does not contain only values of a given type. + * * @see \Codeception\Module\AbstractAsserts::assertNotContainsOnly() */ - public function assertNotContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = NULL, string $message = "") { + public function assertNotContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = null, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotContainsOnly', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts the number of elements of an array, Countable or Traversable. * - * @param \Countable|iterable $haystack + * @param \Countable|iterable $haystack + * * @see \Codeception\Module\AbstractAsserts::assertNotCount() */ - public function assertNotCount(int $expectedCount, $haystack, string $message = "") { + public function assertNotCount(int $expectedCount, $haystack, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotCount', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not empty. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertNotEmpty() */ - public function assertNotEmpty($actual, string $message = "") { + public function assertNotEmpty($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEmpty', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are not equal. * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertNotEquals() */ - public function assertNotEquals($expected, $actual, string $message = "") { + public function assertNotEquals($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEquals', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are not equal (canonicalizing). * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertNotEqualsCanonicalizing() */ - public function assertNotEqualsCanonicalizing($expected, $actual, string $message = "") { + public function assertNotEqualsCanonicalizing($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEqualsCanonicalizing', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are not equal (ignoring case). * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertNotEqualsIgnoringCase() */ - public function assertNotEqualsIgnoringCase($expected, $actual, string $message = "") { + public function assertNotEqualsIgnoringCase($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEqualsIgnoringCase', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables are not equal (with delta). * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertNotEqualsWithDelta() */ - public function assertNotEqualsWithDelta($expected, $actual, float $delta, string $message = "") { + public function assertNotEqualsWithDelta($expected, $actual, float $delta, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEqualsWithDelta', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a condition is not false. * - * @param mixed $condition + * @param mixed $condition + * * @see \Codeception\Module\AbstractAsserts::assertNotFalse() */ - public function assertNotFalse($condition, string $message = "") { + public function assertNotFalse($condition, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotFalse', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not of a given type. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertNotInstanceOf() */ - public function assertNotInstanceOf(string $expected, $actual, string $message = "") { + public function assertNotInstanceOf(string $expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotInstanceOf', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is not null. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertNotNull() */ - public function assertNotNull($actual, string $message = "") { + public function assertNotNull($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotNull', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables do not have the same type and value. * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertNotSame() */ - public function assertNotSame($expected, $actual, string $message = "") { + public function assertNotSame($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotSame', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Assert that the size of two arrays (or `Countable` or `Traversable` objects) is not the same. * - * @param \Countable|iterable $expected - * @param \Countable|iterable $actual + * @param \Countable|iterable $expected + * @param \Countable|iterable $actual + * * @see \Codeception\Module\AbstractAsserts::assertNotSameSize() */ - public function assertNotSameSize($expected, $actual, string $message = "") { + public function assertNotSameSize($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotSameSize', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a condition is not true. * - * @param mixed $condition + * @param mixed $condition + * * @see \Codeception\Module\AbstractAsserts::assertNotTrue() */ - public function assertNotTrue($condition, string $message = "") { + public function assertNotTrue($condition, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotTrue', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a variable is null. * - * @param mixed $actual + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertNull() */ - public function assertNull($actual, string $message = "") { + public function assertNull($actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNull', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that an object has a specified attribute. + * * @see \Codeception\Module\AbstractAsserts::assertObjectHasAttribute() */ - public function assertObjectHasAttribute(string $attributeName, object $object, string $message = "") { + public function assertObjectHasAttribute(string $attributeName, object $object, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertObjectHasAttribute', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that an object does not have a specified attribute. + * * @see \Codeception\Module\AbstractAsserts::assertObjectNotHasAttribute() */ - public function assertObjectNotHasAttribute(string $attributeName, object $object, string $message = "") { + public function assertObjectNotHasAttribute(string $attributeName, object $object, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertObjectNotHasAttribute', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two variables have the same type and value. * - * @param mixed $expected - * @param mixed $actual + * @param mixed $expected + * @param mixed $actual + * * @see \Codeception\Module\AbstractAsserts::assertSame() */ - public function assertSame($expected, $actual, string $message = "") { + public function assertSame($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertSame', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Assert that the size of two arrays (or `Countable` or `Traversable` objects) is the same. * - * @param \Countable|iterable $expected - * @param \Countable|iterable $actual + * @param \Countable|iterable $expected + * @param \Countable|iterable $actual + * * @see \Codeception\Module\AbstractAsserts::assertSameSize() */ - public function assertSameSize($expected, $actual, string $message = "") { + public function assertSameSize($expected, $actual, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertSameSize', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * * @see \Codeception\Module\AbstractAsserts::assertStringContainsString() */ - public function assertStringContainsString(string $needle, string $haystack, string $message = "") { + public function assertStringContainsString(string $needle, string $haystack, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringContainsString', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * * @see \Codeception\Module\AbstractAsserts::assertStringContainsStringIgnoringCase() */ - public function assertStringContainsStringIgnoringCase(string $needle, string $haystack, string $message = "") { + public function assertStringContainsStringIgnoringCase(string $needle, string $haystack, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringContainsStringIgnoringCase', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string ends not with a given suffix. + * * @see \Codeception\Module\AbstractAsserts::assertStringEndsNotWith() */ - public function assertStringEndsNotWith(string $suffix, string $string, string $message = "") { + public function assertStringEndsNotWith(string $suffix, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringEndsNotWith', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string ends with a given suffix. + * * @see \Codeception\Module\AbstractAsserts::assertStringEndsWith() */ - public function assertStringEndsWith(string $suffix, string $string, string $message = "") { + public function assertStringEndsWith(string $suffix, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringEndsWith', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is equal to the contents of a file. + * * @see \Codeception\Module\AbstractAsserts::assertStringEqualsFile() */ - public function assertStringEqualsFile(string $expectedFile, string $actualString, string $message = "") { + public function assertStringEqualsFile(string $expectedFile, string $actualString, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringEqualsFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is equal to the contents of a file (canonicalizing). + * * @see \Codeception\Module\AbstractAsserts::assertStringEqualsFileCanonicalizing() */ - public function assertStringEqualsFileCanonicalizing(string $expectedFile, string $actualString, string $message = "") { + public function assertStringEqualsFileCanonicalizing(string $expectedFile, string $actualString, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringEqualsFileCanonicalizing', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is equal to the contents of a file (ignoring case). + * * @see \Codeception\Module\AbstractAsserts::assertStringEqualsFileIgnoringCase() */ - public function assertStringEqualsFileIgnoringCase(string $expectedFile, string $actualString, string $message = "") { + public function assertStringEqualsFileIgnoringCase(string $expectedFile, string $actualString, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringEqualsFileIgnoringCase', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string matches a given format string. + * * @see \Codeception\Module\AbstractAsserts::assertStringMatchesFormat() */ - public function assertStringMatchesFormat(string $format, string $string, string $message = "") { + public function assertStringMatchesFormat(string $format, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringMatchesFormat', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string matches a given format file. + * * @see \Codeception\Module\AbstractAsserts::assertStringMatchesFormatFile() */ - public function assertStringMatchesFormatFile(string $formatFile, string $string, string $message = "") { + public function assertStringMatchesFormatFile(string $formatFile, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringMatchesFormatFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * * @see \Codeception\Module\AbstractAsserts::assertStringNotContainsString() */ - public function assertStringNotContainsString(string $needle, string $haystack, string $message = "") { + public function assertStringNotContainsString(string $needle, string $haystack, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotContainsString', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * * @see \Codeception\Module\AbstractAsserts::assertStringNotContainsStringIgnoringCase() */ - public function assertStringNotContainsStringIgnoringCase(string $needle, string $haystack, string $message = "") { + public function assertStringNotContainsStringIgnoringCase(string $needle, string $haystack, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotContainsStringIgnoringCase', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is not equal to the contents of a file. + * * @see \Codeception\Module\AbstractAsserts::assertStringNotEqualsFile() */ - public function assertStringNotEqualsFile(string $expectedFile, string $actualString, string $message = "") { + public function assertStringNotEqualsFile(string $expectedFile, string $actualString, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotEqualsFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is not equal to the contents of a file (canonicalizing). + * * @see \Codeception\Module\AbstractAsserts::assertStringNotEqualsFileCanonicalizing() */ - public function assertStringNotEqualsFileCanonicalizing(string $expectedFile, string $actualString, string $message = "") { + public function assertStringNotEqualsFileCanonicalizing(string $expectedFile, string $actualString, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotEqualsFileCanonicalizing', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that the contents of a string is not equal to the contents of a file (ignoring case). + * * @see \Codeception\Module\AbstractAsserts::assertStringNotEqualsFileIgnoringCase() */ - public function assertStringNotEqualsFileIgnoringCase(string $expectedFile, string $actualString, string $message = "") { + public function assertStringNotEqualsFileIgnoringCase(string $expectedFile, string $actualString, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotEqualsFileIgnoringCase', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string does not match a given format string. + * * @see \Codeception\Module\AbstractAsserts::assertStringNotMatchesFormat() */ - public function assertStringNotMatchesFormat(string $format, string $string, string $message = "") { + public function assertStringNotMatchesFormat(string $format, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotMatchesFormat', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string does not match a given format string. + * * @see \Codeception\Module\AbstractAsserts::assertStringNotMatchesFormatFile() */ - public function assertStringNotMatchesFormatFile(string $formatFile, string $string, string $message = "") { + public function assertStringNotMatchesFormatFile(string $formatFile, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringNotMatchesFormatFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string starts not with a given prefix. + * * @see \Codeception\Module\AbstractAsserts::assertStringStartsNotWith() */ - public function assertStringStartsNotWith(string $prefix, string $string, string $message = "") { + public function assertStringStartsNotWith(string $prefix, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringStartsNotWith', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a string starts with a given prefix. + * * @see \Codeception\Module\AbstractAsserts::assertStringStartsWith() */ - public function assertStringStartsWith(string $prefix, string $string, string $message = "") { + public function assertStringStartsWith(string $prefix, string $string, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertStringStartsWith', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Evaluates a PHPUnit\Framework\Constraint matcher object. * - * @param mixed $value + * @param mixed $value + * * @see \Codeception\Module\AbstractAsserts::assertThat() */ - public function assertThat($value, \PHPUnit\Framework\Constraint\Constraint $constraint, string $message = "") { + public function assertThat($value, \PHPUnit\Framework\Constraint\Constraint $constraint, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertThat', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that a condition is true. * - * @param mixed $condition + * @param mixed $condition + * * @see \Codeception\Module\AbstractAsserts::assertTrue() */ - public function assertTrue($condition, string $message = "") { + public function assertTrue($condition, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertTrue', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML files are equal. + * * @see \Codeception\Module\AbstractAsserts::assertXmlFileEqualsXmlFile() */ - public function assertXmlFileEqualsXmlFile(string $expectedFile, string $actualFile, string $message = "") { + public function assertXmlFileEqualsXmlFile(string $expectedFile, string $actualFile, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlFileEqualsXmlFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML files are not equal. + * * @see \Codeception\Module\AbstractAsserts::assertXmlFileNotEqualsXmlFile() */ - public function assertXmlFileNotEqualsXmlFile(string $expectedFile, string $actualFile, string $message = "") { + public function assertXmlFileNotEqualsXmlFile(string $expectedFile, string $actualFile, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlFileNotEqualsXmlFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML documents are equal. * - * @param \DOMDocument|string $actualXml + * @param \DOMDocument|string $actualXml + * * @see \Codeception\Module\AbstractAsserts::assertXmlStringEqualsXmlFile() */ - public function assertXmlStringEqualsXmlFile(string $expectedFile, $actualXml, string $message = "") { + public function assertXmlStringEqualsXmlFile(string $expectedFile, $actualXml, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlStringEqualsXmlFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML documents are equal. * - * @param \DOMDocument|string $expectedXml - * @param \DOMDocument|string $actualXml + * @param \DOMDocument|string $expectedXml + * @param \DOMDocument|string $actualXml + * * @see \Codeception\Module\AbstractAsserts::assertXmlStringEqualsXmlString() */ - public function assertXmlStringEqualsXmlString($expectedXml, $actualXml, string $message = "") { + public function assertXmlStringEqualsXmlString($expectedXml, $actualXml, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlStringEqualsXmlString', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML documents are not equal. * - * @param \DOMDocument|string $actualXml + * @param \DOMDocument|string $actualXml + * * @see \Codeception\Module\AbstractAsserts::assertXmlStringNotEqualsXmlFile() */ - public function assertXmlStringNotEqualsXmlFile(string $expectedFile, $actualXml, string $message = "") { + public function assertXmlStringNotEqualsXmlFile(string $expectedFile, $actualXml, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlStringNotEqualsXmlFile', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Asserts that two XML documents are not equal. * - * @param \DOMDocument|string $expectedXml - * @param \DOMDocument|string $actualXml + * @param \DOMDocument|string $expectedXml + * @param \DOMDocument|string $actualXml + * * @see \Codeception\Module\AbstractAsserts::assertXmlStringNotEqualsXmlString() */ - public function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, string $message = "") { + public function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('assertXmlStringNotEqualsXmlString', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Fails a test with the given message. + * * @see \Codeception\Module\AbstractAsserts::fail() */ - public function fail(string $message = "") { + public function fail(string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('fail', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Mark the test as incomplete. + * * @see \Codeception\Module\AbstractAsserts::markTestIncomplete() */ - public function markTestIncomplete(string $message = "") { + public function markTestIncomplete(string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('markTestIncomplete', func_get_args())); } - /** * [!] Method is generated. Documentation taken from corresponding module. * * Mark the test as skipped. + * * @see \Codeception\Module\AbstractAsserts::markTestSkipped() */ - public function markTestSkipped(string $message = "") { + public function markTestSkipped(string $message = '') + { return $this->getScenario()->runStep(new \Codeception\Step\Action('markTestSkipped', func_get_args())); } } diff --git a/tests/Unit/app/Core/ApplicationUrlTest.php b/tests/Unit/app/Core/ApplicationUrlTest.php index dace20bdd..7b46da66c 100644 --- a/tests/Unit/app/Core/ApplicationUrlTest.php +++ b/tests/Unit/app/Core/ApplicationUrlTest.php @@ -6,7 +6,6 @@ use Leantime\Core\Bootstrap\LoadConfig; use Leantime\Core\Bootstrap\SetRequestForConsole; use Leantime\Core\Configuration\Environment; -use Tests\Unit\TestCase; class ApplicationUrlTest extends \Unit\TestCase { @@ -23,7 +22,8 @@ protected function setUp(): void } - protected function bootstrapApplication() { + protected function bootstrapApplication() + { $this->app = new Application(APP_ROOT); $this->app->boot(); @@ -79,7 +79,6 @@ public function testBaseUrlHandlesPort(): void $_ENV['LEAN_APP_URL'] = 'https://example.com:8443'; - $this->bootstrapApplication(); $this->assertEquals('https://example.com:8443', $this->config->get('app.url')); @@ -94,7 +93,6 @@ public function testBaseUrlHandlesReverseProxy(): void $_ENV['LEAN_APP_URL'] = 'https://example.com'; - $this->bootstrapApplication(); $this->assertEquals('https://example.com', $this->config->get('app.url'));