public async void CanSendNotEmptyCapsule() { // Arrange var message = new Message() { Id = int.MaxValue }; var capsule = new Capsule(Guid.NewGuid().ToString()); capsule.AddMessage(message); var delivery = new Delivery(capsule); var capsuleSrvMock = new Mock <ICapsuleService>(); capsuleSrvMock.Setup(srv => srv.GetCapsuleByUserAsync()).Returns(() => Task <Capsule> .Run(() => capsule)); var deliverySrvMock = new Mock <IDeliveryService>(); deliverySrvMock.Setup(srv => srv.DeliverCapsuleAsync(It.IsAny <Delivery>())).Verifiable(); var controller = new DeliveryController(capsuleService: capsuleSrvMock.Object, deliveryService: deliverySrvMock.Object); // Act ViewResult result = await controller.Index() as ViewResult; // Assert Assert.IsType <ViewResult>(result); Assert.Equal("Index", result?.ViewName); deliverySrvMock.Verify(srv => srv.DeliverCapsuleAsync(It.IsAny <Delivery>()), Times.Never); Assert.True(result?.ViewData?.ModelState.IsValid); }
public void Index_ReturnsCorrectViewResult() { // Arrange Mock <IDeliveryProvider> deliveryProviderMock = new Mock <IDeliveryProvider>(); deliveryProviderMock.Setup(x => x.GetAll()) .Returns(deliveries); Mock <IDeliveryHandler> deliveryHandlerMock = new Mock <IDeliveryHandler>(); Mock <IDeliveryValidator> deliveryValidatorMock = new Mock <IDeliveryValidator>(); DeliveryController controller = new DeliveryController(deliveryProviderMock.Object, deliveryHandlerMock.Object, deliveryValidatorMock.Object); // Act ViewResult result = controller.Index() as ViewResult; // Assert Assert.IsNotNull(result); Assert.IsTrue(((List <Delivery>)result.Model).Count == 2); Assert.AreEqual("GetDeliveriesList", result.ViewName); }