Beispiel #1
0
        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);
        }
Beispiel #2
0
        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]);
        }
Beispiel #3
0
        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]);
        }