public async Task Get_Invalid_CustomerId(string customerId) { //arrange var controller = new OrderingController(orderRepositoryMock.Object, mapper); SetControllerUser(customerId, controller); //act //assert await Assert.ThrowsAsync <ArgumentNullException>(async() => await controller.Get(customerId)); }
public async Task Post_Invalid_Order_Items_Null() { //arrange Order order = new Order(null, "customerId", "customerName", "*****@*****.**", "phone", "address", "additionalAddress", "district", "city", "state", "12345-678"); var controller = new OrderingController(orderRepositoryMock.Object, mapper); controller.ModelState.AddModelError("cliente", "Required"); //act IActionResult actionResult = await controller.Post(order); //assert Assert.IsType <BadRequestObjectResult>(actionResult); }
public void Get_Promo_Winter() { var expectedPromoWinter = "WINTER-PROMO"; Mock <IFeatureService> featureService = new Mock <IFeatureService>(); featureService.Setup(x => x.IsEnabledAsync("IsEnabledAsync", It.IsAny <CancellationToken>())).Returns(Task.FromResult(true)); var orderingContext = new OrderingContext(dbContextOptions); //Act var orderingController = new OrderingController(orderingContext, logger, featureService.Object); var actionResult = orderingController.GetPromoWinter(); Assert.Equal(expectedPromoWinter, actionResult); }
public async Task Post_Invalid_Order(string customerId, string customerName, string customerEmail, string customerPhone, string customerAddress, string customerAdditionalAddress, string customerDistrict, string customerCity, string customerState, string customerZipCode) { //arrange List <OrderItem> items = new List <OrderItem> { new OrderItem("001", "product 001", 1, 12.34m) }; Order order = new Order(items, customerId, customerName, customerEmail, customerPhone, customerAddress, customerAdditionalAddress, customerDistrict, customerCity, customerState, customerZipCode); var controller = new OrderingController(orderRepositoryMock.Object, mapper); controller.ModelState.AddModelError("cliente", "Required"); //act IActionResult actionResult = await controller.Post(order); //assert Assert.IsType <BadRequestObjectResult>(actionResult); }
public async Task Get_Not_Found() { //arrange orderRepositoryMock .Setup(r => r.GetOrders(It.IsAny <string>())) .ReturnsAsync((List <Order>)null) .Verifiable(); var controller = new OrderingController(orderRepositoryMock.Object, mapper); SetControllerUser("xpto", controller); //act ActionResult result = await controller.Get("xpto"); //assert Assert.IsType <NotFoundObjectResult>(result); orderRepositoryMock.Verify(); }
public async Task Post_Invalid_Order_Success() { //arrange List <OrderItem> items = new List <OrderItem> { new OrderItem("001", "product 001", 1, 12.34m) }; Order order = new Order(items, "customerId", "customerName", "*****@*****.**", "phone", "address", "additionalAddress", "district", "city", "state", "12345-678"); order.Id = 123; orderRepositoryMock .Setup(r => r.CreateOrUpdate(It.IsAny <Order>())) .ReturnsAsync(order); var controller = new OrderingController(orderRepositoryMock.Object, mapper); //act IActionResult actionResult = await controller.Post(order); //assert OkObjectResult okObjectResult = Assert.IsType <OkObjectResult>(actionResult); Order orderCriado = Assert.IsType <Order>(okObjectResult.Value); Assert.Equal(123, orderCriado.Id); }
public async Task Get_Ok() { //arrange List <OrderItem> items = new List <OrderItem> { new OrderItem("001", "product 001", 1, 12.34m) }; Order order = new Order(items, "customerId", "customerName", "*****@*****.**", "phone", "address", "additionalAddress", "district", "city", "state", "12345-678"); order.Id = 123; orderRepositoryMock .Setup(r => r.GetOrders(It.IsAny <string>())) .ReturnsAsync(new List <Order> { order }) .Verifiable(); var controller = new OrderingController(orderRepositoryMock.Object, mapper); SetControllerUser("xpto", controller); //act ActionResult result = await controller.Get("xpto"); //assert var objectResult = Assert.IsAssignableFrom <OkObjectResult>(result); var orders = Assert.IsType <List <OrderDTO> >(objectResult.Value); Assert.Collection(orders, (p) => Assert.Equal("123", p.Id)); Assert.Collection(orders[0].Items, (i) => Assert.Equal("001", i.ProductCode)); orderRepositoryMock.Verify(); }
public async Task Get_orders_success() { //Arrange var pageSize = 4; var pageIndex = 1; var expectedItemsInPage = 0; var expectedTotalItems = 1; var orderingContext = new OrderingContext(dbContextOptions); //Act var orderingController = new OrderingController(orderingContext, logger, null); var actionResult = await orderingController.GetOrdersAsync(pageSize, pageIndex); //Assert Assert.IsType <ActionResult <PaginatedItemsViewModel <API.Models.Order> > >(actionResult); var page = Assert.IsAssignableFrom <PaginatedItemsViewModel <API.Models.Order> >(actionResult.Value); Assert.Equal(expectedTotalItems, page.Count); Assert.Equal(pageIndex, page.PageIndex); Assert.Equal(pageSize, page.PageSize); Assert.Equal(expectedItemsInPage, page.Data.Count()); }