public async Task CreateOrDeleteCollectionsForFolder_ValidResponse()
{
/*** Arrange ***/
string responseString = @"{
""type"": ""folder"",
""id"": ""11446498"",
""sequence_id"": ""1"",
""etag"": ""1"",
""name"": ""New Folder Name!"",
""created_at"": ""2012-12-12T10:53:43-08:00"",
""modified_at"": ""2012-12-12T11:15:04-08:00"",
""description"": ""Some pictures I took"",
""size"": 629644,
""path_collection"": {
""total_count"": 1,
""entries"": [
{
""type"": ""folder"",
""id"": ""0"",
""sequence_id"": null,
""etag"": null,
""name"": ""All Files""
}
]
},
""created_by"": {
""type"": ""user"",
""id"": ""17738362"",
""name"": ""sean rose"",
""login"": ""[email protected]""
},
""modified_by"": {
""type"": ""user"",
""id"": ""17738362"",
""name"": ""sean rose"",
""login"": ""[email protected]""
},
""owned_by"": {
""type"": ""user"",
""id"": ""17738362"",
""name"": ""sean rose"",
""login"": ""[email protected]""
},
""shared_link"": {
""url"": ""https://www.box.com/s/vspke7y05sb214wjokpk"",
""download_url"": null,
""vanity_url"": null,
""is_password_enabled"": false,
""unshared_at"": null,
""download_count"": 0,
""preview_count"": 0,
""access"": ""open"",
""permissions"": {
""can_download"": true,
""can_preview"": true
}
},
""folder_upload_email"": {
""access"": ""open"",
""email"": ""[email protected]""
},
""parent"": {
""type"": ""folder"",
""id"": ""0"",
""sequence_id"": null,
""etag"": null,
""name"": ""All Files""
},
""item_status"": ""active"",
""item_collection"": {
""total_count"": 1,
""entries"": [
{
""type"": ""file"",
""id"": ""5000948880"",
""sequence_id"": ""3"",
""etag"": ""3"",
""sha1"": ""134b65991ed521fcfe4724b7d814ab8ded5185dc"",
""name"": ""tigers.jpeg""
}
],
""offset"": 0,
""limit"": 100
}
}";
IBoxRequest boxRequest = null;
_handler.Setup(h => h.ExecuteAsync<BoxFolder>(It.IsAny<IBoxRequest>()))
.Returns(Task.FromResult<IBoxResponse<BoxFolder>>(new BoxResponse<BoxFolder>()
{
Status = ResponseStatus.Success,
ContentString = responseString
}))
.Callback<IBoxRequest>(r => boxRequest = r);
/*** Act ***/
BoxCollectionsRequest collectionsRequest = new BoxCollectionsRequest()
{
Collections = new List<BoxRequestEntity>()
{
new BoxRequestEntity()
{
Id="123"
}
}
};
BoxFolder result = await _collectionsManager.CreateOrDeleteCollectionsForFolderAsync("11446498", collectionsRequest);
/*** Assert ***/
//Request check
Assert.IsNotNull(boxRequest);
Assert.AreEqual(RequestMethod.Put, boxRequest.Method);
Assert.AreEqual(_FoldersUri + "11446498", boxRequest.AbsoluteUri.AbsoluteUri);
BoxCollectionsRequest payload = JsonConvert.DeserializeObject<BoxCollectionsRequest>(boxRequest.Payload);
Assert.AreEqual(collectionsRequest.Collections[0].Id, payload.Collections[0].Id);
//Response check
Assert.AreEqual("11446498", result.Id);
Assert.AreEqual(1, result.PathCollection.TotalCount);
Assert.AreEqual("https://www.box.com/s/vspke7y05sb214wjokpk", result.SharedLink.Url);
Assert.AreEqual("17738362", result.CreatedBy.Id);
}