Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }