private IScanResponse <T> LoadNextPage() { var skip = IterateSkip(); var limit = Limit; var request = ScanRequest.CreateBaseRestRequest(skip, limit); var response = ScanRequest.ExecuteScanRestRequest(request); return(response); }
public void TestFieldParameterGeneration() { var mockRestClient = A.Fake <IRestClient>(); A.CallTo(mockRestClient).DoesNothing(); A.CallTo(() => mockRestClient.Execute <ScanResponse <Lead> >(A <IRestRequest> .That.Matches(request => request.Parameters.Where(param => param.Name.Equals("_fields")) .Any(param => param.Value.Equals("id,name,display_name,opportunities"))))) .Returns(new RestResponse <ScanResponse <Lead> > { StatusCode = HttpStatusCode.OK, Data = new ScanResponse <Lead> { HasMore = false, TotalResults = 0, Data = new List <Lead>() } }); A.CallTo(() => mockRestClient.Execute <ScanResponse <Lead> >(A <IRestRequest> .That.Not.Matches(request => request.Parameters.Where(param => param.Name.Equals("_fields")) .Any(param => param.Value.Equals("id,name,display_name,opportunities"))))) .Throws(new AssertFailedException("RestClient.Execute called with unexpected parameters")); Factory.DispenseForType <IRestClient, RestClient>(mockRestClient); var unit = new ScanRequest <Lead>() { Fields = new List <IEntityField>() { new EntityFieldAttribute(typeof(Lead), "Id", "id", false, false, false, false, false), new EntityFieldAttribute(typeof(Lead), "Name", "name", false, false, false, false, false), new EntityFieldAttribute(typeof(Lead), "DisplayName", "display_name", false, false, false, false, false), new EntityFieldAttribute(typeof(Lead), "Opportunities", "opportunities", false, false, false, false, false), } }; var result = unit.CreateBaseRestRequest(0, 100); Assert.IsNotNull(result); Assert.IsTrue(result.Parameters.Exists(param => param.Name.Equals("_fields"))); var value = result.Parameters.First(entry => entry.Name.Equals("_fields")).Value; Assert.AreEqual("id,name,display_name,opportunities", value); }