Example #1
0
        public async Task GetRemainingShipmentsHandler_GetFutureActiveMovementsNotCalled()
        {
            var request = new GetRemainingShipments(NotificationId);

            await handler.HandleAsync(request);

            A.CallTo(() => movementRepository.GetAllActiveMovements(NotificationId))
            .MustNotHaveHappened();
        }
Example #2
0
        public async Task GetRemainingShipmentsHandler_GetsFinancialGuaranteeCollection()
        {
            var request = new GetRemainingShipments(NotificationId);

            await handler.HandleAsync(request);

            A.CallTo(() => financialGuaranteeRepository.GetByNotificationId(NotificationId))
            .MustHaveHappened(Repeated.Exactly.Once);
        }
Example #3
0
        public async Task GetRemainingShipmentsHandler_GetsAllMovements()
        {
            var request = new GetRemainingShipments(NotificationId);

            await handler.HandleAsync(request);

            A.CallTo(() => movementRepository.GetAllMovements(NotificationId))
            .MustHaveHappened(Repeated.Exactly.Once);
        }
Example #4
0
        public async Task GetRemainingShipmentsHandler_NoApprovedFG_ReturnsZeroActiveLoadsPermitted()
        {
            var request = new GetRemainingShipments(NotificationId);
            var noApprovedFGActiveLoads = 0;

            A.CallTo(() => financialGuaranteeRepository.GetByNotificationId(NotificationId))
            .Returns(GetFinancialGuarantee(FinancialGuaranteeStatus.ApplicationReceived));

            var response = await handler.HandleAsync(request);

            Assert.Equal(noApprovedFGActiveLoads, response.ActiveLoadsPermitted);
        }
Example #5
0
        public async Task GetRemainingShipmentsHandler_ApprovedFG_ReturnsResponse()
        {
            var request = new GetRemainingShipments(NotificationId);

            A.CallTo(() => financialGuaranteeRepository.GetByNotificationId(NotificationId))
            .Returns(GetFinancialGuarantee(FinancialGuaranteeStatus.Approved));

            var response = await handler.HandleAsync(request);

            Assert.Equal(ActiveLoadsPermitted, response.ActiveLoadsPermitted);
            Assert.Equal(MaxNumberOfShipments - TotalMovements, response.ShipmentsRemaining);
        }
Example #6
0
        public async Task GetRemainingShipmentsHandler_ApprovedFG_ReturnsFutureShipmentByDate()
        {
            var futureShipmentsDate  = Today.AddDays(10);
            var futureShipmentsTotal = ActiveLoadsPermitted - 5;

            var request = new GetRemainingShipments(NotificationId, futureShipmentsDate);

            A.CallTo(() => financialGuaranteeRepository.GetByNotificationId(NotificationId))
            .Returns(GetFinancialGuarantee(FinancialGuaranteeStatus.Approved));

            A.CallTo(() => movementRepository.GetAllActiveMovements(NotificationId))
            .Returns(GetShipments(futureShipmentsTotal, futureShipmentsDate));

            var response = await handler.HandleAsync(request);

            Assert.Equal(ActiveLoadsPermitted - futureShipmentsTotal, response.ActiveLoadsRemainingByDate);
        }