예제 #1
0
        public void ReceiveOrderWithInvalidTimeOfDay_ThrowsValidationException()
        {
            var order = "evening,1,1,1";

            var controller         = new OrderDomain(_apiOptions, order);
            ValidationException ex = Assert.Throws <ValidationException>(() => controller.ValidateOrderDomain());

            Assert.Equal("Invalid Time of Day", ex.Message);
        }
예제 #2
0
        public void ReceiveOrderWithInvalidFoodId_ThrowsValidationException()
        {
            var order = "morning,A";

            var controller         = new OrderDomain(_apiOptions, order);
            ValidationException ex = Assert.Throws <ValidationException>(() => controller.ValidateOrderDomain());

            Assert.Equal("Invalid Food Id", ex.Message);
        }
예제 #3
0
        public void ReceiveOrderWithoutFoodId_ReturnBlank()
        {
            var order = "morning";

            var controller = new OrderDomain(_apiOptions, order);

            controller.ValidateOrderDomain();
            var result = controller.ProcessOrder();

            Assert.Equal("", result);
        }
예제 #4
0
        public void ReceiveOrderAndProcessSuccessfully_ReturnResponse()
        {
            var order = "morning,1,1,1";

            var controller = new OrderDomain(_apiOptions, order);

            controller.ValidateOrderDomain();
            var result = controller.ProcessOrder();

            Assert.Equal("eggs(x3)", result);
        }
예제 #5
0
 public string Get(string order)
 {
     try
     {
         var orderDomain = new OrderDomain(_apiOptions, order);
         orderDomain.ValidateOrderDomain();
         return(orderDomain.ProcessOrder());
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }