public async Task Get_GivenValidOrderId_ExpectResult() { //Arrange var orderId = Guid.NewGuid(); var order = new Order { Id = orderId }; var orderLines = new List <OrderLine> { new OrderLine { Id = Guid.NewGuid(), Order = order }, new OrderLine { Id = Guid.NewGuid(), Order = order } }; var repository = Substitute.For <ISalesRepository>(); repository.GetOrderLinesByOrderIdAsync(orderId).Returns(orderLines); var controller = new OrderLinesController(repository); //Act var result = await controller.Get(orderId) as OkObjectResult; var value = result?.Value; //Assert Assert.IsAssignableFrom <List <OrderLine> >(value); value.Should().BeEquivalentTo(orderLines); }
static async Task TestOrderLine() { var lineCtrl = new OrderLinesController(); var orderLine = new OrderLine() { Id = 0, OrderId = 1, ProductId = 2, Quantity = 2 }; await lineCtrl.Create(orderLine); }
public async Task Get_GivenNonExistingOrderId_ExpectResult() { //Arrange var orderId = Guid.NewGuid(); var errorMessage = $"There is no order with id {orderId}."; var repository = Substitute.For <ISalesRepository>(); repository.GetOrderLinesByOrderIdAsync(Arg.Any <Guid>()).ThrowsForAnyArgs(new Exception()); var controller = new OrderLinesController(repository); //Act var result = await controller.Get(orderId); var objectResult = result as NotFoundObjectResult; //Assert Assert.IsInstanceOf <NotFoundObjectResult>(result); Assert.AreEqual(objectResult?.Value, errorMessage); }