|
16 | 16 | use Cake\Core\Configure; |
17 | 17 | use Cake\Mailer\Mailer; |
18 | 18 | use Cake\Mailer\TransportFactory; |
| 19 | +use Cake\Event\Event; |
19 | 20 | use Cake\ORM\TableRegistry; |
20 | 21 | use Cake\Routing\Router; |
21 | 22 | use Cake\TestSuite\TestCase; |
| 23 | +use Cake\Validation\Validator; |
22 | 24 | use CakeDC\Users\Exception\TokenExpiredException; |
23 | 25 | use CakeDC\Users\Exception\UserNotFoundException; |
24 | 26 | use CakeDC\Users\Model\Behavior\RegisterBehavior; |
@@ -357,4 +359,32 @@ public function testRegisterUsingCustomRole() |
357 | 359 | ]); |
358 | 360 | $this->assertSame('emperor', $result['role']); |
359 | 361 | } |
| 362 | + |
| 363 | + /** |
| 364 | + * Test buildValidator method with 'default' validator name |
| 365 | + * |
| 366 | + * @return void |
| 367 | + */ |
| 368 | + public function testBuildValidatorDefault() |
| 369 | + { |
| 370 | + $event = new Event('Model.buildValidator'); |
| 371 | + $validator = new Validator(); |
| 372 | + $this->Behavior->buildValidator($event, $validator, 'default'); |
| 373 | + $this->assertSame($validator, $event->getResult()); |
| 374 | + $this->assertArrayHasKey('valid_email', $validator->field('email')->rules()); |
| 375 | + } |
| 376 | + |
| 377 | + /** |
| 378 | + * Test buildValidator method with non-default validator name |
| 379 | + * |
| 380 | + * @return void |
| 381 | + */ |
| 382 | + public function testBuildValidatorNonDefault() |
| 383 | + { |
| 384 | + $event = new Event('Model.buildValidator'); |
| 385 | + $validator = new Validator(); |
| 386 | + $this->Behavior->buildValidator($event, $validator, 'custom'); |
| 387 | + $this->assertSame($validator, $event->getResult()); |
| 388 | + $this->assertArrayNotHasKey('valid_email', $validator->field('email')->rules()); |
| 389 | + } |
360 | 390 | } |
0 commit comments