示例#1
0
        public async Task Last_ReturnsLastPage()
        {
            ClientResponse <IList <ModelBase> > paginatedResponse = UKFastClientTests.GetListResponse(new List <ModelBase>(), 10);
            ClientResponse <IList <ModelBase> > mockResponse      = UKFastClientTests.GetListResponse(new List <ModelBase>(), 10);

            IUKFastClient client = Substitute.For <IUKFastClient>();

            client.GetPaginatedAsync <ModelBase>("testresource", Arg.Is <ClientRequestParameters>(x => x.Pagination.Page == 10)).Returns(x =>
            {
                return(Task.Run(() => new Paginated <ModelBase>(client, "testresource", x.ArgAt <ClientRequestParameters>(1), mockResponse)));
            });

            Paginated <ModelBase> paginated = new Paginated <ModelBase>(client, "testresource", new ClientRequestParameters(), paginatedResponse);
            Paginated <ModelBase> last      = await paginated.Last();

            Assert.AreEqual(10, last.CurrentPage);
        }