public FinancialGuaranteeDecisionRequiredTests()
        {
            assessmentRepository         = A.Fake <INotificationAssessmentRepository>();
            financialGuaranteeRepository = A.Fake <IFinancialGuaranteeRepository>();

            service = new FinancialGuaranteeDecisionRequired(assessmentRepository, financialGuaranteeRepository);
        }
Beispiel #2
0
        public MovementFactoryTests()
        {
            SystemTime.Freeze(Today);

            shipmentRepository                 = A.Fake <IShipmentInfoRepository>();
            movementRepository                 = A.Fake <IMovementRepository>();
            assessmentRepository               = A.Fake <INotificationAssessmentRepository>();
            financialGuaranteeRepository       = A.Fake <IFinancialGuaranteeRepository>();
            consentRepository                  = A.Fake <INotificationConsentRepository>();
            workingDayCalculator               = A.Fake <IWorkingDayCalculator>();
            notificationApplicationRepository  = A.Fake <INotificationApplicationRepository>();
            financialGuaranteeRepository       = A.Fake <IFinancialGuaranteeRepository>();
            movementPartialRejectionRepository = A.Fake <IMovementPartialRejectionRepository>();

            dateValidator = A.Fake <IMovementDateValidator>();

            var movementNumberGenerator = new MovementNumberGenerator(new NextAvailableMovementNumberGenerator(movementRepository),
                                                                      movementRepository,
                                                                      shipmentRepository);
            var numberOfMovements   = new NumberOfMovements(movementRepository, shipmentRepository);
            var movementsQuatity    = new NotificationMovementsQuantity(movementRepository, shipmentRepository, movementPartialRejectionRepository);
            var numberOfActiveLoads = new NumberOfActiveLoads(movementRepository, financialGuaranteeRepository);
            var consentPeriod       = new ConsentPeriod(consentRepository, workingDayCalculator, notificationApplicationRepository);

            factory = new MovementFactory(numberOfMovements,
                                          movementsQuatity,
                                          assessmentRepository,
                                          movementNumberGenerator,
                                          numberOfActiveLoads,
                                          consentPeriod,
                                          dateValidator,
                                          financialGuaranteeRepository,
                                          A.Fake <IUserContext>());
        }
        public MovementFactoryTests()
        {
            SystemTime.Freeze(Today);

            shipmentRepository = A.Fake<IShipmentInfoRepository>();
            movementRepository = A.Fake<IMovementRepository>();
            assessmentRepository = A.Fake<INotificationAssessmentRepository>();
            financialGuaranteeRepository = A.Fake<IFinancialGuaranteeRepository>();
            consentRepository = A.Fake<INotificationConsentRepository>();
            workingDayCalculator = A.Fake<IWorkingDayCalculator>();
            notificationApplicationRepository = A.Fake<INotificationApplicationRepository>();
            financialGuaranteeRepository = A.Fake<IFinancialGuaranteeRepository>();

            dateValidator = A.Fake<IMovementDateValidator>();

            var movementNumberGenerator = new MovementNumberGenerator(new NextAvailableMovementNumberGenerator(movementRepository), 
                movementRepository, 
                shipmentRepository);
            var numberOfMovements = new NumberOfMovements(movementRepository, shipmentRepository);
            var movementsQuatity = new NotificationMovementsQuantity(movementRepository, shipmentRepository);
            var numberOfActiveLoads = new NumberOfActiveLoads(movementRepository, financialGuaranteeRepository);
            var consentPeriod = new ConsentPeriod(consentRepository, workingDayCalculator, notificationApplicationRepository);

            factory = new MovementFactory(numberOfMovements,
                movementsQuatity,
                assessmentRepository,
                movementNumberGenerator,
                numberOfActiveLoads,
                consentPeriod,
                dateValidator,
                financialGuaranteeRepository,
                A.Fake<IUserContext>());
        }
 public GetRemainingShipmentsHandler(IMovementRepository movementRepository,
                                     IShipmentInfoRepository shipmentRepository,
                                     IFinancialGuaranteeRepository financialGuaranteeRepository)
 {
     this.movementRepository           = movementRepository;
     this.shipmentRepository           = shipmentRepository;
     this.financialGuaranteeRepository = financialGuaranteeRepository;
 }
Beispiel #5
0
 public GetFinancialGuaranteeDataByNotificationApplicationIdHandler(
     IMapWithParameter <FinancialGuarantee, UKCompetentAuthority, FinancialGuaranteeData> financialGuaranteeMap,
     IFinancialGuaranteeRepository financialGuaranteeRepository,
     INotificationApplicationRepository notificationApplicationRepository)
 {
     this.financialGuaranteeMap             = financialGuaranteeMap;
     this.financialGuaranteeRepository      = financialGuaranteeRepository;
     this.notificationApplicationRepository = notificationApplicationRepository;
 }
        public PerformBulkUploadContentValidationHandlerTests()
        {
            notificationId = Guid.NewGuid();

            mapper                       = A.Fake <IMap <DataTable, List <PrenotificationMovement> > >();
            repository                   = A.Fake <IDraftMovementRepository>();
            contentRule                  = A.Fake <IPrenotificationContentRule>();
            movementRepository           = A.Fake <IMovementRepository>();
            financialGuaranteeRepository = A.Fake <IFinancialGuaranteeRepository>();

            var contentRules = new List <IPrenotificationContentRule>()
            {
                contentRule
            };

            var testCollection = new TestableFinancialGuaranteeCollection(notificationId)
            {
                FinancialGuarantees = new List <TestableFinancialGuarantee>()
                {
                    new TestableFinancialGuarantee()
                    {
                        ActiveLoadsPermitted = MaxActiveLoads,
                        Status = FinancialGuaranteeStatus.Approved
                    }
                }
            };

            var testFutureActiveMovements = new List <TestableMovement>()
            {
                new TestableMovement()
                {
                    Status = MovementStatus.Submitted,
                    Date   = new DateTime(2019, 1, 1)
                },
                new TestableMovement()
                {
                    Status = MovementStatus.Submitted,
                    Date   = new DateTime(2019, 1, 1)
                },
                new TestableMovement()
                {
                    Status = MovementStatus.Submitted,
                    Date   = new DateTime(2019, 1, 15)
                },
                new TestableMovement()
                {
                    Status = MovementStatus.Submitted,
                    Date   = new DateTime(2019, 1, 15)
                }
            };

            A.CallTo(() => financialGuaranteeRepository.GetByNotificationId(notificationId)).Returns(testCollection);
            A.CallTo(() => movementRepository.GetAllActiveMovements(notificationId))
            .Returns(testFutureActiveMovements);

            handler = new PerformPrenotificationContentValidationHandler(contentRules, mapper, repository, movementRepository, financialGuaranteeRepository);
        }
        public NumberOfActiveLoadsTests()
        {
            SystemTime.Freeze(new DateTime(2015, 1, 1));

            movementRepository           = A.Fake <IMovementRepository>();
            financialGuaranteeRepository = A.Fake <IFinancialGuaranteeRepository>();

            numberOfActiveLoads = new NumberOfActiveLoads(movementRepository, financialGuaranteeRepository);
        }
 public GetCurrentFinancialGuaranteeDetailsHandler(
     IMapWithParameter <FinancialGuarantee, UKCompetentAuthority, FinancialGuaranteeData> financialGuaranteeMap,
     IFinancialGuaranteeRepository financialGuaranteeRepository,
     INotificationApplicationRepository notificationApplicationRepository,
     INotificationAssessmentRepository assessmentRepository)
 {
     this.financialGuaranteeMap             = financialGuaranteeMap;
     this.financialGuaranteeRepository      = financialGuaranteeRepository;
     this.notificationApplicationRepository = notificationApplicationRepository;
     this.assessmentRepository = assessmentRepository;
 }
Beispiel #9
0
 public PerformPrenotificationContentValidationHandler(IEnumerable <IPrenotificationContentRule> contentRules,
                                                       IMap <DataTable, List <PrenotificationMovement> > mapper,
                                                       IDraftMovementRepository draftRepository,
                                                       IMovementRepository movementRepository,
                                                       IFinancialGuaranteeRepository financialGuaranteeRepository)
 {
     this.contentRules                 = contentRules;
     this.mapper                       = mapper;
     this.draftRepository              = draftRepository;
     this.movementRepository           = movementRepository;
     this.financialGuaranteeRepository = financialGuaranteeRepository;
 }
        public RefuseFinancialGuaranteeHandlerTests()
        {
            context = new TestIwsContext();
            repository = A.Fake<IFinancialGuaranteeRepository>();

            var financialGuaranteeCollection = new TestFinancialGuaranteeCollection(ApplicationCompletedId);
            financialGuarantee = new TestFinancialGuarantee(FinancialGuaranteeId);
            financialGuaranteeCollection.AddExistingFinancialGuarantee(financialGuarantee);

            A.CallTo(() => repository.GetByNotificationId(ApplicationCompletedId)).Returns(financialGuaranteeCollection);

            handler = new RefuseFinancialGuaranteeHandler(repository, context);
        }
Beispiel #11
0
        public RefuseFinancialGuaranteeHandlerTests()
        {
            context    = new TestIwsContext();
            repository = A.Fake <IFinancialGuaranteeRepository>();

            var financialGuaranteeCollection = new TestFinancialGuaranteeCollection(ApplicationCompletedId);

            financialGuarantee = new TestFinancialGuarantee(FinancialGuaranteeId);
            financialGuaranteeCollection.AddExistingFinancialGuarantee(financialGuarantee);

            A.CallTo(() => repository.GetByNotificationId(ApplicationCompletedId)).Returns(financialGuaranteeCollection);

            handler = new RefuseFinancialGuaranteeHandler(repository, context);
        }
        public ApproveFinancialGuaranteeHandlerTests()
        {
            context = new TestIwsContext();
            repository = A.Fake<IFinancialGuaranteeRepository>();

            var financialGuaranteeCollection = new TestFinancialGuaranteeCollection(ApplicationCompletedId);
            financialGuarantee = new TestFinancialGuarantee(FinancialGuaranteeId);
            financialGuarantee.SetStatus(FinancialGuaranteeStatus.ApplicationComplete);
            financialGuarantee.CompletedDate = FirstDate;
            financialGuaranteeCollection.AddExistingFinancialGuarantee(financialGuarantee);

            A.CallTo(() => repository.GetByNotificationId(ApplicationCompletedId)).Returns(financialGuaranteeCollection);

            var approval = new FinancialGuaranteeApproval(repository);

            handler = new ApproveFinancialGuaranteeHandler(approval, context);
        }
        public ApproveFinancialGuaranteeHandlerTests()
        {
            context    = new TestIwsContext();
            repository = A.Fake <IFinancialGuaranteeRepository>();

            var financialGuaranteeCollection = new TestFinancialGuaranteeCollection(ApplicationCompletedId);

            financialGuarantee = new TestFinancialGuarantee(FinancialGuaranteeId);
            financialGuarantee.SetStatus(FinancialGuaranteeStatus.ApplicationComplete);
            financialGuarantee.CompletedDate = FirstDate;
            financialGuaranteeCollection.AddExistingFinancialGuarantee(financialGuarantee);

            A.CallTo(() => repository.GetByNotificationId(ApplicationCompletedId)).Returns(financialGuaranteeCollection);

            var approval = new FinancialGuaranteeApproval(repository);

            handler = new ApproveFinancialGuaranteeHandler(approval, context);
        }
Beispiel #14
0
 public MovementFactory(NumberOfMovements numberOfMovements,
                        NotificationMovementsQuantity movementsQuantity,
                        INotificationAssessmentRepository assessmentRepository,
                        MovementNumberGenerator numberGenerator,
                        NumberOfActiveLoads numberOfActiveLoads,
                        ConsentPeriod consentPeriod,
                        IMovementDateValidator dateValidator,
                        IFinancialGuaranteeRepository financialGuaranteeRepository,
                        IUserContext userContext)
 {
     this.numberOfMovements            = numberOfMovements;
     this.movementsQuantity            = movementsQuantity;
     this.assessmentRepository         = assessmentRepository;
     this.numberGenerator              = numberGenerator;
     this.numberOfActiveLoads          = numberOfActiveLoads;
     this.consentPeriod                = consentPeriod;
     this.dateValidator                = dateValidator;
     this.financialGuaranteeRepository = financialGuaranteeRepository;
     this.userContext = userContext;
 }
        public FinancialGuaranteeApprovalTests()
        {
            SystemTime.Freeze(today);

            repository = A.Fake<IFinancialGuaranteeRepository>();

            financialGuaranteeCollection = new FinancialGuaranteeCollection(notificationId);

            var approvedFinancialGuarantee = financialGuaranteeCollection.AddFinancialGuarantee(today.AddDays(-10));
            EntityHelper.SetEntityId(approvedFinancialGuarantee, approvedFinancialGuaranteeId);
            approvedFinancialGuarantee.Complete(today.AddDays(-9));
            approvedFinancialGuarantee.Approve(new ApprovalData(today.AddDays(-8), "123", 10, false));

            var newFinancialGuarantee = financialGuaranteeCollection.AddFinancialGuarantee(today.AddDays(-5));
            newFinancialGuarantee.Complete(today.AddDays(-4));
            EntityHelper.SetEntityId(newFinancialGuarantee, financialGuaranteeId);

            A.CallTo(() => repository.GetByNotificationId(notificationId)).Returns(financialGuaranteeCollection);

            approval = new FinancialGuaranteeApproval(repository);
        }
        public FinancialGuaranteeApprovalTests()
        {
            SystemTime.Freeze(today);

            repository = A.Fake <IFinancialGuaranteeRepository>();

            financialGuaranteeCollection = new FinancialGuaranteeCollection(notificationId);

            var approvedFinancialGuarantee = financialGuaranteeCollection.AddFinancialGuarantee(today.AddDays(-10));

            EntityHelper.SetEntityId(approvedFinancialGuarantee, approvedFinancialGuaranteeId);
            approvedFinancialGuarantee.Complete(today.AddDays(-9));
            approvedFinancialGuarantee.Approve(new ApprovalData(today.AddDays(-8), "123", 10, false, (decimal)12.34, (decimal)56.78));

            var newFinancialGuarantee = financialGuaranteeCollection.AddFinancialGuarantee(today.AddDays(-5));

            newFinancialGuarantee.Complete(today.AddDays(-4));
            EntityHelper.SetEntityId(newFinancialGuarantee, financialGuaranteeId);

            A.CallTo(() => repository.GetByNotificationId(notificationId)).Returns(financialGuaranteeCollection);

            approval = new FinancialGuaranteeApproval(repository);
        }
Beispiel #17
0
        public GetRemainingShipmentsHandlerTests()
        {
            SystemTime.Freeze(Today);

            movementRepository           = A.Fake <IMovementRepository>();
            shipmentRepository           = A.Fake <IShipmentInfoRepository>();
            financialGuaranteeRepository = A.Fake <IFinancialGuaranteeRepository>();

            var shipment = new TestableShipmentInfo
            {
                Id                = Guid.NewGuid(),
                NotificationId    = NotificationId,
                NumberOfShipments = MaxNumberOfShipments,
                Quantity          = 10m,
                Units             = ShipmentQuantityUnits.Tonnes
            };

            A.CallTo(() => shipmentRepository.GetByNotificationId(NotificationId)).Returns(shipment);
            A.CallTo(() => movementRepository.GetAllMovements(NotificationId)).Returns(GetShipments(TotalMovements, Today));
            A.CallTo(() => movementRepository.GetAllActiveMovements(NotificationId)).Returns(GetShipments(ActiveMovements, Today));

            handler = new GetRemainingShipmentsHandler(movementRepository, shipmentRepository, financialGuaranteeRepository);
        }
 public CompleteFinancialGuaranteeHandler(IFinancialGuaranteeRepository repository, IwsContext context)
 {
     this.repository = repository;
     this.context    = context;
 }
 public FinancialGuaranteeDecisionRequired(INotificationAssessmentRepository assessmentRepository,
     IFinancialGuaranteeRepository financialGuaranteeRepository)
 {
     this.assessmentRepository = assessmentRepository;
     this.financialGuaranteeRepository = financialGuaranteeRepository;
 }
Beispiel #20
0
 public FinancialGuaranteeDecisionRequired(INotificationAssessmentRepository assessmentRepository,
                                           IFinancialGuaranteeRepository financialGuaranteeRepository)
 {
     this.assessmentRepository         = assessmentRepository;
     this.financialGuaranteeRepository = financialGuaranteeRepository;
 }
Beispiel #21
0
 public ActiveApprovedFinancialGuarantee(IFinancialGuaranteeRepository repository)
 {
     this.repository = repository;
 }
Beispiel #22
0
 public SetCurrentFinancialGuaranteeDatesHandler(IFinancialGuaranteeRepository repository)
 {
     this.repository = repository;
 }
 public CheckFinancialGuranteeStatusHandler(IFinancialGuaranteeRepository financialGuaranteeRepository)
 {
     this.financialGuaranteeRepository = financialGuaranteeRepository;
 }
Beispiel #24
0
 public GetFinancialGuaranteeStatusHandler(IFinancialGuaranteeRepository repository)
 {
     this.repository = repository;
 }
 public FinancialGuaranteeApproval(IFinancialGuaranteeRepository repository)
 {
     this.repository = repository;
 }
Beispiel #26
0
 public FinancialGuaranteeApproval(IFinancialGuaranteeRepository repository)
 {
     this.repository = repository;
 }
 public NumberOfActiveLoads(IMovementRepository movementRepository, IFinancialGuaranteeRepository financialGuaranteeRepository)
 {
     this.movementRepository = movementRepository;
     this.financialGuaranteeRepository = financialGuaranteeRepository;
 }
Beispiel #28
0
 public NumberOfActiveLoads(IMovementRepository movementRepository, IFinancialGuaranteeRepository financialGuaranteeRepository)
 {
     this.movementRepository           = movementRepository;
     this.financialGuaranteeRepository = financialGuaranteeRepository;
 }