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); }
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); }
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)); }
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()); }