handle(new SearchManga('One Piece')); // Assert $this->assertEmpty($response->items); } public function testHandleReturnsMangaSearchResults(): void { // Arrange $manga = new Manga( new MangaId('123'), new MangaTitle('One Piece'), new MangaSlug('one-piece'), 'Description test', 'Eiichiro Oda', 1997, ['action', 'adventure'], 'ongoing', new ExternalId('external-123'), 'http://example.com/image.jpg', 4.5 ); $provider = new InMemoryMangaProvider([$manga]); $handler = new SearchMangaHandler($provider); // Act $response = $handler->handle(new SearchManga('One Piece')); // Assert $this->assertCount(1, $response->items); $this->assertEquals('external-123', $response->items[0]->externalId); $this->assertEquals('One Piece', $response->items[0]->title); $this->assertEquals('one-piece', $response->items[0]->slug); } }