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:
   
![skipped_unit_test_before](https://github.com/user-attachments/assets/3a5af241-caa5-4b02-a219-6bd7901ed90e)
   
   after:
   
![skipped_unit_test_after](https://github.com/user-attachments/assets/3c2dbb81-2858-489c-ba0a-195421be8065)
   
   <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:
   
![skipped_functional_test_before](https://github.com/user-attachments/assets/97703327-a480-459a-bf5f-f245a546ce3a)
   
   after:
   
![skipped_functional_test_after](https://github.com/user-attachments/assets/af7fca91-8c70-4cc9-8275-8aa49134af6e)
   
   


-- 
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

Reply via email to