private function _buildTicket() { $ticket = new Ticket(); $participant = new Participant('*****@*****.**'); $ticket->setWorker($participant); $time = strtotime('2015-02-23 21:11'); $status = new SetStatus($participant, new Status(Status::OPEN), $time + 30); $ticket->addEvent($status); $event = new AddTag($participant, new Tag('Moo'), $time); $ticket->addEvent($event); $event = new AddTag($participant, new Tag('Moo2'), $time - 100); $ticket->addEvent($event); $event = new RemoveTag($participant, new Tag('Moo2'), $time - 50); $ticket->addEvent($event); $participant2 = new Participant('*****@*****.**'); $event = new AddRole($participant, new Role($participant2, Role::OBSERVER), $time + 60); $ticket->addEvent($event); $event = new RemoveRole($participant, new Role($participant2, Role::OBSERVER), $time + 120); $ticket->addEvent($event); $comment = new AddComment($participant, new Comment('Long comment'), $time + 180); $ticket->addEvent($comment); $email = new Email('email', $participant2, $participant); $ticket->addEvent(new AddEmail($participant, $email, $time + 181)); return $ticket; }
public static function fromArray(array $data) { $ticket = new Ticket($data['id']); $participants = []; foreach ($data['timeline'] as $event) { $ticket->addEvent(TicketEvent::fromArray($event)); } return $ticket; }