Esempio n. 1
0
 /**
  * Test ticket by id method => uses tickets.json data
  */
 public function testSingleTicket()
 {
     $ticket = new TicketM($this->data->singleTicket);
     $target = new TicketM(array('displayId' => $ticket->getDisplayId()));
     $this->restMock->method('restCall')->willReturn(json_encode($this->data->singleTicket));
     $this->restMock->getTicketById($target->getDisplayId(), $target);
     $this->assertTrue(count($ticket->getNotes()) === count($target->getNotes()));
     $this->assertEquals($ticket, $target);
     $this->assertTrue($ticket->getDescription() === $target->getDescription());
     $this->assertTrue($ticket->getSubject() === $target->getSubject());
     $this->assertTrue($ticket->getStatus() === $target->getStatus());
     $this->assertTrue($ticket->getStatusName() === $target->getStatusName());
     $this->assertTrue($ticket->getId() === $target->getId());
     $this->assertTrue($ticket->getDeleted() === $target->getDeleted());
     $this->assertEquals($ticket->toJsonData(), $target->toJsonData());
     if ($ticket->getNotes()) {
         $this->assertNotEmpty($target->getNotes());
         $expected = $ticket->getNotes();
         $notes = $target->getNotes();
         /** @var Freshdesk\Model\Note $note */
         foreach ($notes as $k => $note) {
             $this->assertInstanceOf(get_class($expected[$k]), $note);
             $this->assertTrue($expected[$k]->getDeleted() === $note->getDeleted());
             $this->assertEquals($expected[$k]->toJsonData(), $note->toJsonData());
         }
     }
 }
Esempio n. 2
0
 /**
  * @param TicketM $model
  * @param bool $requesterOnly = true
  * @param bool $includePrivate = false
  * @return array<\Freshdesk\Model\Ticket>
  */
 public function getTicketNotes(TicketM $model, $requesterOnly = true, $includePrivate = false)
 {
     $notes = $model->getNotes();
     if (empty($notes)) {
         $model = $this->getFullTicket($model->getDisplayId(), $model);
         $notes = $model->getNotes();
     }
     $return = array();
     foreach ($notes as $note) {
         /** @var \Freshdesk\Model\Note $note */
         if ($includePrivate === false && $note->getPrivate()) {
             continue;
         }
         //do not include private tickets
         if ($requesterOnly === true && $note->getUserId() === $model->getRequesterId()) {
             $return[] = $note;
         } else {
             $return[] = $note;
         }
     }
     return $return;
 }