/// <summary>
        /// Updates a specific task.
        /// </summary>
        /// <param name="taskUpdateRequest">BoxTaskUpdateRequest object.</param>
        /// <returns>The updated task object will be returned upon success.</returns>
        public async Task <BoxTask> UpdateTaskAsync(BoxTaskUpdateRequest taskUpdateRequest)
        {
            taskUpdateRequest.ThrowIfNull("taskUpdateRequest");

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

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

            return(response.ResponseObject);
        }
Esempio n. 2
0
        private async Task RunUpdate()
        {
            base.CheckForValue(this._taskId.Value, this._app, "A task ID is required for this command");
            var boxClient   = base.ConfigureBoxClient(oneCallAsUserId: base._asUser.Value(), oneCallWithToken: base._oneUseToken.Value());
            var taskRequest = new BoxTaskUpdateRequest();

            if (this._message.HasValue())
            {
                taskRequest.Message = this._message.Value();
            }
            if (this._due.HasValue())
            {
                taskRequest.DueAt = GeneralUtilities.GetDateTimeFromString(this._due.Value());
            }
            var task = await boxClient.TasksManager.UpdateTaskAsync(taskRequest);

            if (base._json.HasValue() || this._home.GetBoxHomeSettings().GetOutputJsonSetting())
            {
                base.OutputJson(task);
                return;
            }
            base.PrintTask(task);
        }
        public async Task UpdateTask_ValidResponse()
        {
            /*** Arrange ***/
            var         responseString = @"{
                                        ""type"": ""task"",
                                        ""id"": ""1839355"",
                                        ""item"": {
                                            ""type"": ""file"",
                                            ""id"": ""7287087200"",
                                            ""sequence_id"": ""0"",
                                            ""etag"": ""0"",
                                            ""sha1"": ""0bbd79a105c504f99573e3799756debba4c760cd"",
                                            ""name"": ""box-logo.png""
                                        },
                                        ""due_at"": ""2014-04-03T11:09:43-07:00"",
                                        ""action"": ""review"",
                                        ""message"": ""REVIEW PLZ K THX"",
                                        ""task_assignment_collection"": {
                                            ""total_count"": 0,
                                            ""entries"": []
                                        },
                                        ""is_completed"": false,
                                        ""created_by"": {
                                            ""type"": ""user"",
                                            ""id"": ""11993747"",
                                            ""name"": ""sean"",
                                            ""login"": ""*****@*****.**""
                                        },
                                        ""created_at"": ""2013-04-03T11:12:54-07:00""
                                    }";
            IBoxRequest boxRequest     = null;
            var         tasksUri       = new Uri(Constants.TasksEndpointString);

            Config.SetupGet(x => x.TasksEndpointUri).Returns(tasksUri);
            Handler.Setup(h => h.ExecuteAsync <BoxTask>(It.IsAny <IBoxRequest>()))
            .Returns(Task.FromResult <IBoxResponse <BoxTask> >(new BoxResponse <BoxTask>()
            {
                Status        = ResponseStatus.Success,
                ContentString = responseString
            }))
            .Callback <IBoxRequest>(r => boxRequest = r);

            /*** Act ***/
            var taskUpdateRequest = new BoxTaskUpdateRequest()
            {
                Id      = "1839355",
                Message = "REVIEW PLZ K THX"
            };
            BoxTask result = await _tasksManager.UpdateTaskAsync(taskUpdateRequest);

            /*** Assert ***/
            //Request check
            Assert.IsNotNull(boxRequest);
            Assert.AreEqual(RequestMethod.Put, boxRequest.Method);
            Assert.AreEqual(tasksUri + "1839355", boxRequest.AbsoluteUri.AbsoluteUri);
            BoxTaskUpdateRequest payload = JsonConvert.DeserializeObject <BoxTaskUpdateRequest>(boxRequest.Payload);

            Assert.AreEqual(taskUpdateRequest.Message, payload.Message);

            //Response check
            Assert.AreEqual("1839355", result.Id);
            Assert.AreEqual("task", result.Type);
            Assert.AreEqual("7287087200", result.Item.Id);
            Assert.AreEqual("file", result.Item.Type);
            Assert.AreEqual("0", result.Item.ETag);
            Assert.AreEqual("REVIEW PLZ K THX", result.Message);
            Assert.AreEqual(false, result.IsCompleted);
            Assert.AreEqual("11993747", result.CreatedBy.Id);
            Assert.AreEqual("*****@*****.**", result.CreatedBy.Login);
            Assert.AreEqual(0, result.TaskAssignments.TotalCount);
        }