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); }
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); }