Вот контроллер:
Код: Выделить всё
use Illuminate\Http\Request;
public function insert(Request $request)
{
// ... some codes here
if ($request->has('username')) {
$userEmail = $request->get('username');
} else if ($request->has('email')) {
$userEmail = $request->get('email');
}
// ... some codes here
}
Код: Выделить всё
public function testIndex()
{
// ... some codes here
$requestParams = [
'username' => 'test',
'email' => 'test@test.com'
];
$request = $this->getMockBuilder('Illuminate\Http\Request')
->disableOriginalConstructor()
->setMethods(['getMethod', 'retrieveItem', 'getRealMethod', 'all', 'getInputSource', 'get', 'has'])
->getMock();
$request->expects($this->any())
->method('get')
->willReturn($requestParams);
$request->expects($this->any())
->method('has')
->willReturn($requestParams);
$request->expects($this->any())
->method('all')
->willReturn($requestParams);
// ... some codes here
}
Затем, когда я удалю ключ имени пользователя на $requestParams, он должен возвращать false, поскольку он не содержит ключ имени пользователя в массиве
Подробнее здесь: https://stackoverflow.com/questions/463 ... ck-request