public void CancelOrderThrowsExceptionIfNoOrderOrWrongUser() { Mock <IOrderRepository> orderRepository = new Mock <IOrderRepository>(MockBehavior.Strict); var orderService = new ca_service.Services.OrderService(orderRepository.Object, null, null, null); int orderId = 42, userId = 9, wrongUserId = 99; Order theOrder = null; orderRepository.Setup(x => x.Get(orderId)).Returns(() => theOrder); Order result; Assert.Throws <Exception>(() => result = orderService.CancelOrder(orderId, userId)); theOrder = new Order(orderId) { Status = OrderStatus.Placed, UserId = userId }; Assert.Throws <Exception>(() => result = orderService.CancelOrder(orderId, wrongUserId)); }
public void CancelOrderSetsOrderStatusToCancelled() { Mock <IOrderRepository> orderRepository = new Mock <IOrderRepository>(MockBehavior.Strict); var orderService = new ca_service.Services.OrderService(orderRepository.Object, null, null, null); int orderId = 42, userId = 9; Order theOrder = new Order(orderId) { Status = OrderStatus.Placed, UserId = userId }; orderRepository.Setup(x => x.Get(orderId)).Returns(() => theOrder); orderRepository.Setup(x => x.Update(It.IsAny <Order>())); var result = orderService.CancelOrder(orderId, userId); Assert.Equal(OrderStatus.UserCancelled, result.Status); orderRepository.VerifyAll(); }