public async Task WebApiQueryProviderTest3() { var serviceProvider = Substitute.For <IServiceProvider>(); var repository = Substitute.For <GenericRepository <Account> >(); repository.RetrieveMultiple(Arg.Any <string>()).Returns(Task.FromResult(new List <Account>())); serviceProvider.GetService(Arg.Any <Type>()).Returns(repository); var provider = new WebApiQueryProvider(serviceProvider); var query = new Query <Account>(provider).Where(p => p.StateCode == account_statecode.Active).Select(p => new { Id = p.Id, CreatedBy = p.CreatedBy }).ToList(); await repository.Received().RetrieveMultiple($"{Account.CollectionName}?$select=accountid,_createdby_value&$filter=(statecode eq 0)"); }
public async Task WebApiQueryProviderOrderByDescendingTest2bis() { var serviceProvider = Substitute.For <IServiceProvider>(); var repository = Substitute.For <GenericRepository <Account> >(); repository.RetrieveMultiple(Arg.Any <string>()).Returns(Task.FromResult(new List <Account>())); serviceProvider.GetService(Arg.Any <Type>()).Returns(repository); var provider = new WebApiQueryProvider(serviceProvider); var query = new Query <Account>(provider).Where(p => p.StateCode == account_statecode.Active).OrderByDescending(p => new { p.Address1_City, p.Name }).ToList(); await repository.Received().RetrieveMultiple($"{Account.CollectionName}?$orderby=address1_city desc, name desc&$filter=(statecode eq 0)"); }
public async Task WebApiQueryProviderTest1() { var serviceProvider = Substitute.For <IServiceProvider>(); var repository = Substitute.For <GenericRepository <Account> >(); repository.RetrieveMultiple(Arg.Any <string>()).Returns(Task.FromResult(new List <Account>())); serviceProvider.GetService(Arg.Any <Type>()).Returns(repository); var provider = new WebApiQueryProvider(serviceProvider); var query = new Query <Account>(provider).ToList(); await repository.Received().RetrieveMultiple(Account.CollectionName); }
public async Task WebApiQueryProviderOrderByTest1bis() { var serviceProvider = Substitute.For <IServiceProvider>(); var repository = Substitute.For <GenericRepository <Account> >(); repository.RetrieveMultiple(Arg.Any <string>()).Returns(Task.FromResult(new List <Account>())); serviceProvider.GetService(Arg.Any <Type>()).Returns(repository); var provider = new WebApiQueryProvider(serviceProvider); var query = new Query <Account>(provider).OrderBy(p => new { p.Address1_City, p.Name }).ToList(); await repository.Received().RetrieveMultiple($"{Account.CollectionName}?$orderby=address1_city asc, name asc"); }
public async Task WebApiQueryProviderOrderByDescendingTest4() { var serviceProvider = Substitute.For <IServiceProvider>(); var repository = Substitute.For <GenericRepository <Account> >(); repository.RetrieveMultiple(Arg.Any <string>()).Returns(Task.FromResult(new List <Account>())); serviceProvider.GetService(Arg.Any <Type>()).Returns(repository); var provider = new WebApiQueryProvider(serviceProvider); var query = new Query <Account>(provider).Where(p => p.StateCode == account_statecode.Active).Select(p => new Account { Id = p.Id, CustomerTypeCode = p.CustomerTypeCode }).OrderByDescending(p => p.Name).ToList(); await repository.Received().RetrieveMultiple($"{Account.CollectionName}?$orderby=name desc&$select=accountid,customertypecode&$filter=(statecode eq 0)"); }
public async Task WebApiQueryProviderTest6() { var serviceProvider = Substitute.For <IServiceProvider>(); var repository = Substitute.For <GenericRepository <Account> >(); repository.RetrieveMultiple(Arg.Any <string>()).Returns(Task.FromResult(new List <Account>())); serviceProvider.GetService(Arg.Any <Type>()).Returns(repository); var provider = new WebApiQueryProvider(serviceProvider); var query = new Query <Account>(provider) .Where(p => p.Name == "John" || p.Name == "Doe") .Where(p => p.StateCode == account_statecode.Active) .Select(p => new { Id = p.Id, CustomerTypeCode = p.CustomerTypeCode, ExchangeRate = p.ExchangeRate }) .ToList(); await repository.Received().RetrieveMultiple($"{Account.CollectionName}?$select=accountid,customertypecode,exchangerate&$filter=(name eq 'John' or name eq 'Doe') and (statecode eq 0)"); }
public async Task WebApiQueryProviderTest7() { var serviceProvider = Substitute.For <IServiceProvider>(); var repository = Substitute.For <GenericRepository <CustomerAddress> >(); serviceProvider.GetService(Arg.Any <Type>()).Returns(repository); repository.RetrieveMultiple(Arg.Any <string>()).Returns(Task.FromResult(new List <CustomerAddress>())); var guid = Guid.NewGuid(); var provider = new WebApiQueryProvider(serviceProvider); var query = new Query <CustomerAddress>(provider) .Where(p => p.ParentId == new Account(guid).ToNavigationProperty()) .Select(p => new { Id = p.Id, ParentId = p.ParentId, ExchangeRate = p.ExchangeRate }) .ToList(); await repository.Received().RetrieveMultiple($"{CustomerAddress.CollectionName}?$select=customeraddressid,_parentid_value,exchangerate&$filter=(_parentid_value eq '{guid}')"); }
public async Task MockWebApiQueryProviderStartWithTest2() { var serviceProvider = Substitute.For <IServiceProvider>(); var repository = Substitute.For <GenericRepository <CustomerAddress> >(); serviceProvider.GetService(Arg.Any <Type>()).Returns(repository); repository.RetrieveMultiple(Arg.Any <string>()).Returns(Task.FromResult(new List <CustomerAddress>())); var guid = Guid.NewGuid(); var provider = new WebApiQueryProvider(serviceProvider); var query = new Query <Contact>(provider) .Where(p => p.FirstName == "John" && p.LastName.StartsWith("Doe")) .Select(p => new { Id = p.Id }) .ToList(); await repository.Received().RetrieveMultiple($"{Contact.CollectionName}?$select=contactid&$filter=(firstname eq 'John' and startswith(lastname,'Doe'))"); }
public WebApiContext(IHttpClientFactory httpClientFactory, IServiceProvider serviceProvider) { _queryProvider = new WebApiQueryProvider(serviceProvider); _genericRepository = new GenericRepository(httpClientFactory); }