public AddNotificationTransactionHandlerTests() { var chargeCalculator = A.Fake <INotificationChargeCalculator>(); A.CallTo(() => chargeCalculator.GetValue(A <Guid> .Ignored)).Returns(TotalBillable); transactions = new List <NotificationTransaction>(); var transactionRepository = A.Fake <INotificationTransactionRepository>(); A.CallTo(() => transactionRepository.GetTransactions(NotificationId)).Returns(transactions); calculatorTransactions = new List <NotificationTransaction>(); var calculatorRepository = A.Fake <INotificationTransactionRepository>(); A.CallTo(() => calculatorRepository.GetTransactions(NotificationId)).Returns(calculatorTransactions); context.ShipmentInfos.Add(new TestableShipmentInfo { NotificationId = NotificationId }); assessment = new NotificationAssessment(NotificationId); ObjectInstantiator <NotificationAssessment> .SetProperty(x => x.Status, NotificationStatus.NotificationReceived, assessment); context.NotificationAssessments.Add(assessment); context.NotificationApplications.Add(new TestableNotificationApplication { Id = NotificationId }); var assessmentRepository = A.Fake <INotificationAssessmentRepository>(); A.CallTo(() => assessmentRepository.GetByNotificationId(NotificationId)).Returns(assessment); handler = new AddNotificationTransactionHandler(context, new Transaction(assessmentRepository, transactionRepository, new NotificationTransactionCalculator(calculatorRepository, chargeCalculator))); }
public async Task GetNotificationAssessmentByIdChecksAuthorization() { var notification = NotificationApplicationFactory.Create(userId, NotificationType.Recovery, UKCompetentAuthority.England, 20181); context.NotificationApplications.Add(notification); context.SaveChanges(); var notificationId = notification.Id; var assessment = new NotificationAssessment(notificationId); ObjectInstantiator <NotificationAssessment> .SetProperty(x => x.Status, NotificationStatus.NotificationReceived, assessment); context.NotificationAssessments.Add(assessment); context.SaveChanges(); var repository = new NotificationAssessmentRepository(context, notificationApplicationAuthorization); await repository.GetByNotificationId(notificationId); A.CallTo(() => notificationApplicationAuthorization.EnsureAccessAsync(notificationId)).MustHaveHappened(); context.DeleteOnCommit(assessment); await context.SaveChangesAsync(); context.DeleteOnCommit(notification); await context.SaveChangesAsync(); }
public NotificationAssessmentStatusTests() { notificationId = new Guid("C4C62654-048C-45A2-BF7F-9837EFCF328F"); notificationAssessment = new NotificationAssessment(notificationId); progressService = A.Fake <INotificationProgressService>(); A.CallTo(() => progressService.IsComplete(notificationId)).Returns(true); }
public NotificationAssessmentStatusTests() { notificationId = new Guid("C4C62654-048C-45A2-BF7F-9837EFCF328F"); notificationAssessment = new NotificationAssessment(notificationId); progressService = A.Fake<INotificationProgressService>(); A.CallTo(() => progressService.IsComplete(notificationId)).Returns(true); }
public AddNotificationTransactionHandlerTests() { var chargeCalculator = A.Fake<INotificationChargeCalculator>(); A.CallTo(() => chargeCalculator.GetValue(A<Guid>.Ignored)).Returns(200.00m); var transactionsList = new List<NotificationTransaction>(); transactionsList.Add(new NotificationTransaction(new NotificationTransactionData { Date = NewDate, NotificationId = NotificationId, Credit = 100.00m, PaymentMethod = PaymentMethod.BacsChaps })); var repository = A.Fake<INotificationTransactionRepository>(); A.CallTo(() => repository.GetTransactions(NotificationId)).Returns(transactionsList); context.ShipmentInfos.Add(new TestableShipmentInfo { NotificationId = NotificationId }); assessment = new NotificationAssessment(NotificationId); ObjectInstantiator<NotificationAssessment>.SetProperty(x => x.Status, NotificationStatus.NotificationReceived, assessment); context.NotificationAssessments.Add(assessment); context.NotificationApplications.Add(new TestableNotificationApplication { Id = NotificationId }); var assessmentRepository = A.Fake<INotificationAssessmentRepository>(); A.CallTo(() => assessmentRepository.GetByNotificationId(NotificationId)).Returns(assessment); handler = new AddNotificationTransactionHandler(context, new Transaction(assessmentRepository, repository, new NotificationTransactionCalculator(repository, chargeCalculator))); }
private void AddNotificationAssessments(Guid sourceId, Guid destinationId) { var sourceAssessment = new NotificationAssessment(sourceId); var destinationAssessment = new NotificationAssessment(destinationId); context.NotificationAssessments.Add(sourceAssessment); context.NotificationAssessments.Add(destinationAssessment); }
public async Task HandleAsync(NotificationCreatedEvent @event) { var notificationAssessment = new NotificationAssessment(@event.Notification.Id); var financialGuaranteeCollection = new FinancialGuaranteeCollection(@event.Notification.Id); context.NotificationAssessments.Add(notificationAssessment); context.FinancialGuarantees.Add(financialGuaranteeCollection); await context.SaveChangesAsync(); }
public SetNotificationReceivedDateHandlerTests() { context = new TestIwsContext(); assessment = new NotificationAssessment(notificationId); ObjectInstantiator<NotificationAssessment>.SetProperty(x => x.Status, NotificationStatus.Submitted, assessment); context.NotificationAssessments.Add(assessment); handler = new SetNotificationReceivedDateHandler(context); message = new SetNotificationReceivedDate(notificationId, notificationReceivedDate); }
public SetNotificationReceivedDateHandlerTests() { context = new TestIwsContext(); assessment = new NotificationAssessment(notificationId); ObjectInstantiator <NotificationAssessment> .SetProperty(x => x.Status, NotificationStatus.Submitted, assessment); context.NotificationAssessments.Add(assessment); handler = new SetNotificationReceivedDateHandler(context); message = new SetNotificationReceivedDate(notificationId, notificationReceivedDate); }
public SetCommencedDateHandlerTests() { context = new TestIwsContext(); var assessment = new NotificationAssessment(notificationId); ObjectInstantiator<NotificationAssessment>.SetProperty(x => x.Status, NotificationStatus.NotificationReceived, assessment); ObjectInstantiator<NotificationDates>.SetProperty(x => x.PaymentReceivedDate, receivedDate, assessment.Dates); context.NotificationAssessments.Add(assessment); message = new SetCommencedDate(notificationId, commencementDate, "Officer"); handler = new SetCommencedDateHandler(context); }
public async Task GetNotificationDatesSummaryByIdChecksAuthorization() { var notification = NotificationApplicationFactory.Create(userId, NotificationType.Recovery, UKCompetentAuthority.England, 20181); context.NotificationApplications.Add(notification); context.SaveChanges(); var notificationId = notification.Id; var decisionRequiredBy = new DecisionRequiredBy(A.Fake <IDecisionRequiredByCalculator>(), A.Fake <IFacilityRepository>()); var assessmentRepository = A.Fake <INotificationAssessmentRepository>(); var applicationRepository = A.Fake <INotificationApplicationRepository>(); var transactionCalculator = A.Fake <INotificationTransactionCalculator>(); var assessment = new NotificationAssessment(notificationId); ObjectInstantiator <NotificationAssessment> .SetProperty(x => x.Status, NotificationStatus.NotificationReceived, assessment); A.CallTo(() => assessmentRepository.GetByNotificationId(notificationId)) .Returns(assessment); A.CallTo(() => applicationRepository.GetById(notificationId)).Returns(notification); var transaction = new NotificationTransaction( new NotificationTransactionData { Credit = 1, Date = new DateTime(2017, 1, 1), NotificationId = notificationId, PaymentMethod = PaymentMethod.Card }); A.CallTo(() => transactionCalculator.PaymentReceivedDate(notificationId)) .Returns(transaction); A.CallTo(() => transactionCalculator.LatestPayment(notificationId)) .Returns(transaction); A.CallTo(() => transactionCalculator.IsPaymentComplete(notificationId)).Returns(true); var repository = new NotificationAssessmentDatesSummaryRepository(decisionRequiredBy, assessmentRepository, applicationRepository, transactionCalculator, notificationApplicationAuthorization); await repository.GetById(notificationId); A.CallTo(() => notificationApplicationAuthorization.EnsureAccessAsync(notificationId)).MustHaveHappened(); context.DeleteOnCommit(notification); await context.SaveChangesAsync(); }
public NotificationStatusChangeEventHandlerTests() { context = new TestIwsContext(); var userContext = new TestUserContext(UserId); handler = new NotificationStatusChangeEventHandler(context, userContext); context.Users.Add(UserFactory.Create(UserId, AnyString, AnyString, AnyString, AnyString)); notificationAssessment = new NotificationAssessment(NotificationId); receivedEvent = new NotificationStatusChangeEvent(notificationAssessment, NotificationStatus.Submitted); }
public CompleteNotificationTests() { notificationAssessmentRepository = A.Fake <INotificationAssessmentRepository>(); facilityRepository = A.Fake <IFacilityRepository>(); notificationTransactionCalculator = A.Fake <INotificationTransactionCalculator>(); completeNotification = new CompleteNotification(notificationAssessmentRepository, facilityRepository, notificationTransactionCalculator); notificationAssessment = new NotificationAssessment(notificationId); A.CallTo(() => notificationAssessmentRepository.GetByNotificationId(notificationId)) .Returns(notificationAssessment); }
public CompleteNotificationTests() { notificationAssessmentRepository = A.Fake<INotificationAssessmentRepository>(); facilityRepository = A.Fake<IFacilityRepository>(); notificationTransactionCalculator = A.Fake<INotificationTransactionCalculator>(); completeNotification = new CompleteNotification(notificationAssessmentRepository, facilityRepository, notificationTransactionCalculator); notificationAssessment = new NotificationAssessment(notificationId); A.CallTo(() => notificationAssessmentRepository.GetByNotificationId(notificationId)) .Returns(notificationAssessment); }
public NotificationStatusChangeEventHandlerTests() { context = new TestIwsContext(); var userContext = new TestUserContext(UserId); handler = new NotificationStatusChangeEventHandler(context, userContext); context.Users.Add(UserFactory.Create(UserId, AnyString, AnyString, AnyString, AnyString)); notificationAssessment = new NotificationAssessment(NotificationId); receivedEvent = new NotificationStatusChangeEvent(notificationAssessment, NotificationStatus.Submitted); }
public SetCommencedDateHandlerTests() { context = new TestIwsContext(); var assessment = new NotificationAssessment(notificationId); ObjectInstantiator <NotificationAssessment> .SetProperty(x => x.Status, NotificationStatus.NotificationReceived, assessment); ObjectInstantiator <NotificationDates> .SetProperty(x => x.PaymentReceivedDate, receivedDate, assessment.Dates); context.NotificationAssessments.Add(assessment); message = new SetCommencedDate(notificationId, commencementDate, "Officer"); handler = new SetCommencedDateHandler(context); }
public SubmitNotificationHandlerTests() { context = new TestIwsContext(); progressService = A.Fake<INotificationProgressService>(); var assessment = new NotificationAssessment(notificationId); var repo = A.Fake<INotificationAssessmentRepository>(); A.CallTo(() => repo.GetByNotificationId(notificationId)).Returns(assessment); context.NotificationAssessments.Add(assessment); A.CallTo(() => progressService.IsComplete(notificationId)).Returns(true); handler = new SubmitNotificationHandler(context, progressService, repo); message = new SubmitNotification(notificationId); }
public SubmitNotificationHandlerTests() { context = new TestIwsContext(); progressService = A.Fake <INotificationProgressService>(); var assessment = new NotificationAssessment(notificationId); var repo = A.Fake <INotificationAssessmentRepository>(); A.CallTo(() => repo.GetByNotificationId(notificationId)).Returns(assessment); context.NotificationAssessments.Add(assessment); A.CallTo(() => progressService.IsComplete(notificationId)).Returns(true); handler = new SubmitNotificationHandler(context, progressService, repo); message = new SubmitNotification(notificationId); }
public async Task FGDecisionMade_ReturnsFalse(FinancialGuaranteeStatus status) { var assessment = new NotificationAssessment(NotificationId); ObjectInstantiator <NotificationAssessment> .SetProperty(x => x.Status, NotificationStatus.Consented, assessment); var financialGuaranteeCollection = new FinancialGuaranteeCollection(NotificationId); var financialGuarantee = financialGuaranteeCollection.AddFinancialGuarantee(new DateTime(2015, 1, 1)); ObjectInstantiator <FinancialGuarantee> .SetProperty(x => x.Status, status, financialGuarantee); A.CallTo(() => assessmentRepository.GetByNotificationId(NotificationId)).Returns(assessment); A.CallTo(() => financialGuaranteeRepository.GetByNotificationId(NotificationId)).Returns(financialGuaranteeCollection); var result = await service.Calculate(NotificationId); Assert.False(result); }
public async Task GetNotificationShipmentInfoByIdChecksAuthorization() { var notification = NotificationApplicationFactory.Create(userId, NotificationType.Recovery, UKCompetentAuthority.England, 20181); context.NotificationApplications.Add(notification); context.SaveChanges(); var notificationId = notification.Id; var shipmentsInfo = new ShipmentInfo(notificationId, new ShipmentPeriod(DateTime.Now, DateTime.Now.AddDays(10), true), 10, new ShipmentQuantity(1.0m, ShipmentQuantityUnits.Tonnes)); var assessment = new NotificationAssessment(notificationId); ObjectInstantiator <NotificationAssessment> .SetProperty(x => x.Status, NotificationStatus.NotificationReceived, assessment); var facilityCollection = new FacilityCollection(notificationId); facilityCollection.AddFacility(ObjectFactory.CreateEmptyProducerBusiness(), ObjectFactory.CreateDefaultAddress(), ObjectFactory.CreateEmptyContact()); context.ShipmentInfos.Add(shipmentsInfo); context.NotificationAssessments.Add(assessment); context.Facilities.Add(facilityCollection); context.SaveChanges(); var repository = new ShipmentInfoRepository(context, notificationApplicationAuthorization); await repository.GetByNotificationId(notificationId); await repository.GetIntendedShipmentDataByNotificationId(notificationId); A.CallTo(() => notificationApplicationAuthorization.EnsureAccessAsync(notificationId)).MustHaveHappened(Repeated.Exactly.Times(2)); context.DeleteOnCommit(shipmentsInfo); context.DeleteOnCommit(assessment); context.DeleteOnCommit(facilityCollection); await context.SaveChangesAsync(); context.DeleteOnCommit(notification); await context.SaveChangesAsync(); }
public static NotificationApplicationOverview Load(NotificationApplication notification, NotificationAssessment assessment, WasteRecovery.WasteRecovery wasteRecovery, WasteDisposal wasteDisposal, Exporter.Exporter exporter, Importer.Importer importer, int charge, NotificationApplicationCompletionProgress progress) { return(new NotificationApplicationOverview { Exporter = exporter, Importer = importer, Notification = notification, NotificationAssessment = assessment, WasteRecovery = wasteRecovery, WasteDisposal = wasteDisposal, Charge = charge, Progress = progress }); }
public static NotificationApplicationOverview Load(NotificationApplication notification, NotificationAssessment assessment, WasteRecovery.WasteRecovery wasteRecovery, WasteDisposal wasteDisposal, Exporter.Exporter exporter, Importer.Importer importer, int charge, NotificationApplicationCompletionProgress progress) { return new NotificationApplicationOverview { Exporter = exporter, Importer = importer, Notification = notification, NotificationAssessment = assessment, WasteRecovery = wasteRecovery, WasteDisposal = wasteDisposal, Charge = charge, Progress = progress }; }
public DecisionRequiredByTests() { var applicationId = new Guid(); var userId = new Guid(); var notificationType = NotificationType.Recovery; var competentAuthority = UKCompetentAuthority.England; var notificationNumber = 1; decisionRequiredByCalculator = A.Fake <IDecisionRequiredByCalculator>(); facilityRepository = A.Fake <IFacilityRepository>(); assessment = new NotificationAssessment(applicationId); application = new NotificationApplication(userId, notificationType, competentAuthority, notificationNumber); decisionRequiredBy = new DecisionRequiredBy(decisionRequiredByCalculator, facilityRepository); decisionRequiredByDateWhenPopulatedInDB = new DateTime(2019, 1, 1); decisionRequiredByDateWhenNotPopulatedInDB = null; acknowledgedDateWhenHasValue = new DateTime(2019, 2, 2); acknowledgedDateWhenHasNoValue = null; decisionRequiredByDateWhenAcknowledgeDateHasNoValue = null; decisionRequiredByDateWhenCalculated = new DateTime(2019, 3, 3); }
private static void SetNotificationApplicationIdOnAssessment(NotificationAssessment assessment, Guid notificationId) { typeof(NotificationAssessment).GetProperty("NotificationApplicationId").SetValue(assessment, notificationId, null); }
public NotificationAssessmentEditableTests() { notificationId = new Guid("C4C62654-048C-45A2-BF7F-9837EFCF328F"); notificationAssessment = new NotificationAssessment(notificationId); }
public NotificationAssessmentEditableTests() { notificationId = new Guid("C4C62654-048C-45A2-BF7F-9837EFCF328F"); notificationAssessment = new NotificationAssessment(notificationId); }