コード例 #1
0
        public async void SaveDeliveryBadRequestDeliveryIsNull()
        {
            // Arrange
            var mock = new Mock <IDeliveryRepository>();
            DeliveryController controller = new DeliveryController(mock.Object);

            // Act
            BadRequestObjectResult result = await controller.SaveDelivery(null) as BadRequestObjectResult;

            // Assert
            mock.Verify(rep => rep.AddDeliveryAsync(It.IsAny <Models.Delivery>()), Times.Never);
            Assert.Equal((int?)HttpStatusCode.BadRequest, result.StatusCode);
        }
コード例 #2
0
        public async void SaveDeliveryBadRequestAlreadyExists(Models.Delivery[] deliveries)
        {
            // Arrange
            var mock = new Mock <IDeliveryRepository>();
            DeliveryController controller = new DeliveryController(mock.Object);

            mock.Setup(rep => rep.GetDeliveryByIdAsync(It.IsAny <string>())).Returns(Task <ModelsDelivery> .Run(() => deliveries[0]));

            // Act
            BadRequestObjectResult result = await controller.SaveDelivery(deliveries[0]) as BadRequestObjectResult;

            // Assert
            mock.Verify(m => m.AddDeliveryAsync(It.IsAny <Models.Delivery>()), Times.Never);
            Assert.Equal((int?)HttpStatusCode.BadRequest, result.StatusCode);
        }
コード例 #3
0
        public async void SaveDeliveryCreated(Models.Delivery[] deliveries)
        {
            // Arrange
            Models.Delivery    deliveryToSave = deliveries[0];
            var                mock           = new Mock <IDeliveryRepository>();
            DeliveryController controller     = new DeliveryController(mock.Object);

            mock.Setup(rep => rep.GetDeliveryByIdAsync(It.IsAny <string>())).Returns(Task <Models.Delivery> .Run(() => default(Models.Delivery)));

            // Act
            CreatedAtRouteResult result = await controller.SaveDelivery(deliveryToSave) as CreatedAtRouteResult;

            // Assert
            Assert.Equal((int?)HttpStatusCode.Created, result.StatusCode);
            mock.Verify(rep => rep.AddDeliveryAsync(It.IsAny <Models.Delivery>()), Times.Once);
        }
コード例 #4
0
        public void SaveDeliveryThrowsException()
        {
            // Arrange
            var mock = new Mock <IDeliveryRepository>();

            mock.Setup(rep => rep.GetDeliveryByIdAsync(It.IsAny <string>())).Throws <DeliveryDomainException>();
            DeliveryController controller = new DeliveryController(mock.Object);

            // Act & Assert
            Exception ex = Assert.ThrowsAsync <DeliveryDomainException>(
                async() => await controller.SaveDelivery(new Models.Delivery()
            {
                Id = "Random Id"
            })
                )?.Result;

            Assert.Equal(expected: typeof(DeliveryDomainException), actual: ex.GetType());
        }