Esempio n. 1
0
 /**
  * @dataProvider bulkSetterProvider
  */
 public function testSetAll(array $data, $success = true)
 {
     $keys = array_keys($data);
     $getters = array();
     foreach ($keys as $key) {
         $getters[$key] = 'get' . implode('', array_map('ucfirst', explode('_', $key)));
     }
     $data = (object) $data;
     // cast to object
     if ($success !== true) {
         //not successful, probably expecting exceptions to be thrown:
         try {
             $constructor = new Ticket($data);
         } catch (\Exception $e) {
             $this->assertEquals($success, get_class($e));
         }
         $ticket = new Ticket();
         try {
             $ticket->setAll($data);
         } catch (\Exception $e) {
             $this->assertEquals($success, get_class($e));
         }
         $this->setExpectedException($success);
         $ticket->setAll($data);
         return;
     }
     $constructor = new Ticket($data);
     $ticket = new Ticket($data);
     $this->assertEquals($constructor->toJsonData(), $ticket->toJsonData(), sprintf('expected %s and %s to match, but it would seem they do not', $ticket->toJsonData(), $constructor->toJsonData()));
     foreach ($data as $key => $value) {
         $getter = $getters[$key];
         $this->assertEquals($value, $ticket->{$getter}(), sprintf('TICKET: Expected %s (via %s->%s) to be "%s", instead say "%s"', $key, get_class($ticket), $getter, $value, $ticket->{$getter}()));
         $this->assertEquals($value, $constructor->{$getter}(), sprintf('CONSTRUCTOR: Expected %s (via %s->%s) to be "%s", instead say "%s"', $key, get_class($constructor), $getter, $value, $constructor->{$getter}()));
     }
 }
Esempio n. 2
0
 /**
  * Delete a ticket, optionally make a second API call, to verify success
  * just in case the API response proves to be unreliable
  * @param TicketM $ticket
  * @param bool $reload = false
  * @return TicketM
  */
 public function deleteTicket(TicketM $ticket, $reload = false)
 {
     $url = sprintf('/helpdesk/tickets/%d.json', $ticket->getDisplayId());
     $response = $ticket->toJsonData();
     $response = json_decode($this->restCall($url, self::METHOD_DEL));
     if ($reload === true) {
         return $this->getFullTicket($ticket);
     }
     return $ticket->setDeleted(true);
 }