PostServiceTest.php
Код: Выделить всё
public function test_can_update_a_post(): void
{
$mockedPostModel = Post::factory()->make();
$mockedTitle = 'Updated Title';
$mockedSlug = Str::slug($mockedTitle);
$mockedPostData = ['title' => $mockedTitle, 'slug' => $mockedSlug];
$updatedPostModel = Post::factory()->make($mockedPostData);
\Log::info($mockedPostModel);
\Log::info($updatedPostModel);
$postMock = Mockery::mock(Post::class);
$postMock->shouldReceive('findOrFail')->once()->with(1)->andReturn($mockedPostModel);
$postMock->shouldReceive('update')->once()->with($mockedPostData)->andReturn($updatedPostModel);
$postService = new AdminPostService($postMock);
$post = $postService->findOrFail(1);
\Log::info($post);
$post->update($mockedPostData);
\Log::info($post);
// $this->assertInstanceOf(Post::class, $post);
// $this->assertEquals($post->title, $mockedTitle);
// $this->assertEquals($post->slug, $mockedSlug);
}
Код: Выделить всё
[2024-05-29 14:20:54] testing.INFO: {"title":"Otho Pfeffer","slug":"otho-pfeffer"}
[2024-05-29 14:20:54] testing.INFO: {"title":"Updated Title","slug":"updated-title"}
[2024-05-29 14:20:54] testing.INFO: {"title":"Otho Pfeffer","slug":"otho-pfeffer"}
[2024-05-29 14:20:54] testing.INFO: {"title":"Otho Pfeffer","slug":"otho-pfeffer"}
Выполнение $result = $post->update($mockedPostData); возвращает нулевое/пустое значение
Подробнее здесь: https://stackoverflow.com/questions/785 ... th-phpunit