Example #1
0
        public async Task WhenGetPagedList_ThenSuccess()
        {
            var headers = await _defaultRequestHeadersService.GetAsync();

            var attribute = await _create.CustomerAttribute.BuildAsync();

            var value  = "Test".WithGuid();
            var source = await _create.CustomerSource
                         .WithName(value)
                         .BuildAsync();

            await Task.WhenAll(
                _create.Customer
                .WithSourceId(source.Id)
                .WithAttributeLink(attribute.Id, value)
                .BuildAsync(),
                _create.Customer
                .WithSourceId(source.Id)
                .WithAttributeLink(attribute.Id, value)
                .BuildAsync());

            var filterAttributes = new Dictionary <Guid, string> {
                { attribute.Id, value }
            };
            var filterSourceIds = new List <Guid> {
                source.Id
            };

            var request = new CustomerGetPagedListRequest
            {
                Attributes = filterAttributes, SourceIds = filterSourceIds
            };

            var response = await _customersClient.GetPagedListAsync(request, headers);

            var results = response.Customers
                          .Skip(1)
                          .Zip(response.Customers, (previous, current) => current.CreateDateTime >= previous.CreateDateTime);

            Assert.NotEmpty(response.Customers);
            Assert.All(results, Assert.True);
        }