createMock(IRequest::class); $this->userSession = $this->createMock(IUserSession::class); $this->contactsManager = $this->createMock(Manager::class); $this->controller = new ContactsMenuController($request, $this->userSession, $this->contactsManager); } public function testIndex(): void { $user = $this->createMock(IUser::class); $entries = [ $this->createMock(IEntry::class), $this->createMock(IEntry::class), ]; $this->userSession->expects($this->once()) ->method('getUser') ->willReturn($user); $this->contactsManager->expects($this->once()) ->method('getEntries') ->with($this->equalTo($user), $this->equalTo(null)) ->willReturn($entries); $response = $this->controller->index(); $this->assertEquals($entries, $response); } public function testFindOne(): void { $user = $this->createMock(IUser::class); $entry = $this->createMock(IEntry::class); $this->userSession->expects($this->once()) ->method('getUser') ->willReturn($user); $this->contactsManager->expects($this->once()) ->method('findOne') ->with($this->equalTo($user), $this->equalTo(42), $this->equalTo('test-search-phrase')) ->willReturn($entry); $response = $this->controller->findOne(42, 'test-search-phrase'); $this->assertEquals($entry, $response); } public function testFindOne404(): void { $user = $this->createMock(IUser::class); $this->userSession->expects($this->once()) ->method('getUser') ->willReturn($user); $this->contactsManager->expects($this->once()) ->method('findOne') ->with($this->equalTo($user), $this->equalTo(42), $this->equalTo('test-search-phrase')) ->willReturn(null); $response = $this->controller->findOne(42, 'test-search-phrase'); $this->assertEquals([], $response->getData()); $this->assertEquals(404, $response->getStatus()); } }