public void Add_second_computer_to_existing_order() { ComputersController computersController = new ComputersController(); ComputerInfoDto computerInfoDto = computersController.FindComputerByName("MacBook Pro 15"); Decimal expectedPrice = computerInfoDto.Price; NewOrderDto newOrderDto = new NewOrderDto { OrderLines = new List <NewOrderLineDto> { new NewOrderLineDto { ComputerId = computerInfoDto.Id, Quantity = 1 } } }; NewOrderIdDto newOrderIdDto = ordersController.CreateNewOrder(newOrderDto); Assert.IsNotNull(newOrderIdDto); ComputerInfoDto secondComputerInfoDto = computersController.FindComputerByName("iMac 27"); expectedPrice += secondComputerInfoDto.Price * 2; ordersController.AddComputerToOrder(newOrderIdDto.Id, new AddComputersToOrderDto { OrderLines = new List <AddOrderLineDto> { new AddOrderLineDto { ComputerId = secondComputerInfoDto.Id, Quantity = 2 } } }); OrderInformationDto orderInformationDto = ordersController.GetOrderInformation(newOrderIdDto.Id); Assert.AreEqual(2, orderInformationDto.OrderLinesInfo.Count); Assert.AreEqual(computerInfoDto.Id, orderInformationDto.OrderLinesInfo[0].ComputerId); Assert.AreEqual(secondComputerInfoDto.Id, orderInformationDto.OrderLinesInfo[1].ComputerId); Assert.AreEqual(expectedPrice, orderInformationDto.Price); }
public void Create_new_order_with_one_computer() { ComputersController computersController = new ComputersController(); ComputerInfoDto computerInfoDto = computersController.FindComputerByName("MacBook Pro 15"); int computerQuantity = 1; Decimal expectedPrice = computerInfoDto.Price; List <OrderInformationDto> orders = ordersController.All(); int previousNumberOfItems = orders.Count; NewOrderDto newOrderDto = new NewOrderDto { OrderLines = new List <NewOrderLineDto> { new NewOrderLineDto { ComputerId = computerInfoDto.Id, Quantity = computerQuantity } } }; NewOrderIdDto newOrderIdDto = ordersController.CreateNewOrder(newOrderDto); Assert.IsNotNull(newOrderIdDto); orders = ordersController.All(); OrderInformationDto order = ordersController.All().First(ord => ord.OrderId == newOrderIdDto.Id); Assert.AreEqual(previousNumberOfItems + 1, orders.Count); List <OrderLineInfoDto> newOrderOrderLinesInfo = order.OrderLinesInfo; Assert.AreEqual(1, newOrderOrderLinesInfo.Count); Assert.AreEqual(computerInfoDto.Id, newOrderOrderLinesInfo.First().ComputerId); Assert.AreEqual(computerQuantity, newOrderOrderLinesInfo.First().Quantity); Assert.AreEqual(expectedPrice, order.Price); }