/// <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); }
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); }