/**
  * @test
  */
 public function Roomエンティティを生成する()
 {
     $factory = new RoomFactory();
     $entity = $factory->entity(json_decode('{
         "room_id": 123,
         "name": "Group Chat Name",
         "type": "group",
         "role": "admin",
         "sticky": false,
         "unread_num": 10,
         "mention_num": 1,
         "mytask_num": 0,
         "message_num": 122,
         "file_num": 10,
         "task_num": 17,
         "icon_path": "https://example.com/ico_group.png",
         "last_update_time": 1298905200,
         "description": "room description text"
     }', true));
     $this->assertInstanceOf(Room::class, $entity);
     $this->assertEquals(123, $entity->roomId);
     $this->assertEquals("Group Chat Name", $entity->name);
     $this->assertEquals("group", $entity->type);
     $this->assertEquals("admin", $entity->role);
     $this->assertEquals(false, $entity->sticky);
     $this->assertEquals(10, $entity->unreadNum);
     $this->assertEquals(1, $entity->mentionNum);
     $this->assertEquals(0, $entity->mytaskNum);
     $this->assertEquals(122, $entity->messageNum);
     $this->assertEquals(10, $entity->fileNum);
     $this->assertEquals(17, $entity->taskNum);
     $this->assertEquals("https://example.com/ico_group.png", $entity->iconPath);
     $this->assertEquals(1298905200, $entity->lastUpdateTime);
     $this->assertEquals("room description text", $entity->description);
 }
Example #2
0
 /**
  * @param array $data
  * @return Task
  */
 public function entity(array $data = [])
 {
     // @todo あとでroomオブジェクトの生成方法とかを見直す
     $roomFactory = new RoomFactory();
     $userFactory = new UserFactory();
     $task = new Task();
     foreach ($data as $key => $value) {
         $property = Inflector::variable($key);
         if ($property == 'room') {
             $task->{$property} = $roomFactory->entity($value);
         } else {
             if ($property == 'assignedByAccount' || $property == 'account') {
                 $task->{$property} = $userFactory->entity($value);
             } else {
                 $task->{$property} = $value;
             }
         }
     }
     return $task;
 }
Example #3
0
 /**
  * @test
  */
 public function Roomエンティティから配列に変換する()
 {
     $data = json_decode('{
         "room_id": 123,
         "name": "Group Chat Name",
         "type": "group",
         "role": "admin",
         "sticky": false,
         "unread_num": 10,
         "mention_num": 1,
         "mytask_num": 0,
         "message_num": 122,
         "file_num": 10,
         "task_num": 17,
         "icon_path": "https://example.com/ico_group.png",
         "last_update_time": 1298905200,
         "description": "room description text"
     }', true);
     $factory = new RoomFactory();
     $entity = $factory->entity($data);
     $this->assertEquals($data, $entity->toArray());
 }