1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
<?php
namespace Illuminate\Tests\Validation;
use Illuminate\Validation\Validator;
use PHPUnit\Framework\TestCase;
class ValidationAddFailureTest extends TestCase
{
/**
* Making Validator using ValidationValidatorTest.
*
* @return \Illuminate\Validation\Validator
*/
public function makeValidator()
{
$mainTest = new ValidationValidatorTest('foo');
$trans = $mainTest->getIlluminateArrayTranslator();
return new Validator($trans, ['foo' => ['bar' => ['baz' => '']]], ['foo.bar.baz' => 'sometimes|required']);
}
public function testAddFailureExists()
{
$validator = $this->makeValidator();
$method_name = 'addFailure';
$this->assertTrue(method_exists($validator, $method_name));
$this->assertIsCallable([$validator, $method_name]);
}
public function testAddFailureIsFunctional()
{
$attribute = 'Eugene';
$validator = $this->makeValidator();
$validator->addFailure($attribute, 'not_in');
$messages = json_decode($validator->messages());
$this->assertSame($messages->{'foo.bar.baz'}[0], 'validation.required', 'initial data in messages is lost');
$this->assertSame($messages->{$attribute}[0], 'validation.not_in', 'new data in messages was not added');
}
}
|