|
7 | 7 | use Codeception\Lib\Framework;
|
8 | 8 | use Codeception\Test\Unit;
|
9 | 9 | use PHPUnit\Framework\AssertionFailedError;
|
| 10 | +use PHPUnit\Framework\ExpectationFailedException; |
10 | 11 |
|
11 | 12 | /**
|
12 | 13 | * Author: davert
|
@@ -480,22 +481,36 @@ public function testFileFieldByLabel()
|
480 | 481 | $this->assertNotEmpty(data::get('files'));
|
481 | 482 | }
|
482 | 483 |
|
483 |
| - public function testSeeCheckboxIsNotChecked() |
484 |
| - { |
485 |
| - $this->module->amOnPage('/form/checkbox'); |
486 |
| - $this->module->dontSeeCheckboxIsChecked('#checkin'); |
487 |
| - $this->module->dontSeeCheckboxIsChecked(['css' => '#checkin']); |
488 |
| - $this->module->dontSeeCheckboxIsChecked('I Agree'); |
| 484 | + public function checkBoxes(): iterable { |
| 485 | + yield ['/form/checkbox_checked', ['css' => "#checkedbox1"], true]; |
| 486 | + yield ['/form/checkbox_checked', ['css' => "#checkedbox2"], true]; |
| 487 | + yield ['/form/checkbox', '#checkin', false]; |
| 488 | + yield ['/form/checkbox', ['css' => '#checkin'], false]; |
| 489 | + yield ['/form/checkbox', 'I Agree', false]; |
| 490 | + yield ['/info', 'input[type=checkbox]', true]; |
| 491 | + yield ['/info', ['css' => 'input[type=checkbox]'], true]; |
| 492 | + yield ['/info', 'Checked', true]; |
489 | 493 | }
|
490 | 494 |
|
491 |
| - public function testSeeCheckboxChecked() |
| 495 | + #[\Codeception\Attribute\DataProvider('checkBoxes')] |
| 496 | + public function testSeeCheckboxIsNotChecked(string $page, string|array $selector, bool $checked): void |
492 | 497 | {
|
493 |
| - $this->module->amOnPage('/info'); |
494 |
| - $this->module->seeCheckboxIsChecked('input[type=checkbox]'); |
495 |
| - $this->module->seeCheckboxIsChecked(['css' => 'input[type=checkbox]']); |
496 |
| - $this->module->seeCheckboxIsChecked('Checked'); |
| 498 | + $this->module->amOnPage($page); |
| 499 | + if ($checked) { |
| 500 | + $this->expectException(ExpectationFailedException::class); |
| 501 | + } |
| 502 | + $this->module->dontSeeCheckboxIsChecked($selector); |
497 | 503 | }
|
498 | 504 |
|
| 505 | + #[\Codeception\Attribute\DataProvider('checkBoxes')] |
| 506 | + public function testSeeCheckboxIsChecked(string $page, string|array $selector, bool $checked): void |
| 507 | + { |
| 508 | + $this->module->amOnPage($page); |
| 509 | + if (!$checked) { |
| 510 | + $this->expectException(ExpectationFailedException::class); |
| 511 | + } |
| 512 | + $this->module->seeCheckboxIsChecked($selector); |
| 513 | + } |
499 | 514 | public function testSeeWithNonLatin()
|
500 | 515 | {
|
501 | 516 | $this->module->amOnPage('/info');
|
|
0 commit comments