public void TestStaticRoomTaskLifecycle() { var roomId = RoomList != null && RoomList.Any() ? RoomList.First() : Room; var taskIdList = TestStaticGetRoomTasks(roomId); var extendedTaskIdList = TestStaticPostRoomTasks(roomId); var taskId = extendedTaskIdList.FirstOrDefault(x => !taskIdList.Contains(x)); TestStaticGetRoomTask(roomId, taskId); TestStaticPutRoomTaskStatus(roomId, taskId); // [GET] /rooms/{room_id}/tasks. IReadOnlyCollection <long> TestStaticGetRoomTasks(long roomId) { var parameters = new RoomTasksParameters { AccountId = AccountId, AssignedByAccontId = AccountId, Status = TaskStatusValue.Open, }; var response = ChatworkClient.GetRoomTasks(Token, roomId, parameters); AssertGetRoomTasksResponse(response); return(response.Data ?.Select(x => x.TaskId).ToArray() ?? Array.Empty <long>()); } // [POST] /rooms/{room_id}/tasks. IReadOnlyCollection <long> TestStaticPostRoomTasks(long roomId) { var now = DateTime.Now; var parameters = new NewRoomTaskParameters { Body = $"task test {now.Ticks}", Limit = now + TimeSpan.FromMinutes(60), LimitType = LimitTypeValue.Date, ToIds = MemberList, }; var response = ChatworkClient.PostRoomTask(Token, roomId, parameters); AssertPostRoomTasksResponse(response); return(response.Data.TaskIds ?? Array.Empty <long>()); } // [GET] /rooms/{room_id}/tasks/{task_id}. void TestStaticGetRoomTask(long roomId, long taskId) { var response = ChatworkClient.GetRoomTask(Token, roomId, taskId); AssertGetRoomTaskResponse(response, taskId); } // [PUT] /rooms/{room_id}/tasks/{task_id}. void TestStaticPutRoomTaskStatus(long roomId, long taskId) { var parameters = new UpdateRoomTaskStatusParameters { Body = TaskStatusValue.Done, }; var response = ChatworkClient.PutRoomTaskStatus(Token, roomId, taskId, parameters); AssertPutRoomTaskStatusResponse(response, taskId); } }