Пример #1
0
        public async void GetAllDeliveriesToWhomIsInvalidBadRequest()
        {
            // Arrange
            string             toWhom     = string.Empty;
            DateTime           when       = DateTime.Now;
            var                mock       = new Mock <IDeliveryRepository>();
            DeliveryController controller = new DeliveryController(mock.Object);

            // Act
            BadRequestObjectResult result = await controller.GetAllDeliveries(toWhom : toWhom, when : when) as BadRequestObjectResult;

            // Assert
            Assert.Equal((int?)HttpStatusCode.BadRequest, result.StatusCode);
        }
Пример #2
0
        public async void GetAllDeliveriesNoContent()
        {
            // Arrange
            IEnumerable <Models.Delivery> emptyList = new List <Models.Delivery>().AsEnumerable <Models.Delivery>();
            var mock = new Mock <IDeliveryRepository>();

            mock.Setup(rep => rep.GetAllDeliveriesAsync(It.IsAny <string>(), It.IsAny <DateTime>()))
            .Returns(Task <IEnumerable <Models.Delivery> > .Run(() => emptyList));
            DeliveryController controller = new DeliveryController(mock.Object);

            // Act
            NoContentResult model = await controller.GetAllDeliveries("Unexisting user", DateTime.MaxValue) as NoContentResult;

            // Assert
            Assert.Equal((int?)HttpStatusCode.NoContent, model.StatusCode);
        }
Пример #3
0
        public async void GetAllDeliveriesOk(Models.Delivery[] deliveries)
        {
            // Arrange
            string   toWhom = deliveries[1].ToWhom;
            DateTime when   = deliveries[1].When;
            var      mock   = new Mock <IDeliveryRepository>();

            mock.Setup(rep => rep.GetAllDeliveriesAsync(It.IsAny <string>(), It.IsAny <DateTime>()))
            .Returns(() => Task <IEnumerable <Models.Delivery> > .Run(() => deliveries.AsEnumerable <Models.Delivery>()));
            DeliveryController controller = new DeliveryController(mock.Object);

            // Act
            OkObjectResult result = await controller.GetAllDeliveries(toWhom, when) as OkObjectResult;

            // Assert
            Assert.Equal((int?)HttpStatusCode.OK, result.StatusCode);
            Assert.Equal(deliveries, (IEnumerable <Models.Delivery>)result?.Value, Comparer.Get <Models.Delivery>((m1, m2) => m1.Id == m2.Id));
        }
Пример #4
0
        public async void GetAllDeliveriesThrowsException()
        {
            // Arrange
            var mock = new Mock <IDeliveryRepository>();

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

            // Act & Assert
            Exception ex = await Assert.ThrowsAsync <DeliveryDomainException>(async() => await controller.GetAllDeliveries("Random user", It.IsAny <DateTime>()));

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