public async Task GetRegistrationsSearchAsync_ForSpecifiedSearchQuery_ReturnsFoundRegistrations(string searchText, Registration matchingRegistration) { // Arrange var fixture = new Fixture(); var registrations = fixture .Build <Registration>() .Without(x => x.PrivateData) .Without(x => x.CompanyData) .Without(x => x.DateDeleted) .CreateMany(3) .ToList(); registrations.Add(matchingRegistration); var dbContext = DbContextUtils.CreateInMemoryDbContext(); dbContext.Registrations.AddRange(registrations); await dbContext.SaveChangesAsync(); var repository = new RegistrationRepository(dbContext); // Act List <Registration> result = await repository.GetRegistrationsSearchAsync(searchText); // Assert result.Select(x => x.Id).Should().BeEquivalentTo(matchingRegistration.Id); }
public async Task GetRegistrationsBySpecificationAsync_ForSpecifiedDeptorIds_ReturnsRegistrationsByDeptorIds() { // Arrange var fixture = new Fixture(); var registrations = fixture .Build <Registration>() .Without(x => x.PrivateData) .Without(x => x.CompanyData) .Without(x => x.DateDeleted) .CreateMany(3) .ToList(); var dbContext = DbContextUtils.CreateInMemoryDbContext(); dbContext.Registrations.AddRange(registrations); await dbContext.SaveChangesAsync(); var specification = new RegistrationSpecification(); specification.DebtorIds.AddRange(new[] { registrations[0].DeptorId.ToString(), registrations[1].DeptorId.ToString() }); var repository = new RegistrationRepository(dbContext); // Act var result = await repository.GetRegistrationsBySpecificationAsync(specification); // Assert result.Should().BeEquivalentTo(registrations[0], registrations[1]); }
public async Task GetRegistrationsBySpecificationAsync_ForSpecification_ExcludesDeletedRegistrations() { // Arrange var fixture = new Fixture(); var registrations = fixture .Build <Registration>() .Without(x => x.PrivateData) .Without(x => x.CompanyData) .With(x => x.DateDeleted, DateTime.UtcNow) .CreateMany(3) .ToList(); var dbContext = DbContextUtils.CreateInMemoryDbContext(); dbContext.Registrations.AddRange(registrations); await dbContext.SaveChangesAsync(); var specification = new RegistrationSpecification(); specification.Ids.Add(registrations[0].Id.ToString()); specification.Ids.Add(registrations[2].Id.ToString()); var repository = new RegistrationRepository(dbContext); // Act var result = await repository.GetRegistrationsBySpecificationAsync(specification); // Assert result.Should().NotContain(registrations[2]); }