Example #1
0
        private async Task <decimal> GetPrice(int numberOfShipments, NotificationApplication notification)
        {
            var facilityCollection = await facilityRepository.GetByNotificationId(notification.Id);

            bool isInterim = facilityCollection.IsInterim.HasValue ? facilityCollection.IsInterim.Value : facilityCollection.HasMultipleFacilities;

            var result = await pricingStructureRepository.GetExport(notification.CompetentAuthority,
                                                                    notification.NotificationType,
                                                                    numberOfShipments,
                                                                    isInterim);

            return(result.Price);
        }
Example #2
0
        public async Task ChargeNotSet_CalculatesCharge()
        {
            SetupNotification();
            ObjectInstantiator <ShipmentInfo> .SetProperty(x => x.NumberOfShipments, MidRange, shipmentInfo);

            A.CallTo(() => shipmentInfoRepository.GetByNotificationId(notificationId)).Returns(shipmentInfo);
            A.CallTo(() => notificationApplicationRepository.GetById(notificationId)).Returns(notificationApplication);
            A.CallTo(() => pricingStructureRepository.Get()).Returns(GetPricingStructures());
            A.CallTo(() => pricingStructureRepository.GetExport(UKCompetentAuthority.England, NotificationType.Recovery, A <int> .Ignored, A <bool> .Ignored)).Returns(GetPricingStructure());
            A.CallTo(() => facilityRepository.GetByNotificationId(notificationId)).Returns(GetFacilityCollection());

            var result = await chargeCalculator.GetValue(notificationId);

            Assert.Equal(NotificationPrice, result);
        }