示例#1
0
        public async Task GetNumberPage_PageSize20_ReturnsNumberPageTwoInFolderFirst()
        {
            var fieldNamePageNumber = "pageNumber";
            var responseFiles       = await JohnApi.GetEntitiesMe("files");

            responseFiles.EnsureSuccessStatusCode();
            var jsonFiles = JToken.Parse(await responseFiles.Content.ReadAsStringAsync());

            var jsonFileInFolderFirst = GetFileIdByName(jsonFiles, "1100119.cif");
            var jsonFileInFolderRoot  = GetFileIdByName(jsonFiles, "1100252.cif");

            var fileIdInFirst = FilesId[jsonFileInFolderFirst["name"].ToObject <string>()];
            var fileIdInRoot  = FilesId[jsonFileInFolderRoot["name"].ToObject <string>()];

            var response = await JohnApi.GetPageNumber(fileIdInFirst, 4);

            var numberPage1 = JToken.Parse(await response.Content.ReadAsStringAsync())[fieldNamePageNumber].ToObject <int>();

            numberPage1.ShouldBeEquivalentTo(1);

            var responseTwoNumberPage = await JohnApi.GetPageNumber(fileIdInFirst, 2);

            var numberPageTwoNumberPage = JToken.Parse(await responseTwoNumberPage.Content.ReadAsStringAsync())[fieldNamePageNumber].ToObject <int>();

            numberPageTwoNumberPage.ShouldBeEquivalentTo(2);

            var responseOneInRoot = await JohnApi.GetPageNumber(fileIdInRoot, 4);

            var numberPageOneInRoot = JToken.Parse(await responseOneInRoot.Content.ReadAsStringAsync())[fieldNamePageNumber].ToObject <int>();

            numberPageOneInRoot.ShouldBeEquivalentTo(2);

            var responseTwoInRoot = await JohnApi.GetPageNumber(fileIdInRoot, 2);

            var numberPageTwoInRoot = JToken.Parse(await responseTwoInRoot.Content.ReadAsStringAsync())[fieldNamePageNumber].ToObject <int>();

            numberPageTwoInRoot.ShouldBeEquivalentTo(3);
//            var response2 = await Api.GetPageNumber(FilesId[UserId][FilesId.Count - 1], 20);
//            var numberPage2 = JToken.Parse(await response2.Content.ReadAsStringAsync()).ToObject<int>();
//            numberPage2.ShouldBeEquivalentTo(1);

//            var response3 = await Api.GetPageNumber(FilesId[UserId][0], 20);
//            var numberPage3 = JToken.Parse(await response3.Content.ReadAsStringAsync()).ToObject<int>();
//            numberPage3.ShouldBeEquivalentTo(1);

//            var paginationHeader = response.Headers.GetValues("X-Pagination").Single();
//            var jsonPagination = JObject.Parse(paginationHeader);
//            jsonPagination.Should().ContainsJson($@"
//            {{
//                'totalCount': 4,
//                'pageSize': 4,
//                'totalPages': 1,
//                'currentPage': 1
//            }}");
        }