public void EstimateStandardDelivery()
        {
            var rawDeliveryOptions = new RawDeliveryOption
            {
                DaysToDispatch = 1,
                DaysToDeliver  = 2
            };

            var deliveryDate = _estimator.EstimateDeliveryFor(rawDeliveryOptions);

            deliveryDate.ShouldBe(new DateTime(2020, 1, 4));
        }
        public void EstimateLowPriorityDelivery()
        {
            var rawDeliveryOptions = new RawDeliveryOption
            {
                DaysToDispatch = 5,
                DaysToDeliver  = 5
            };

            var deliveryDate = _estimator.EstimateDeliveryFor(rawDeliveryOptions);

            deliveryDate.ShouldBe(new DateTime(2020, 1, 11));
        }
        public void EstimateNextDayDelivery()
        {
            var rawDeliveryOptions = new RawDeliveryOption
            {
                DaysToDispatch = 0,
                DaysToDeliver  = 1
            };

            var deliveryDate = _estimator.EstimateDeliveryFor(rawDeliveryOptions);

            deliveryDate.ShouldBe(new DateTime(2020, 1, 2));
        }
        public void MapDeliveryDateFromEstimator()
        {
            var rawDeliveryOption  = new RawDeliveryOption();
            var rawDeliveryOptions = new List <RawDeliveryOption> {
                rawDeliveryOption
            };
            DateTime expectedTime = new DateTime(2020, 2, 2);

            _deliveryEstimatorMock.Setup(p => p.EstimateDeliveryFor(rawDeliveryOption))
            .Returns(expectedTime);

            var deliveryOptionResponses = _mapper.MapFrom(rawDeliveryOptions).ToList();

            deliveryOptionResponses.Count.ShouldBe(1);
            deliveryOptionResponses[0].DeliveryDate.ShouldBe(expectedTime);
        }
        public void MapGeneralProperties(string deliveryOptionName, decimal price)
        {
            var rawDeliveryOption = new RawDeliveryOption()
            {
                Name  = deliveryOptionName,
                Price = price
            };
            var rawDeliveryOptions = new List <RawDeliveryOption>
            {
                rawDeliveryOption,
                rawDeliveryOption
            };

            var deliveryOptionResponses = _mapper.MapFrom(rawDeliveryOptions).ToList();

            deliveryOptionResponses.Count.ShouldBe(2);
            deliveryOptionResponses[0].Name.ShouldBe(deliveryOptionName);
            deliveryOptionResponses[0].Price.ShouldBe(price);
            deliveryOptionResponses[1].Name.ShouldBe(deliveryOptionName);
            deliveryOptionResponses[1].Price.ShouldBe(price);
        }