I was trying to learn PHPUnit on laravel and I got a little problem. I managed to make a test for data input and data validation but for updating the data somehow it didn't work.
This is my update function in controller
public function update(PostRequest $request, PostModel $post) { $update = $request->all(); $update['category_id'] = $request->category; $post->update($update); $post->TagModels()->sync($request->tag); session()->flash('success', 'Update Post Success'); return redirect('post'); }This my route for update
Route::patch('post/{post:slug}/update', 'PostController@update');This my test for update
public function test_post_update() { // $this->withoutExceptionHandling(); $data = factory(PostModel::class)->make(); $response = $this->post('post/store', [ 'title'=> $data->title, 'body'=> $data->body, 'category'=> $data->category_id, 'tag'=> [rand(1, 5)], ]); $post = PostModel::first()->slug; // $data2 = factory(PostModel::class)->make(); $this->patch('post/'.$post.'/update', [ 'title'=> 'update', 'body'=> $data->body, 'category'=> $data->category_id, 'tag'=> [rand(1, 5)], ]); $data->refresh(); $this->assertEquals('update', PostModel::first()->title); }I always get the following error
> Executing task: c:/xampp/htdocs/my-app-test/vendor/bin/phpunit.bat c:/xampp/htdocs/my-app-test/tests/Unit/PostTest.php --filter '^.*::test_post_update' < PHPUnit 8.5.9 by Sebastian Bergmann and contributors. F 1 / 1 (100%) Time: 334 ms, Memory: 24.00 MB There was 1 failure: 1) Tests\Unit\PostTest::test_post_update Failed asserting that two strings are equal. --- Expected +++ Actual @@ @@ -'update' +'Laudantium voluptatibus voluptatem ipsam sit.' C:\xampp\htdocs\my-app-test\tests\Unit\PostTest.php:216 FAILURES! Tests: 1, Assertions: 1, Failures: 1.Please tell me where I went wrong in my code.
New error after i uncomment $this->withoutExceptionHandling();
This the new error
Cara Upgrade Laravel 6 ke Laravel 7
Langkah Pertama
Silahkan buka projek kalian, buka composer.json kemudian yang perlu kita perhatikan ada beberapa versi dependencies yang harus kita upgrade.
Beberapa versi dependencies yang perlu diupgrade diantaranya:
- "laravel/framework": "^6.2" menjadi "^7.0"
- "facade/ignition": "^1.4" menjadi "^2.0"
- "nunomaduro/collision": "^3.0" menjadi "^4.1"
- "php": "^7.2" menjadi "^7.2.5"
- "fideloper/proxy": "^4.0" menjadi "^4.2"
- "mockery/mockery": "^1.0" menjadi "^1.3.1"
- "phpunit/phpunit": "^8.0" menjadi "^8.5"
Dan juga tambahkan ini pada objek "require"
- "fruitcake/laravel-cors": "^1.0",
- "guzzlehttp/guzzle": "^6.3",
Langkah Kedua
Silahkan buka file app/Exceptions/Handler.php, nah disini kita harus mengganti semua kode Exception menjadi Throwable.Langkah Terakhir
Ketikkan perintah composer update. Tunggu beberapa menit, agak lama sih proses ini, tergantung koneksi internet juga.Sumber: //www.indeveloper.id/2020/03/tutorial-upgrade-ke-laravel-7.html