public void TwoProductsWithLeadTimesFromMonday(int firstProductId, int secondProductId, int expectedLeadTime)
        {
            DespatchDateController controller = new DespatchDateController(new DbContext());
            var date = controller.Get(new List <int> {
                firstProductId, secondProductId
            }, new DateTime(2018, 1, 22));

            date.Date.Date.ShouldBe(new DateTime(2018, 1, 22).AddDays(expectedLeadTime));
        }
        public void SaturdayHasExtraTwoDays()
        {
            DespatchDateController controller = new DespatchDateController();
            var date = controller.Get(new List <int>()
            {
                1
            }, new DateTime(2018, 1, 26));

            date.Date.ShouldBe(new DateTime(2018, 1, 26).Date.AddDays(3));
        }
        public void SundayHasExtraDay()
        {
            DespatchDateController controller = new DespatchDateController();
            var date = controller.Get(new List <int>()
            {
                3
            }, new DateTime(2018, 1, 25));

            date.Date.ShouldBe(new DateTime(2018, 1, 25).Date.AddDays(4));
        }
        public void OneProductWithLeadTimeOfThreeDay()
        {
            DespatchDateController controller = new DespatchDateController();
            var date = controller.Get(new List <int>()
            {
                3
            }, DateTime.Now);

            date.Date.Date.ShouldBe(DateTime.Now.Date.AddDays(3));
        }
Beispiel #5
0
        public void SundayHasExtraDay()
        {
            IDbContext             cxt        = new DbContext();
            DespatchDateController controller = new DespatchDateController(cxt);
            var date = controller.Get(new List <int>()
            {
                3
            }, new DateTime(2018, 1, 25));

            date.Date.ShouldBe(new DateTime(2018, 01, 30));
        }
Beispiel #6
0
        public void SaturdayHasExtraTwoDays()
        {
            IDbContext             cxt        = new DbContext();
            DespatchDateController controller = new DespatchDateController(cxt);
            var date = controller.Get(new List <int>()
            {
                1
            }, new DateTime(2018, 01, 26));

            date.Date.ShouldBe(new DateTime(2018, 01, 29));
        }
Beispiel #7
0
        public void OneProductWithLeadTimeOfSixDay()
        {
            IDbContext             cxt        = new DbContext();
            DespatchDateController controller = new DespatchDateController(cxt);
            var date = controller.Get(new List <int>()
            {
                9
            }, new DateTime(2018, 01, 05));

            date.Date.Date.ShouldBe(new DateTime(2018, 01, 15));
        }
Beispiel #8
0
        public void OneProductWithLeadTimeOfOneDayRecievedOnSaturday()
        {
            IDbContext             cxt        = new DbContext();
            DespatchDateController controller = new DespatchDateController(cxt);
            var date = controller.Get(new List <int>()
            {
                1
            }, new DateTime(2020, 01, 25));

            date.Date.Date.ShouldBe(new DateTime(2020, 01, 28));
        }
Beispiel #9
0
        public void InvalidProduct()
        {
            IDbContext             cxt        = new DbContext();
            DespatchDateController controller = new DespatchDateController(cxt);
            var date = controller.Get(new List <int>()
            {
                100
            }, new DateTime(2018, 01, 01));

            date.Success.ShouldBeFalse();
        }
Beispiel #10
0
        public void TwoProductsWithHighestLeadTimeOfTwoDays()
        {
            IDbContext             cxt        = new DbContext();
            DespatchDateController controller = new DespatchDateController(cxt);
            var date = controller.Get(new List <int>()
            {
                1, 2
            }, new DateTime(2018, 01, 01));

            date.Date.ShouldBe(new DateTime(2018, 01, 03));
        }
Beispiel #11
0
 public DespatchDateFixture()
 {
     Controller = new DespatchDateController(new DespatchDbContext(), new DespatchCalculator());
 }
Beispiel #12
0
 public PostOfficeTests()
 {
     _controller = new DespatchDateController();
 }