public void AcceptOrder_Success(string id) { var mock = new MockRepository(MockBehavior.Default); var repoProduct = mock.Create <IProductRepository>(); var repoOrder = mock.Create <IOrderRepository>(); var api = new OrderController(repoProduct.Object, repoOrder.Object); var allOrders = new List <Order> { new Order { Id = "1", Username = "******", OrderDate = new DateTime(2018, 6, 29), ReferenceCode = "1" }, new Order { Id = "2", Username = "******", OrderDate = new DateTime(2018, 6, 29), ReferenceCode = "2" }, new Order { Id = "3", Username = "******", OrderDate = new DateTime(2018, 6, 29), ReferenceCode = "3" }, }; repoOrder.Setup(it => it.Get(It.IsAny <Expression <Func <Order, bool> > >())) .Returns <Expression <Func <Order, bool> > >((expression) => allOrders.FirstOrDefault(expression.Compile())); api.AcceptOrder(id); repoProduct.VerifyNoOtherCalls(); repoOrder.Verify(dac => dac.Get(It.IsAny <Expression <Func <Order, bool> > >()), Times.Once); Func <Order, bool> func = o => { o.PaidDate.Should().NotBeNull(); return(true); }; repoOrder.Verify(dac => dac.Update(It.Is <Order>(o => func(o))), Times.Once); repoOrder.VerifyNoOtherCalls(); }
public void AcceptOrder_NoParameter(string id, string expectedMessage) { var mock = new MockRepository(MockBehavior.Default); var repoProduct = mock.Create <IProductRepository>(); var repoOrder = mock.Create <IOrderRepository>(); var api = new OrderController(repoProduct.Object, repoOrder.Object); var allOrders = new List <Order> { new Order { Id = "1", Username = "******", OrderDate = new DateTime(2018, 6, 29), ReferenceCode = "1" }, new Order { Id = "2", Username = "******", OrderDate = new DateTime(2018, 6, 29), ReferenceCode = "2" }, new Order { Id = "3", Username = "******", OrderDate = new DateTime(2018, 6, 29), ReferenceCode = "3" }, }; repoOrder.Setup(it => it.Get(It.IsAny <Expression <Func <Order, bool> > >())) .Returns <Expression <Func <Order, bool> > >((expression) => allOrders.FirstOrDefault(expression.Compile())); try { api.AcceptOrder(id); } catch (Exception ex) { ex.Message.Should().Be(expectedMessage); } repoProduct.VerifyNoOtherCalls(); repoOrder.Verify(dac => dac.Get(It.IsAny <Expression <Func <Order, bool> > >()), Times.AtMostOnce); repoOrder.VerifyNoOtherCalls(); }
public async void confirmOrder(int orderID, bool isAccept, DateTime delivaeryDate) { ServerResponse <object, OrderErrorMessage> res; if (isAccept) { res = await OrderController.AcceptOrder( orderID, new ConfirmOrderDTO { EmployeeId = Store.user.Id, DeliveryDate = delivaeryDate }); } else { res = await OrderController.RefuseOrder( orderID, new ConfirmOrderDTO { EmployeeId = Store.user.Id }); } if (res == null) { return; } if (!res.IsSuccess) { Notification.Error(HandleError <OrderErrorMessage> .GetErrorString(res.Messages)); } else { Notification.Success("Success"); renderOrders(); } }