ticketMapper = $this->getMockBuilder(TicketMapper::class) ->disableOriginalConstructor() ->getMock(); $this->userMapper = $this->getMockBuilder(UserMapper::class) ->disableOriginalConstructor() ->getMock(); $this->matrixService = new MatrixService(new NullLogger()); $this->service = new TicketService($this->matrixService, $this->ticketMapper, $this->userMapper); } public function testUpdate() { // the existing note $note = MatrixTicket::fromRow([ 'id' => 3, ]); $this->ticketMapper->expects($this->once()) ->method('find') ->with($this->equalTo(3)) ->will($this->returnValue($note)); // the note when updated $updatedNote = MatrixTicket::fromRow(['id' => 3]); $this->ticketMapper->expects($this->once()) ->method('update') ->with($this->equalTo($updatedNote)) ->will($this->returnValue($updatedNote)); $result = $this->service->update(3, 'title', 'content', $this->userId); $this->assertEquals($updatedNote, $result); } public function testUpdateNotFound() { // $this->expectException(NoteNotFound::class); // test the correct status code if no note is found $this->ticketMapper->expects($this->once()) ->method('find') ->with($this->equalTo(3)) ->will($this->throwException(new DoesNotExistException(''))); $this->service->update(3, 'title', 'content', $this->userId); } }