public async Task UpdateFileRequest_Success() { /*** Arrange ***/ IBoxRequest boxRequest = null; Handler.Setup(h => h.ExecuteAsync <BoxFileRequestObject>(It.IsAny <IBoxRequest>())) .Returns(Task.FromResult <IBoxResponse <BoxFileRequestObject> >(new BoxResponse <BoxFileRequestObject>() { Status = ResponseStatus.Success, ContentString = LoadFixtureFromJson("Fixtures/BoxFileRequest/UpdateFileRequest200.json") })) .Callback <IBoxRequest>(r => boxRequest = r); var updateRequest = new BoxFileRequestUpdateRequest { Description = "New, updated description", ExpiresAt = DateTimeOffset.Parse("2021-09-28T10:53:43-08:00"), IsEmailRequired = false, Status = BoxFileRequestStatus.inactive }; /*** Act ***/ BoxFileRequestObject response = await _fileRequestsManager.UpdateFileRequestAsync("42037322", updateRequest); /*** Assert ***/ // Request check Assert.IsNotNull(boxRequest); Assert.AreEqual(RequestMethod.Put, boxRequest.Method); Assert.AreEqual(new Uri("https://api.box.com/2.0/file_requests/42037322"), boxRequest.AbsoluteUri); Assert.IsTrue(boxRequest.Payload.ContainsKeyValue("status", "inactive")); // Response check Assert.AreEqual("42037322", response.Id); Assert.AreEqual(DateTimeOffset.Parse("2020-09-28T10:53:43-08:00"), response.CreatedAt); Assert.AreEqual("*****@*****.**", response.CreatedBy.Login); Assert.AreEqual("Aaron Levie", response.CreatedBy.Name); Assert.AreEqual("New, updated description", response.Description); Assert.AreEqual("1", response.Etag); Assert.AreEqual(DateTimeOffset.Parse("2021-09-28T10:53:43-08:00"), response.ExpiresAt); Assert.AreEqual("12345", response.Folder.Id); Assert.AreEqual("Contracts", response.Folder.Name); Assert.AreEqual(true, response.IsDescriptionRequired); Assert.AreEqual(false, response.IsEmailRequired); Assert.AreEqual(BoxFileRequestStatus.inactive, response.Status); Assert.AreEqual("Please upload documents", response.Title); Assert.AreEqual(DateTimeOffset.Parse("2020-09-28T10:53:43-08:00"), response.UpdatedAt); Assert.AreEqual("11446498", response.UpdatedBy.Id); Assert.AreEqual("*****@*****.**", response.UpdatedBy.Login); Assert.AreEqual("Aaron Levie", response.UpdatedBy.Name); Assert.AreEqual("/f/19e57f40ace247278a8e3d336678c64a", response.Url); }
/// <summary> /// Updates a file request. This can be used to activate or deactivate a file request. /// </summary> /// <param name="fileRequestId">Id of the file request.</param> /// <returns>A full FileRequest object is returned if the id is valid and if the user has access to the file request.</returns> public async Task <BoxFileRequestObject> UpdateFileRequestAsync(string fileRequestId, BoxFileRequestUpdateRequest updateRequest) { fileRequestId.ThrowIfNullOrWhiteSpace("fileRequestId"); var request = new BoxRequest(_config.FileRequestsEndpointWithPathUri, fileRequestId) .Method(RequestMethod.Put) .Payload(_converter.Serialize(updateRequest)); IBoxResponse <BoxFileRequestObject> response = await ToResponseAsync <BoxFileRequestObject>(request).ConfigureAwait(false); return(response.ResponseObject); }