public async Task UsingGetAllAsync_WithDisplayedFilter_ReturnsExpectedRecords()
        {
            // Arrange
            var pageInformation   = new PageInformation(1, 100);
            var expectedRecords   = DisputeTestData.CreateDisputeExpecteds().Where(dispute => dispute.Displayed.Value);
            var insolvencyRecords = InsolvenciesTestData.CreateInsolvenciesActuals();
            var disputeRecords    = DisputeTestData.CreateDisputeActuals();
            var context           = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(disputeRecords);

            var operationDateProvider = new Mock <IOperationDateProvider>();

            operationDateProvider.Setup(x => x.GetOperationDate()).Returns(DateTime.Now);

            IOptions <RetentionOptions> retentionOptions =
                new ConfigurationOption(
                    new RetentionOptions()
            {
                RetentionPeriod = 10,
                CutOffPeriod    = 6
            });

            var disputesFilteredBaseData = new DisputeFilterContext(retentionOptions, operationDateProvider.Object);

            var disputeRepository = new DisputesRepository(context, disputesFilteredBaseData, mockTelemetryClient.Object);

            // Act
            var actualRecords = await disputeRepository.GetAllAsync(pageInformation);

            // Assert
            CollectionAssert.AreEqual(
                expectedRecords.OrderBy(x => x.DisputeId).ToList(),
                actualRecords.OrderBy(x => x.DisputeId).ToList(),
                new DisputeModelComparer());
        }
        public async Task GettingAllRecords_WithPageInformation_ReturnsMappedModels(int currentPage, int pageSize)
        {
            // Arrange
            var pageInformation       = new PageInformation(currentPage, pageSize);
            var expectedRecords       = InsolvenciesTestData.CreateInsolvenciesExpecteds(pageInformation).ToList();
            var insolvencyRecords     = InsolvenciesTestData.CreateInsolvenciesActuals();
            var context               = TestDbContext.CreateContextWithSeededData(insolvencyRecords);
            var operationDateProvider = new Mock <IOperationDateProvider>();

            operationDateProvider.Setup(x => x.GetOperationDate()).Returns(DateTime.Now);

            IOptions <RetentionOptions> retentionOptions =
                new ConfigurationOption(
                    new RetentionOptions()
            {
                RetentionPeriod = 10,
                CutOffPeriod    = 6
            });

            var insolvencyOrdersFilteredBaseData = new InsolvencyOrderFilterContext(retentionOptions, operationDateProvider.Object);
            var disputesFilteredBaseData         = new DisputeFilterContext(retentionOptions, operationDateProvider.Object);

            var insolvencyOrdersRepository =
                new InsolvencyOrdersRepository(
                    context,
                    insolvencyOrdersFilteredBaseData,
                    disputesFilteredBaseData,
                    mockTelemetryClient.Object);

            // Act
            var actualRecords = (await insolvencyOrdersRepository.GetAllAsync(pageInformation)).ToList();

            // Assert
            CollectionAssert.AreEqual(expectedRecords, actualRecords, new InsolvencyModelComparer());
        }
        public async Task CountingRecordsById_WithSeededDisputeRecords_ReturnsCorrectCount()
        {
            // Arrange
            const int recordId          = 1;
            const int expectedCount     = 1;
            var       insolvencyRecords = InsolvenciesTestData.CreateInsolvenciesActuals();
            var       disputeRecords    = DisputeTestData.CreateDisputeActuals();
            var       context           = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(disputeRecords);

            var operationDateProvider = new Mock <IOperationDateProvider>();

            operationDateProvider.Setup(x => x.GetOperationDate()).Returns(DateTime.Now);

            IOptions <RetentionOptions> retentionOptions =
                new ConfigurationOption(
                    new RetentionOptions()
            {
                RetentionPeriod = 10,
                CutOffPeriod    = 6
            });

            var disputesFilteredBaseData = new DisputeFilterContext(retentionOptions, operationDateProvider.Object);

            var disputeRepository = new DisputesRepository(context, disputesFilteredBaseData, mockTelemetryClient.Object);

            // Act
            var actualCount = await disputeRepository.CountByAsync(recordId, record => record.DisputeId);

            // Assert
            Assert.AreEqual(expectedCount, actualCount);
        }
        public async Task GettingAllRecords_WithPageInformation_ReturnsExpectedNumberOfRecords(
            int currentPage,
            int pageSize,
            int expected)
        {
            // Arrange
            var pageInformation   = new PageInformation(currentPage, pageSize);
            var insolvencyRecords = InsolvenciesTestData.CreateInsolvenciesActuals();
            var disputeRecords    = DisputeTestData.CreateDisputeActuals();
            var context           = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(disputeRecords);

            var operationDateProvider = new Mock <IOperationDateProvider>();

            operationDateProvider.Setup(x => x.GetOperationDate()).Returns(DateTime.Now);

            IOptions <RetentionOptions> retentionOptions =
                new ConfigurationOption(
                    new RetentionOptions()
            {
                RetentionPeriod = 10,
                CutOffPeriod    = 6
            });

            var disputesFilteredBaseData = new DisputeFilterContext(retentionOptions, operationDateProvider.Object);

            var disputeRepository = new DisputesRepository(context, disputesFilteredBaseData, mockTelemetryClient.Object);

            // Act
            var actualCount = (await disputeRepository.GetAllAsync(pageInformation)).Count();

            // Assert
            Assert.AreEqual(expected, actualCount);
        }
        public async Task GettingRecordsByInsolvencyOrderId_WithPageInformation_ReturnsMappedModels(
            int currentPage,
            int pageSize,
            int insolvencyOrderId)
        {
            // Arrange
            var pageInformation   = new PageInformation(currentPage, pageSize);
            var expecteds         = HistoriesTestData.GetExpectedsByInsolvencyOrderId(pageInformation, insolvencyOrderId);
            var insolvencyRecords = InsolvenciesTestData.CreateInsolvenciesActuals();
            var historyRecords    = HistoriesTestData.CreateHistoriesActuals();
            var context           = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(historyRecords);

            var historiesRepository = new InsolvencyOrderHistoriesRepository(context, mockTelemetryClient.Object);

            // Act
            var actuals =
                await historiesRepository.GetResultsByAsync(
                    insolvencyOrderId,
                    record => record.InsolvencyOrderId,
                    pageInformation);

            // Assert
            CollectionAssert.AreEqual(
                expecteds.OrderBy(x => x.InsolvencyOrderHistoryId).ToList(),
                actuals.OrderBy(x => x.InsolvencyOrderHistoryId).ToList(),
                new InsolvencyHistoryModelComparer());
        }
Example #6
0
        public async Task GettingRecordsByInsolvencyOrderId_WithSeededTradingDetailsRecords_ReturnsMappedModels(
            int insolvencyOrderId)
        {
            // Arrange
            var pageInformation       = new PageInformation(1, 100);
            var expecteds             = TradingDetailsTestData.GetExpectedsByInsolvencyOrderId(insolvencyOrderId).ToList();
            var insolvencyRecords     = InsolvenciesTestData.CreateInsolvenciesActuals();
            var tradingDetailsRecords = TradingDetailsTestData.CreateTradingDetailsActuals();
            var context = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(tradingDetailsRecords);

            var tradingDetailsRepository = new InsolvencyOrderTradingDetailsRepository(context, mockTelemetryClient.Object);

            // Act
            var actuals =
                (await tradingDetailsRepository.GetResultsByAsync(
                     insolvencyOrderId,
                     record => record.InsolvencyOrderEntity.InsolvencyOrderId,
                     pageInformation)).ToList();

            // Assert
            CollectionAssert.AreEqual(
                expecteds.OrderBy(x => x.InsolvencyOrderTradingDetailsId).ToList(),
                actuals.OrderBy(x => x.InsolvencyOrderTradingDetailsId).ToList(),
                new InsolvencyTradingDetailsModelComparer());
        }
        public async Task GettingRecordsByInsolvencyOrderId_WithPageInformation_ReturnsExpectedNumberOfRecords(
            int currentPage,
            int pageSize,
            int insolvencyOrderId,
            int expected)
        {
            // Arrange
            var pageInformation   = new PageInformation(currentPage, pageSize);
            var insolvencyRecords = InsolvenciesTestData.CreateInsolvenciesActuals();
            var historyRecords    = HistoriesTestData.CreateHistoriesActuals();
            var context           = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(historyRecords);

            var historiesRepository = new InsolvencyOrderHistoriesRepository(context, mockTelemetryClient.Object);

            // Act
            var actualCount =
                (await historiesRepository.GetResultsByAsync(
                     insolvencyOrderId,
                     record => record.InsolvencyOrderId,
                     pageInformation))
                .Count();

            // Assert
            Assert.AreEqual(expected, actualCount);
        }
        public async Task CountingRecordsById_WithSeededHistoriesRecords_ReturnsCorrectCount()
        {
            // Arrange
            const int recordId      = 1;
            const int expectedCount = 1;

            var insolvencyRecords   = InsolvenciesTestData.CreateInsolvenciesActuals();
            var historyRecords      = HistoriesTestData.CreateHistoriesActuals();
            var context             = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(historyRecords);
            var historiesRepository = new InsolvencyOrderHistoriesRepository(context, mockTelemetryClient.Object);

            // Act
            var actualCount = await historiesRepository.CountByAsync(recordId, record => record.InsolvencyOrderHistoryId);

            // Assert
            Assert.AreEqual(expectedCount, actualCount);
        }
Example #9
0
        public async Task GettingAllRecords_WithPageInformation_ReturnsExpectedNumberOfRecords(
            int currentPage,
            int pageSize,
            int expected)
        {
            // Arrange
            var pageInformation       = new PageInformation(currentPage, pageSize);
            var insolvencyRecords     = InsolvenciesTestData.CreateInsolvenciesActuals();
            var tradingDetailsRecords = TradingDetailsTestData.CreateTradingDetailsActuals();
            var context = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(tradingDetailsRecords);

            var tradingDetailsRepository = new InsolvencyOrderTradingDetailsRepository(context, mockTelemetryClient.Object);

            // Act
            var actualCount = (await tradingDetailsRepository.GetAllAsync(pageInformation)).Count();

            // Assert
            Assert.AreEqual(expected, actualCount);
        }
        public async Task GettingRecordsByResidenceId_WithSeededInsolvenciesRecords_ReturnsMappedModels(int residenceId)
        {
            // Arrange
            var pageInformation       = new PageInformation(1, 100);
            var expecteds             = InsolvenciesTestData.GetExpectedsByResidenceId(residenceId);
            var insolvencyRecords     = InsolvenciesTestData.CreateInsolvenciesActuals();
            var context               = TestDbContext.CreateContextWithSeededData(insolvencyRecords);
            var operationDateProvider = new Mock <IOperationDateProvider>();

            operationDateProvider.Setup(x => x.GetOperationDate()).Returns(DateTime.Now);

            IOptions <RetentionOptions> retentionOptions =
                new ConfigurationOption(
                    new RetentionOptions()
            {
                RetentionPeriod = 10,
                CutOffPeriod    = 6
            });

            var insolvencyOrdersFilteredBaseData = new InsolvencyOrderFilterContext(retentionOptions, operationDateProvider.Object);
            var disputesFilteredBaseData         = new DisputeFilterContext(retentionOptions, operationDateProvider.Object);

            var insolvencyOrdersRepository =
                new InsolvencyOrdersRepository(
                    context,
                    insolvencyOrdersFilteredBaseData,
                    disputesFilteredBaseData,
                    mockTelemetryClient.Object);

            // Act
            var actuals =
                await insolvencyOrdersRepository.GetResultsByAsync(
                    residenceId,
                    record => record.ResidenceId,
                    pageInformation);

            // Assert
            CollectionAssert.AreEqual(
                expecteds.OrderBy(x => x.InsolvencyOrderId).ToList(),
                actuals.OrderBy(x => x.InsolvencyOrderId).ToList(),
                new InsolvencyModelComparer());
        }
        public async Task GettingAllRecords_WithSeededHistoriesRecords_ReturnsMappedModels()
        {
            // Arrange
            var pageInformation   = new PageInformation(1, 100);
            var expectedRecords   = HistoriesTestData.CreateHistoriesExpecteds();
            var insolvencyRecords = InsolvenciesTestData.CreateInsolvenciesActuals();
            var historyRecords    = HistoriesTestData.CreateHistoriesActuals();
            var context           = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(historyRecords);

            var historiesRepository = new InsolvencyOrderHistoriesRepository(context, mockTelemetryClient.Object);

            // Act
            var actualRecords = await historiesRepository.GetAllAsync(pageInformation);

            // Assert
            CollectionAssert.AreEqual(
                expectedRecords.OrderBy(x => x.InsolvencyOrderHistoryId).ToList(),
                actualRecords.OrderBy(x => x.InsolvencyOrderHistoryId).ToList(),
                new InsolvencyHistoryModelComparer());
        }
        public async Task GettingRecordById_WithSeededInsolvenciesRecords_ReturnsMappedModel()
        {
            // Arrange
            const int insolvencyOrderId     = 1;
            var       expectedRecord        = InsolvenciesTestData.GetInsolvencyById(insolvencyOrderId);
            var       insolvencyRecords     = InsolvenciesTestData.CreateInsolvenciesActuals();
            var       context               = TestDbContext.CreateContextWithSeededData(insolvencyRecords);
            var       operationDateProvider = new Mock <IOperationDateProvider>();

            operationDateProvider.Setup(x => x.GetOperationDate()).Returns(DateTime.Now);

            IOptions <RetentionOptions> retentionOptions =
                new ConfigurationOption(
                    new RetentionOptions()
            {
                RetentionPeriod = 10,
                CutOffPeriod    = 6
            });

            var insolvencyOrdersFilteredBaseData = new InsolvencyOrderFilterContext(retentionOptions, operationDateProvider.Object);
            var disputesFilteredBaseData         = new DisputeFilterContext(retentionOptions, operationDateProvider.Object);

            var insolvencyOrdersRepository =
                new InsolvencyOrdersRepository(
                    context,
                    insolvencyOrdersFilteredBaseData,
                    disputesFilteredBaseData,
                    mockTelemetryClient.Object);

            // Act
            var actualRecord = await insolvencyOrdersRepository.GetResultByAsync(insolvencyOrderId, record => record.InsolvencyOrderId);

            // Assert
            Assert.AreEqual(expectedRecord.InsolvencyOrderId, actualRecord.InsolvencyOrderId);
            Assert.AreEqual(expectedRecord.DischargeDate, actualRecord.DischargeDate);
            Assert.AreEqual(expectedRecord.LineOfBusiness, actualRecord.LineOfBusiness);
            Assert.AreEqual(expectedRecord.OrderDate, actualRecord.OrderDate);
            Assert.AreEqual(expectedRecord.RestrictionsEndDate, actualRecord.RestrictionsEndDate);
            Assert.AreEqual(expectedRecord.RestrictionsStartDate, actualRecord.RestrictionsStartDate);
            CollectionAssert.AreEqual(expectedRecord.Disputes, actualRecord.Disputes);
        }
Example #13
0
        public async Task GettingRecordById_WithSeededTradingDetailsRecords_ReturnsMappedModel()
        {
            // Arrange
            const int recordId = 1;

            var expectedRecord        = TradingDetailsTestData.GetTradingDetailsById(recordId);
            var insolvencyRecords     = InsolvenciesTestData.CreateInsolvenciesActuals();
            var tradingDetailsRecords = TradingDetailsTestData.CreateTradingDetailsActuals();
            var context = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(tradingDetailsRecords);

            var tradingDetailsRepository = new InsolvencyOrderTradingDetailsRepository(context, mockTelemetryClient.Object);

            // Act
            var actualRecord = await tradingDetailsRepository.GetResultByAsync(recordId, record => record.InsolvencyTradingId);

            // Assert
            Assert.AreEqual(expectedRecord.InsolvencyOrderId, actualRecord.InsolvencyOrderId);
            Assert.AreEqual(expectedRecord.Name, actualRecord.Name);
            Assert.AreEqual(expectedRecord.InsolvencyOrderTradingDetailsId, actualRecord.InsolvencyOrderTradingDetailsId);
            Assert.AreEqual(expectedRecord.Address, actualRecord.Address);
        }
Example #14
0
        public async Task GettingAllRecords_WithPageInformation_ReturnsMappedModels(
            int currentPage,
            int pageSize)
        {
            // Arrange
            var pageInformation       = new PageInformation(currentPage, pageSize);
            var expectedRecords       = TradingDetailsTestData.CreateTradingDetailsExpecteds(pageInformation);
            var insolvencyRecords     = InsolvenciesTestData.CreateInsolvenciesActuals();
            var tradingDetailsRecords = TradingDetailsTestData.CreateTradingDetailsActuals();
            var context = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(tradingDetailsRecords);

            var tradingDetailsRepository = new InsolvencyOrderTradingDetailsRepository(context, mockTelemetryClient.Object);

            // Act
            var actualRecords = await tradingDetailsRepository.GetAllAsync(pageInformation);

            // Assert
            CollectionAssert.AreEqual(
                expectedRecords.OrderBy(x => x.InsolvencyOrderTradingDetailsId).ToList(),
                actualRecords.OrderBy(x => x.InsolvencyOrderTradingDetailsId).ToList(),
                new InsolvencyTradingDetailsModelComparer());
        }
Example #15
0
        public async Task GettingRecordById_WithSeededPersonsRecords_ReturnsMappedModel()
        {
            // Arrange
            const int recordId = 1;

            var expectedRecord    = PersonsTestData.GetPersonsById(recordId);
            var insolvencyRecords = InsolvenciesTestData.CreateInsolvenciesActuals();
            var personRecords     = PersonsTestData.CreatePersonsActuals();
            var context           = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(personRecords);

            var personRepository = new InsolvencyOrderPersonsRepository(context, mockTelemetryClient.Object);

            // Act
            var actualRecord = await personRepository.GetResultByAsync(recordId, record => record.InsolvencyOrderPersonId);

            // Assert
            Assert.AreEqual(expectedRecord.InsolvencyOrderId, actualRecord.InsolvencyOrderId);
            Assert.AreEqual(expectedRecord.Forename, actualRecord.Forename);
            Assert.AreEqual(expectedRecord.InsolvencyOrderPersonId, actualRecord.InsolvencyOrderPersonId);
            Assert.AreEqual(expectedRecord.Surname, actualRecord.Surname);
            Assert.AreEqual(expectedRecord.Title, actualRecord.Title);
            Assert.AreEqual(expectedRecord.DateOfBirth, actualRecord.DateOfBirth);
        }
        public async Task GettingRecordById_WithSeededHistoriesRecords_ReturnsMappedModel()
        {
            // Arrange
            const int recordId = 1;

            var expectedRecord    = HistoriesTestData.GetHistoriesById(recordId);
            var insolvencyRecords = InsolvenciesTestData.CreateInsolvenciesActuals();
            var historyRecords    = HistoriesTestData.CreateHistoriesActuals();
            var context           = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(historyRecords);

            var historiesRepository = new InsolvencyOrderHistoriesRepository(context, mockTelemetryClient.Object);

            // Act
            var actualRecord = await historiesRepository.GetResultByAsync(recordId, record => record.InsolvencyOrderHistoryId);

            // Assert
            Assert.AreEqual(expectedRecord.InsolvencyOrderId, actualRecord.InsolvencyOrderId);
            Assert.AreEqual(expectedRecord.CaseReference, actualRecord.CaseReference);
            Assert.AreEqual(expectedRecord.InsolvencyOrderHistoryId, actualRecord.InsolvencyOrderHistoryId);
            Assert.AreEqual(expectedRecord.CaseYear, actualRecord.CaseYear);
            Assert.AreEqual(expectedRecord.CourtId, actualRecord.CourtId);
            Assert.AreEqual(expectedRecord.InsolvencyOrderStatusId, actualRecord.InsolvencyOrderStatusId);
        }
        public async Task GettingRecordById_WithSeededDisputeRecords_ReturnsMappedModel()
        {
            // Arrange
            const int recordId = 1;

            var expectedRecord    = DisputeTestData.GetDisputeById(recordId);
            var insolvencyRecords = InsolvenciesTestData.CreateInsolvenciesActuals();
            var disputeRecords    = DisputeTestData.CreateDisputeActuals();
            var context           = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(disputeRecords);

            var operationDateProvider = new Mock <IOperationDateProvider>();

            operationDateProvider.Setup(x => x.GetOperationDate()).Returns(DateTime.Now);

            IOptions <RetentionOptions> retentionOptions =
                new ConfigurationOption(
                    new RetentionOptions()
            {
                RetentionPeriod = 10,
                CutOffPeriod    = 6
            });

            var disputesFilteredBaseData = new DisputeFilterContext(retentionOptions, operationDateProvider.Object);

            var disputeRepository = new DisputesRepository(context, disputesFilteredBaseData, mockTelemetryClient.Object);

            // Act
            var actualRecord = await disputeRepository.GetResultByAsync(recordId, record => record.DisputeId);

            // Assert
            Assert.AreEqual(expectedRecord.InsolvencyOrderId, actualRecord.InsolvencyOrderId);
            Assert.AreEqual(expectedRecord.DateRaised, actualRecord.DateRaised);
            Assert.AreEqual(expectedRecord.Displayed, actualRecord.Displayed);
            Assert.AreEqual(expectedRecord.DisputeId, actualRecord.DisputeId);
            Assert.AreEqual(expectedRecord.ReferenceNumber, actualRecord.ReferenceNumber);
        }