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 41 42 43 44 45 46 47 48 49 50 51
|
<?php
namespace Illuminate\Tests\Integration\Validation;
use Illuminate\Http\Request;
use Illuminate\Validation\ValidationException;
use Orchestra\Testbench\TestCase;
/**
* @group integration
*/
class RequestValidationTest extends TestCase
{
public function testValidateMacro()
{
$request = Request::create('/', 'GET', ['name' => 'Taylor']);
$validated = $request->validate(['name' => 'string']);
$this->assertSame(['name' => 'Taylor'], $validated);
}
public function testValidateMacroWhenItFails()
{
$this->expectException(ValidationException::class);
$request = Request::create('/', 'GET', ['name' => null]);
$request->validate(['name' => 'string']);
}
public function testValidateWithBagMacro()
{
$request = Request::create('/', 'GET', ['name' => 'Taylor']);
$validated = $request->validateWithBag('some_bag', ['name' => 'string']);
$this->assertSame(['name' => 'Taylor'], $validated);
}
public function testValidateWithBagMacroWhenItFails()
{
$request = Request::create('/', 'GET', ['name' => null]);
try {
$request->validateWithBag('some_bag', ['name' => 'string']);
} catch (ValidationException $validationException) {
$this->assertEquals('some_bag', $validationException->errorBag);
}
}
}
|