Проблемы с путями при вызове теста. Laravel

127
01 апреля 2019, 12:30

Получаю ошибку следующего содержания: Failed asserting that 500 matches expected 200

Сам тест:

 public function testCreate(){
    $response = $this->post('api/auth/folder/1',
        [
            'title' => 'testuser@mail.com',
            'user_id' => '1',
            'parent_id' => '1'
        ]);
    var_dump($response->getContent());
    $this->assertEquals(200, $response->status());
}

Роуты api.php:

   Route::group([
['middleware' => 'jwt.auth', 'jwt.refresh'],
'prefix' => 'auth'
], function () {
Route::put('/user', 'Auth\UserController@updateUser');
Route::delete('/user', 'Auth\UserController@deleteUser');
Route::post('/logout', 'Auth\LoginController@logout');
Route::post('/refresh', 'Auth\LoginController@refresh');
Route::post('/me', 'Auth\LoginController@me');
Route::post('/note/{id}', 'NoteController@create');
Route::put('/note/{id}', 'NoteController@update');
Route::delete('/note/{id}', 'NoteController@delete');
Route::get('/note/{id}', 'NoteController@get');
Route::post('/folder/{id}', 'FolderController@create');
Route::put('/folder/{id}', 'FolderController@update');
Route::delete('/folder/{id}', 'FolderController@delete');
Route::get('/folder/{id}', 'FolderController@get');
});

Контроллер:

public function create(Request $request, $parent_id){
    try {
        $folder = new Folder();
        $folder->user_id = $request->input('user_id');
        $folder->title = $request->input('title');
        if ($parent_id){
            $folder->parent_id= $parent_id;
        } else {
            $folder->parent_id=null;
        }
        $folder->save();
        return new JsonResponse(['message' => 'Folder has created'], 200);
    } catch (\Exception $e) {
        return $this->SendError($e);
    }
}

Миграция:

  public function up()
{
    Schema::create('folders', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('user_id');
        $table->integer('parent_id')->nullable();
        $table->string('title')->unique();
        $table->timestamps();
    });
}

Модель:

  class Folder extends Model
{
protected $table = 'folders';
protected $fillable = [
    'user_id', 'parent_id', 'title'
];
}
Answer 1

Вносил изменения в Модель, но Миграция не обновилась (виноватым считаю миграцию связанную с MongoDB). И поля в базе и в контроллере не совпадали. Закомментировал миграцию для Mongo, провёл rollback и создал новые миграции. Всё работает.

READ ALSO
Как ввести enter для завершения программы? [закрыт]

Как ввести enter для завершения программы? [закрыт]

Скопировал пример, но он не работает, хотя долженЧто не так? В учебнике пример работает, но у меня программа не выводит ничего

156
Что можно контролировать в windows?

Что можно контролировать в windows?

Не давно узнал про wfp и что с его помощью можно взаимодействовать с пакетной обработкой (ну как написано в microsoft)Если я хочу понять как это...

164
Как указать входные файлы?

Как указать входные файлы?

У меня несколько каталогов с кодом и нужно сделать документацию на Doxygen в общем я создал Doxyfile в mesonbuild в одной папке с Doxifile прописал :

129
Помогите с ошибками stray '\302' in program / expected primary-expression before ')' token

Помогите с ошибками stray '\302' in program / expected primary-expression before ')' token

Программа, которая 3 введенных числа ставит в порядок возрастания или убыванияМесто ошибки в коде обозначено как МЕСТО ОШИБКИ, сложно пропустить

169