public void FetchAllOrdersForSpecificClient_OrdersExistInDatabase_OrdersForClientAreReturned() { //Arrange var viewModel = new OrderViewModel(); string clientId = "id1"; var orderForSpecificCLientToAdd = OrderCreator.CreateOrders_ForSpecificCLient_TwoOrdersWithSameRequestId(clientId); viewModel.AddNewOrders(orderForSpecificCLientToAdd); //Action var clientOrders = viewModel.GetAllOrdersForSpecificClient(clientId); //Assert Assert.AreEqual(1, clientOrders.Count); }
public void GetNumberOfOrdersForSpecificClient_OrdersExistInDatabase_NumberOfOrdersIsReturned() { //Arrange var viewModel = new OrderViewModel(); string clientId = "id1"; var ordersToAdd = OrderCreator.CreateOrders_ForSpecificCLient_TwoOrdersWithSameRequestId(clientId); viewModel.AddNewOrders(ordersToAdd); //Action int numberOfOrdersForClient = viewModel.GetNumberOfOrdersForSpecificClient(clientId); //Assert // There are three orders in database, but only two refere to client id ("id1"), and those two orders // refere to same request_id so in fact client has only one order Assert.AreEqual(1, numberOfOrdersForClient); }
public void GetTotalPriceOfOrdersForSpecificClient_OrdersExistInDatabase_NumberOfOrdersIsReturned() { //Arrange string clientId = "id1"; var viewModel = new OrderViewModel(); var ordersToAdd = OrderCreator.CreateOrders_ForSpecificCLient_TwoOrdersWithSameRequestId(clientId); viewModel.AddNewOrders(ordersToAdd); decimal result = 246.4m; // calculated based on the orders added into database for specific client // first request => 12 * 12.2 + 10 * 10 = 246.4 because first and second order have same request_id // sum = 246.4 //Action decimal totalPriceOfOrdersForClient = viewModel.GetTotalPriceOfOrdersForSpecificClient("id1"); //Assert Assert.AreEqual(result, totalPriceOfOrdersForClient); }
public void GetAveragePriceOfOrderOfSpecificClient_OrdersExistInDatabase_AveragePriceIsReturned() { //Arrange var viewModel = new OrderViewModel(); string clientId = "id1"; var ordersToAdd = OrderCreator.CreateOrders_ForSpecificCLient_TwoOrdersWithSameRequestId(clientId); var orderWithDifferentRequestIdForSameClient = OrderCreator.CreateOrder(clientId, 2, "Roll", 2, 4m); viewModel.AddNewOrder(orderWithDifferentRequestIdForSameClient); viewModel.AddNewOrders(ordersToAdd); decimal average = 127.2m; // calculated based on the orders added into database for specific client // first request => 12 * 12.2 + 10 * 10 = 246.4 because first and second order have same request_id // second request => 2 * 4 = 8 // average = 127.2 //Action decimal averagePrice = viewModel.GetAveragePriceOfOrderOfSpecificClient("id1"); //Assert Assert.AreEqual(average, averagePrice); }