public async Task CanQueryByDeleted() { var employee1 = EmployeeGenerator.Default; employee1.IsDeleted = true; employee1 = await _employeeRepository.AddAsync(employee1, o => o.ImmediateConsistency()); Assert.NotNull(employee1?.Id); await _employeeRepository.AddAsync(EmployeeGenerator.Generate(), o => o.ImmediateConsistency()); var allEmployees = await _employeeRepository.GetByQueryAsync(q => q.SoftDeleteMode(SoftDeleteQueryMode.All)); Assert.Equal(2, allEmployees.Total); var onlyDeleted = await _employeeRepository.GetByQueryAsync(q => q.SoftDeleteMode(SoftDeleteQueryMode.DeletedOnly)); Assert.Equal(1, onlyDeleted.Total); Assert.Equal(employee1.Id, onlyDeleted.Documents.First().Id); var nonDeletedEmployees = await _employeeRepository.GetByQueryAsync(q => q.SoftDeleteMode(SoftDeleteQueryMode.ActiveOnly)); Assert.Equal(1, nonDeletedEmployees.Total); Assert.NotEqual(employee1.Id, nonDeletedEmployees.Documents.First().Id); }
public async Task GetByCompanyAsync() { var employee1 = await _employeeRepository.AddAsync(EmployeeGenerator.Generate(age: 19, companyId: EmployeeGenerator.DefaultCompanyId), o => o.ImmediateConsistency()); var employee2 = await _employeeRepository.AddAsync(EmployeeGenerator.Generate(age: 20), o => o.ImmediateConsistency()); var results = await _employeeRepository.GetAllByCompanyAsync(employee1.CompanyId); Assert.Equal(1, results.Total); Assert.Equal(employee1, results.Documents.First()); results = await _employeeRepository.GetAllByCompanyAsync(employee2.CompanyId); Assert.Equal(1, results.Total); Assert.Equal(employee2, results.Documents.First()); results = await _employeeRepository.GetAllByCompaniesWithFieldEqualsAsync(new string[] { employee1.CompanyId }); Assert.Equal(1, results.Total); results = await _employeeRepository.GetAllByCompaniesWithFieldEqualsAsync(new string[] { employee1.CompanyId, employee2.CompanyId }); Assert.Equal(2, results.Total); Assert.Equal(1, await _employeeRepository.GetCountByCompanyAsync(employee1.CompanyId)); await _employeeRepository.RemoveAsync(employee1, o => o.Cache().ImmediateConsistency()); await _employeeRepository.GetByQueryAsync(q => q.FieldCondition(e => e.Age, ComparisonOperator.Equals, 12)); Assert.Equal(1, await _employeeRepository.CountAsync()); Assert.Equal(0, await _employeeRepository.GetCountByCompanyAsync(employee1.CompanyId)); }
public async Task GetAllWithAliasedDateRangeAsync() { var employee = await _employeeRepository.AddAsync(EmployeeGenerator.Generate(nextReview: DateTimeOffset.Now), o => o.ImmediateConsistency()); Assert.NotNull(employee?.Id); var results = await _employeeRepository.GetByQueryAsync(o => o.DateRange(DateTime.UtcNow.SubtractHours(1), DateTime.UtcNow, "next")); Assert.NotNull(results); Assert.Equal(1, results.Documents.Count); Assert.Equal(1, results.Page); Assert.False(results.HasMore); Assert.Equal(1, results.Total); }