troizet opened a new pull request, #7857: URL: https://github.com/apache/netbeans/pull/7857
The testing was done using [yii2 basic](https://www.yiiframework.com/doc/guide/2.0/en/start-installation) as an example. The tests need to be changed so that there is at least one skippable test. <details> <summary>unit tests: basic/tests/unit/widgets/AlertTest.php</summary> ```php <?php namespace tests\unit\widgets; use app\widgets\Alert; use Codeception\Test\Unit; use Yii; class AlertTest extends Unit { public function testSingleErrorMessage() { $message = 'This is an error message'; Yii::$app->session->setFlash('error', $message); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($message); verify($renderingResult)->stringContainsString('alert-danger'); verify($renderingResult)->stringNotContainsString('alert-success'); verify($renderingResult)->stringNotContainsString('alert-info'); verify($renderingResult)->stringNotContainsString('alert-warning'); } public function testMultipleErrorMessages() { self::markTestSkipped('Manually skipped'); $firstMessage = 'This is the first error message'; $secondMessage = 'This is the second error message'; Yii::$app->session->setFlash('error', [$firstMessage, $secondMessage]); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($firstMessage); verify($renderingResult)->stringContainsString($secondMessage); verify($renderingResult)->stringContainsString('alert-danger'); verify($renderingResult)->stringNotContainsString('alert-success'); verify($renderingResult)->stringNotContainsString('alert-info'); verify($renderingResult)->stringNotContainsString('alert-warning'); } public function testSingleDangerMessage() { $message = 'This is a danger message'; Yii::$app->session->setFlash('danger', $message); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($message); verify($renderingResult)->stringContainsString('alert-danger'); verify($renderingResult)->stringNotContainsString('alert-success'); verify($renderingResult)->stringNotContainsString('alert-info'); verify($renderingResult)->stringNotContainsString('alert-warning'); } public function testMultipleDangerMessages() { $firstMessage = 'This is the first danger message'; $secondMessage = 'This is the second danger message'; Yii::$app->session->setFlash('danger', [$firstMessage, $secondMessage]); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($firstMessage); verify($renderingResult)->stringContainsString($secondMessage); verify($renderingResult)->stringContainsString('alert-danger'); verify($renderingResult)->stringNotContainsString('alert-success'); verify($renderingResult)->stringNotContainsString('alert-info'); verify($renderingResult)->stringNotContainsString('alert-warning'); } public function testSingleSuccessMessage() { $message = 'This is a success message'; Yii::$app->session->setFlash('success', $message); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($message); verify($renderingResult)->stringContainsString('alert-success'); verify($renderingResult)->stringNotContainsString('alert-danger'); verify($renderingResult)->stringNotContainsString('alert-info'); verify($renderingResult)->stringNotContainsString('alert-warning'); } public function testMultipleSuccessMessages() { $firstMessage = 'This is the first danger message'; $secondMessage = 'This is the second danger message'; Yii::$app->session->setFlash('success', [$firstMessage, $secondMessage]); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($firstMessage); verify($renderingResult)->stringContainsString($secondMessage); verify($renderingResult)->stringContainsString('alert-success'); verify($renderingResult)->stringNotContainsString('alert-danger'); verify($renderingResult)->stringNotContainsString('alert-info'); verify($renderingResult)->stringNotContainsString('alert-warning'); } public function testSingleInfoMessage() { $message = 'This is an info message'; Yii::$app->session->setFlash('info', $message); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($message); verify($renderingResult)->stringContainsString('alert-info'); verify($renderingResult)->stringNotContainsString('alert-danger'); verify($renderingResult)->stringNotContainsString('alert-success'); verify($renderingResult)->stringNotContainsString('alert-warning'); } public function testMultipleInfoMessages() { $firstMessage = 'This is the first info message'; $secondMessage = 'This is the second info message'; Yii::$app->session->setFlash('info', [$firstMessage, $secondMessage]); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($firstMessage); verify($renderingResult)->stringContainsString($secondMessage); verify($renderingResult)->stringContainsString('alert-info'); verify($renderingResult)->stringNotContainsString('alert-danger'); verify($renderingResult)->stringNotContainsString('alert-success'); verify($renderingResult)->stringNotContainsString('alert-warning'); } public function testSingleWarningMessage() { $message = 'This is a warning message'; Yii::$app->session->setFlash('warning', $message); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($message); verify($renderingResult)->stringContainsString('alert-warning'); verify($renderingResult)->stringNotContainsString('alert-danger'); verify($renderingResult)->stringNotContainsString('alert-success'); verify($renderingResult)->stringNotContainsString('alert-info'); } public function testMultipleWarningMessages() { $firstMessage = 'This is the first warning message'; $secondMessage = 'This is the second warning message'; Yii::$app->session->setFlash('warning', [$firstMessage, $secondMessage]); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($firstMessage); verify($renderingResult)->stringContainsString($secondMessage); verify($renderingResult)->stringContainsString('alert-warning'); verify($renderingResult)->stringNotContainsString('alert-danger'); verify($renderingResult)->stringNotContainsString('alert-success'); verify($renderingResult)->stringNotContainsString('alert-info'); } public function testSingleMixedMessages() { $errorMessage = 'This is an error message'; $dangerMessage = 'This is a danger message'; $successMessage = 'This is a success message'; $infoMessage = 'This is a info message'; $warningMessage = 'This is a warning message'; Yii::$app->session->setFlash('error', $errorMessage); Yii::$app->session->setFlash('danger', $dangerMessage); Yii::$app->session->setFlash('success', $successMessage); Yii::$app->session->setFlash('info', $infoMessage); Yii::$app->session->setFlash('warning', $warningMessage); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($errorMessage); verify($renderingResult)->stringContainsString($dangerMessage); verify($renderingResult)->stringContainsString($successMessage); verify($renderingResult)->stringContainsString($infoMessage); verify($renderingResult)->stringContainsString($warningMessage); verify($renderingResult)->stringContainsString('alert-danger'); verify($renderingResult)->stringContainsString('alert-success'); verify($renderingResult)->stringContainsString('alert-info'); verify($renderingResult)->stringContainsString('alert-warning'); } public function testMultipleMixedMessages() { $firstErrorMessage = 'This is the first error message'; $secondErrorMessage = 'This is the second error message'; $firstDangerMessage = 'This is the first danger message'; $secondDangerMessage = 'This is the second'; $firstSuccessMessage = 'This is the first success message'; $secondSuccessMessage = 'This is the second success message'; $firstInfoMessage = 'This is the first info message'; $secondInfoMessage = 'This is the second info message'; $firstWarningMessage = 'This is the first warning message'; $secondWarningMessage = 'This is the second warning message'; Yii::$app->session->setFlash('error', [$firstErrorMessage, $secondErrorMessage]); Yii::$app->session->setFlash('danger', [$firstDangerMessage, $secondDangerMessage]); Yii::$app->session->setFlash('success', [$firstSuccessMessage, $secondSuccessMessage]); Yii::$app->session->setFlash('info', [$firstInfoMessage, $secondInfoMessage]); Yii::$app->session->setFlash('warning', [$firstWarningMessage, $secondWarningMessage]); $renderingResult = Alert::widget(); verify($renderingResult)->stringContainsString($firstErrorMessage); verify($renderingResult)->stringContainsString($secondErrorMessage); verify($renderingResult)->stringContainsString($firstDangerMessage); verify($renderingResult)->stringContainsString($secondDangerMessage); verify($renderingResult)->stringContainsString($firstSuccessMessage); verify($renderingResult)->stringContainsString($secondSuccessMessage); verify($renderingResult)->stringContainsString($firstInfoMessage); verify($renderingResult)->stringContainsString($secondInfoMessage); verify($renderingResult)->stringContainsString($firstWarningMessage); verify($renderingResult)->stringContainsString($secondWarningMessage); verify($renderingResult)->stringContainsString('alert-danger'); verify($renderingResult)->stringContainsString('alert-success'); verify($renderingResult)->stringContainsString('alert-info'); verify($renderingResult)->stringContainsString('alert-warning'); } public function testFlashIntegrity() { $errorMessage = 'This is an error message'; $unrelatedMessage = 'This is a message that is not related to the alert widget'; Yii::$app->session->setFlash('error', $errorMessage); Yii::$app->session->setFlash('unrelated', $unrelatedMessage); Alert::widget(); // Simulate redirect Yii::$app->session->close(); Yii::$app->session->open(); verify(Yii::$app->session->getFlash('error'))->empty(); verify(Yii::$app->session->getFlash('unrelated'))->equals($unrelatedMessage); } } ``` </details> before:  after:  <details> <summary>functional tests: basic/tests/functional/LoginFormCest.php</summary> ```php <?php use app\models\User; use Codeception\Attribute\Skip; class LoginFormCest { public function _before(FunctionalTester $I) { $I->amOnRoute('site/login'); } #[Skip] public function openLoginPage(FunctionalTester $I, $scenario) { $scenario->skip('your message'); $I->see('Login', 'h1'); } // demonstrates `amLoggedInAs` method public function internalLoginById(FunctionalTester $I) { $I->amLoggedInAs(100); $I->amOnPage('/'); $I->see('Logout (admin)'); } // demonstrates `amLoggedInAs` method public function internalLoginByInstance(FunctionalTester $I) { $I->amLoggedInAs(User::findByUsername('admin')); $I->amOnPage('/'); $I->see('Logout (admin)'); } public function loginWithEmptyCredentials(FunctionalTester $I) { $I->submitForm('#login-form', []); $I->expectTo('see validations errors'); $I->see('Username cannot be blank.'); $I->see('Password cannot be blank.'); } public function loginWithWrongCredentials(FunctionalTester $I) { $I->submitForm('#login-form', [ 'LoginForm[username]' => 'admin', 'LoginForm[password]' => 'wrong', ]); $I->expectTo('see validations errors'); $I->see('Incorrect username or password.'); } public function loginSuccessfully(FunctionalTester $I) { $I->submitForm('#login-form', [ 'LoginForm[username]' => 'admin', 'LoginForm[password]' => 'admin', ]); $I->see('Logout (admin)'); $I->dontSeeElement('form#login-form'); } } ``` </details> before:  after:  -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
