Box.V2.Test.BoxCollectionsManagerTest.CreateOrDeleteCollectionsForFile_ValidResponse C# (CSharp) Method

CreateOrDeleteCollectionsForFile_ValidResponse() private method

private CreateOrDeleteCollectionsForFile_ValidResponse ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
        public async Task CreateOrDeleteCollectionsForFile_ValidResponse()
        {
            /*** Arrange ***/
            string responseString = @"{
                                        ""type"": ""file"",
                                        ""id"": ""5000948880"",
                                        ""file_version"": {
                                            ""type"": ""file_version"",
                                            ""id"": ""26261748416"",
                                            ""sha1"": ""134b65991ed521fcfe4724b7d814ab8ded5185dc""
                                        },
                                        ""sequence_id"": ""3"",
                                        ""etag"": ""3"",
                                        ""sha1"": ""134b65991ed521fcfe4724b7d814ab8ded5185dc"",
                                        ""name"": ""tigers.jpeg"",
                                        ""description"": ""a picture of tigers"",
                                        ""size"": 629644,
                                        ""path_collection"": {
                                            ""total_count"": 2,
                                            ""entries"": [
                                                {
                                                    ""type"": ""folder"",
                                                    ""id"": ""0"",
                                                    ""sequence_id"": null,
                                                    ""etag"": null,
                                                    ""name"": ""All Files""
                                                },
                                                {
                                                    ""type"": ""folder"",
                                                    ""id"": ""11446498"",
                                                    ""sequence_id"": ""1"",
                                                    ""etag"": ""1"",
                                                    ""name"": ""Pictures""
                                                }
                                            ]
                                        },
                                        ""created_at"": ""2012-12-12T10:55:30-08:00"",
                                        ""modified_at"": ""2012-12-12T11:04:26-08:00"",
                                        ""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/rh935iit6ewrmw0unyul"",
                                            ""download_url"": ""https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg"",
                                            ""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
                                            }
                                        },
                                        ""parent"": {
                                            ""type"": ""folder"",
                                            ""id"": ""11446498"",
                                            ""sequence_id"": ""1"",
                                            ""etag"": ""1"",
                                            ""name"": ""Pictures""
                                        },
                                        ""item_status"": ""active""
                                    }";
            IBoxRequest boxRequest = null;
            _handler.Setup(h => h.ExecuteAsync<BoxFile>(It.IsAny<IBoxRequest>()))
                .Returns(Task.FromResult<IBoxResponse<BoxFile>>(new BoxResponse<BoxFile>()
                {
                    Status = ResponseStatus.Success,
                    ContentString = responseString
                }))
                .Callback<IBoxRequest>(r => boxRequest = r);

            /*** Act ***/
            BoxCollectionsRequest collectionsRequest = new BoxCollectionsRequest()
            {
                Collections = new List<BoxRequestEntity>()
                {
                    new BoxRequestEntity()
                        {
                            Id="123"
                        }
                }
            };
            BoxFile result = await _collectionsManager.CreateOrDeleteCollectionsForFileAsync("5000948880", collectionsRequest);

            /*** Assert ***/
            //Request check
            Assert.IsNotNull(boxRequest);
            Assert.AreEqual(RequestMethod.Put, boxRequest.Method);
            Assert.AreEqual(_FilesUri + "5000948880", boxRequest.AbsoluteUri.AbsoluteUri);
            BoxCollectionsRequest payload = JsonConvert.DeserializeObject<BoxCollectionsRequest>(boxRequest.Payload);
            Assert.AreEqual(collectionsRequest.Collections[0].Id, payload.Collections[0].Id);

            //Response check
            Assert.AreEqual("5000948880", result.Id);
            Assert.AreEqual(2, result.PathCollection.TotalCount);
            Assert.AreEqual("https://www.box.com/s/rh935iit6ewrmw0unyul", result.SharedLink.Url);
            Assert.AreEqual("17738362", result.CreatedBy.Id);

        }