Пример #1
0
        /// <summary>
        /// Used to update a task assignment.
        /// </summary>
        /// <param name="taskAssignmentUpdateRequest">BoxTaskAssignmentUpdateRequest object.</param>
        /// <returns>A new task assignment object will be returned upon success.</returns>
        public async Task<BoxTaskAssignment> UpdateTaskAssignmentAsync(BoxTaskAssignmentUpdateRequest taskAssignmentUpdateRequest)
        {
            taskAssignmentUpdateRequest.ThrowIfNull("taskAssignmentUpdateRequest")
                .Id.ThrowIfNull("taskAssignmentUpdateRequest.Id");

            BoxRequest request = new BoxRequest(_config.TaskAssignmentsEndpointUri, taskAssignmentUpdateRequest.Id)
                .Method(RequestMethod.Put)
                .Payload(_converter.Serialize(taskAssignmentUpdateRequest));

            IBoxResponse<BoxTaskAssignment> response = await ToResponseAsync<BoxTaskAssignment>(request).ConfigureAwait(false);

            return response.ResponseObject;
        }
Пример #2
0
        public async Task UpdateTaskAssignment_ValidResponse()
        {
            /*** Arrange ***/
            string responseString = @"{
                                            ""type"": ""task_assignment"",
                                            ""id"": ""2698512"",
                                            ""item"": {
                                                ""type"": ""file"",
                                                ""id"": ""8018809384"",
                                                ""sequence_id"": ""0"",
                                                ""etag"": ""0"",
                                                ""sha1"": ""7840095ee096ee8297676a138d4e316eabb3ec96"",
                                                ""name"": ""scrumworksToTrello.js""
                                            },
                                            ""assigned_to"": {
                                                ""type"": ""user"",
                                                ""id"": ""1992432"",
                                                ""name"": ""*****@*****.**"",
                                                ""login"": ""*****@*****.**""
                                            },
                                            ""message"": ""hello!!!"",
                                            ""completed_at"": null,
                                            ""assigned_at"": ""2013-05-10T11:43:41-07:00"",
                                            ""reminded_at"": null,
                                            ""resolution_state"": ""incomplete"",
                                            ""assigned_by"": {
                                                ""type"": ""user"",
                                                ""id"": ""11993747"",
                                                ""name"": ""sean"",
                                                ""login"": ""*****@*****.**""
                                            }
                                        }";
            IBoxRequest boxRequest = null;
            Uri taskAssignmentsUri = new Uri(Constants.TaskAssignmentsEndpointString);
            _config.SetupGet(x => x.TaskAssignmentsEndpointUri).Returns(taskAssignmentsUri);
            _handler.Setup(h => h.ExecuteAsync<BoxTaskAssignment>(It.IsAny<IBoxRequest>()))
                .Returns(Task.FromResult<IBoxResponse<BoxTaskAssignment>>(new BoxResponse<BoxTaskAssignment>()
                {
                    Status = ResponseStatus.Success,
                    ContentString = responseString
                }))
                .Callback<IBoxRequest>(r => boxRequest = r);

            /*** Act ***/
            BoxTaskAssignmentUpdateRequest taskAssignmentUpdateRequest = new BoxTaskAssignmentUpdateRequest()
            {
                Id = "2698512",
                Message = "hello!!!"
            };
            BoxTaskAssignment result = await _tasksManager.UpdateTaskAssignmentAsync(taskAssignmentUpdateRequest);

            /*** Assert ***/
            //Request check
            Assert.IsNotNull(boxRequest);
            Assert.AreEqual(RequestMethod.Put, boxRequest.Method);
            Assert.AreEqual(taskAssignmentsUri + taskAssignmentUpdateRequest.Id, boxRequest.AbsoluteUri.AbsoluteUri);
            BoxTaskAssignmentUpdateRequest payload = JsonConvert.DeserializeObject<BoxTaskAssignmentUpdateRequest>(boxRequest.Payload);
            Assert.AreEqual(taskAssignmentUpdateRequest.Id, payload.Id);
            Assert.AreEqual(taskAssignmentUpdateRequest.Message, payload.Message);

            //Response check
            Assert.AreEqual("2698512", result.Id);
            Assert.AreEqual("task_assignment", result.Type);
            Assert.AreEqual("hello!!!", result.Message);
            Assert.AreEqual("8018809384", result.Item.Id);
            Assert.AreEqual("file", result.Item.Type);
            Assert.AreEqual("0", result.Item.ETag);
            Assert.AreEqual(ResolutionStateType.incomplete, result.ResolutionState);
            Assert.AreEqual("*****@*****.**", result.AssignedBy.Login);
            Assert.AreEqual("11993747", result.AssignedBy.Id);
            Assert.AreEqual("*****@*****.**", result.AssignedTo.Login);
            Assert.AreEqual("1992432", result.AssignedTo.Id);
        }