public async Task GettingAllRecords_WithPageInformation_ReturnsExpectedNumberOfRecords( int currentPage, int pageSize, int expected) { // Arrange var pageInformation = new PageInformation(currentPage, pageSize); var insolvencyRecords = InsolvenciesTestData.CreateInsolvenciesActuals(); var personRecords = PersonsTestData.CreatePersonsActuals(); var context = TestDbContext.CreateContextWithSeededData(insolvencyRecords).Seed(personRecords); var personRepository = new InsolvencyOrderPersonsRepository(context, mockTelemetryClient.Object); // Act var actualCount = (await personRepository.GetAllAsync(pageInformation)).Count(); // Assert Assert.AreEqual(expected, actualCount); }
public async Task GettingRecordById_WithDisputes_ReturnsInsolvencyRecordWithFilteredDisputes() { // Arrange const int recordId = 1; const string includes = DomainResources.Disputes; var expectedRecord = InsolvenciesWithDisputesTestData.GetInsolvencyById(recordId); var insolvencyRecords = InsolvenciesWithDisputesTestData.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(recordId, record => record.InsolvencyOrderId, includes); // 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, new DisputeModelComparer()); }
public async Task GettingRecordsByResidenceId_WithPageInformation_ReturnsExpectedNumberOfRecordsAsync( int currentPage, int pageSize, int residenceId, int expected) { // Arrange var pageInformation = new PageInformation(currentPage, pageSize); 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 actualCount = (await insolvencyOrdersRepository.GetResultsByAsync( residenceId, record => record.ResidenceId, 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 GettingAllRecords_WithDisputes_ReturnsInsolvenciesRecordsWithFilteredDisputes() { // Arrange const string includes = DomainResources.Disputes; var pageInformation = new PageInformation(1, 100); var expectedInsolvenciesRecords = InsolvenciesWithDisputesTestData.CreateInsolvenciesExpecteds(); var expectedDisputeRecords = expectedInsolvenciesRecords.SelectMany(insolvencyModel => insolvencyModel.Disputes); var insolvencyRecords = InsolvenciesWithDisputesTestData.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 actualInsolvenciesRecords = await insolvencyOrdersRepository.GetAllAsync(pageInformation, includes); var actualDisputeRecords = actualInsolvenciesRecords.SelectMany(insolvencyModel => insolvencyModel.Disputes); // Assert CollectionAssert.AreEqual(expectedInsolvenciesRecords.ToList(), actualInsolvenciesRecords.ToList(), new InsolvencyModelComparer()); CollectionAssert.AreEqual(expectedDisputeRecords.ToList(), actualDisputeRecords.ToList(), new DisputeModelComparer()); }
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); }
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()); }
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_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 GettingAllRecords_WithPageInformation_ReturnsMappedModels( int currentPage, int pageSize) { // Arrange var pageInformation = new PageInformation(currentPage, pageSize); var expectedRecords = DisputeTestData.CreateDisputeExpecteds(pageInformation); 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 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); }