Ejemplo n.º 1
0
 public void TestGetMultipleOrders()
 {
     using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var responses  = new List <IActionResult> {
                 controller.AddOrder(new Order()),
                 controller.AddOrder(new Order()),
                 controller.AddOrder(new Order()),
                 controller.AddOrder(new Order()),
                 controller.AddOrder(new Order()),
             };
             Assert.All(responses, r => Assert.IsType <OkResult>(r));
         }
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.GetAllOrders();
             Assert.Equal((int)HttpStatusCode.OK, response.StatusCode);
             var orders = (List <Order>)response.Value;
             Assert.Equal(5, orders.Count);
         }
     }
 }
Ejemplo n.º 2
0
 public void TestRemoveItem()
 {
     using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.AddOrder(new Order {
                 OrderItems = new List <Item> {
                     new Item {
                         Quantity    = 1,
                         Price       = 4,
                         Description = "Pineapple"
                     }
                 }
             });
             Assert.IsType <OkResult>(response);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.RemoveItem(1, 1);
             Assert.Equal((int)HttpStatusCode.OK, response.StatusCode);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.GetItems(1);
             var items      = (List <Item>)response.Value;
             Assert.Equal((int)HttpStatusCode.OK, response.StatusCode);
             Assert.Empty(items);
         }
     }
 }
Ejemplo n.º 3
0
 public void TestCreateOrderAndRemoveIt()
 {
     using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.AddOrder(new Order());
             Assert.IsType <OkResult>(response);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.GetOrder(1);
             Assert.Equal((int)HttpStatusCode.OK, response.StatusCode);
             var remove_response = controller.RemoveOrder(1);
             Assert.Equal((int)HttpStatusCode.OK, remove_response.StatusCode);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.GetOrder(1);
             Assert.Equal((int)HttpStatusCode.NotFound, response.StatusCode);
         }
     }
 }
 public void TestModifyItem()
 {
     using (var connection = new TestSqliteSetup(connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             new DatabaseService(context).AddOrder(four_item_order);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var orderService = new DatabaseService(context);
             var order        = orderService.FindOrder(1);
             var item         = order.OrderItems[0];
             item.Quantity = 10;
             // Get a copy of the item.
             var stored_item = orderService.FindItem(order, item.Id);
             orderService.UpdateItem(item, stored_item);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var orderService = new DatabaseService(context);
             var order        = orderService.FindOrder(1);
             var item         = order.OrderItems[0];
             Assert.Equal(10, item.Quantity);
         }
     }
 }
 public void TestGetSingleItem()
 {
     using (var connection = new TestSqliteSetup(connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             new DatabaseService(context).AddOrder(four_item_order);
         }
         // Test Happy Path
         using (var context = new OrderContext(connection.Options))
         {
             var orderService = new DatabaseService(context);
             var order        = orderService.FindOrder(1);
             var item         = order.OrderItems[0];
             Assert.NotNull(orderService.FindItem(order, item.Id));
         }
         // Verify that invalid IDs for both order and item would return null.
         using (var context = new OrderContext(connection.Options))
         {
             var orderService = new DatabaseService(context);
             var order        = orderService.FindOrder(1);
             var item         = order.OrderItems[0];
             var oldId        = order.Id;
             order.Id = -1;
             // Invalid order, Valid item
             Assert.Null(orderService.FindItem(order, item.Id));
             order.Id = oldId;
             // Valid order, Invalid item
             Assert.Null(orderService.FindItem(order, 123));
         }
     }
 }
Ejemplo n.º 6
0
 public void TestAddItem()
 {
     using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.AddOrder(new Order());
             Assert.IsType <OkResult>(response);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.AddItem(1, new Item {
                 Quantity    = 1,
                 Price       = 4,
                 Description = "Pineapple"
             });
             Assert.IsType <OkResult>(response);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.GetItems(1);
             var items      = (List <Item>)response.Value;
             Assert.Equal((int)HttpStatusCode.OK, response.StatusCode);
             Assert.Equal(1, items.Count);
             var item = items[0];
             Assert.Equal(1, item.Quantity);
             Assert.Equal(4, item.Price);
             Assert.Equal("Pineapple", item.Description);
         }
     }
 }
 public void TestModifyingOrder()
 {
     using (var connection = new TestSqliteSetup(connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             new DatabaseService(context).AddOrder(one_item_order);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var orderService = new DatabaseService(context);
             var old_order    = orderService.FindOrder(1);
             var order        = orderService.FindOrder(1);
             Assert.Equal(0, order.TotalPrice);
             order.OrderItems[0].Quantity = 1;
             orderService.UpdateOrder(old_order, order);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var orderService = new DatabaseService(context);
             var order        = orderService.FindOrder(1);
             Assert.Equal(order.TotalPrice, 2);
         }
     }
 }
 public void TestGettingNotExistingOrder(int dataId)
 {
     using (var connection = new TestSqliteSetup(connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             Assert.Null(new DatabaseService(context).FindOrder(dataId));
         }
     }
 }
 public void TestEditItemWithValidationError()
 {
     using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string)){
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             controller.ModelState.AddModelError("FakeError", "FakeError");
             var response = controller.EditItem(1, 1, new Item());
             Assert.IsType <BadRequestObjectResult>(response);
         }
     }
 }
Ejemplo n.º 10
0
 public void TestGetNotExistingOrder()
 {
     using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.GetOrder(1);
             Assert.Equal((int)HttpStatusCode.NotFound, response.StatusCode);
         }
     }
 }
Ejemplo n.º 11
0
 public void TestGetNoOrders()
 {
     using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.GetAllOrders();
             Assert.Equal((int)HttpStatusCode.OK, response.StatusCode);
             var orders = (List <Order>)response.Value;
             Assert.Empty(orders);
         }
     }
 }
Ejemplo n.º 12
0
 public void TestEditItemNotExistingOrder()
 {
     using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.EditItem(1, 1, new Item {
                 Quantity    = 3,
                 Price       = 2,
                 Description = "Apple"
             });
             Assert.IsType <NotFoundResult>(response);
         }
     }
 }
 public void TestGetItems()
 {
     using (var connection = new TestSqliteSetup(connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             new DatabaseService(context).AddOrder(four_item_order);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var orderService = new DatabaseService(context);
             var order        = orderService.FindOrder(1);
             Assert.Equal(4, orderService.GetAllItemsForOrder(order).Count);
         }
     }
 }
 public void TestCalculatingTotalPrice()
 {
     using (var connection = new TestSqliteSetup(connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             new DatabaseService(context).AddOrder(four_item_order);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var orderService = new DatabaseService(context);
             var orders       = orderService.GetAllOrders();
             Assert.NotEmpty(orders);
             var order = orderService.FindOrder(1);
             Assert.Equal(605, order.TotalPrice);
         }
     }
 }
Ejemplo n.º 15
0
 public void TestGetItemNotExistingItem()
 {
     using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.AddOrder(new Order());
             Assert.IsType <OkResult>(response);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.GetItem(1, 1);
             Assert.Equal((int)HttpStatusCode.NotFound, response.StatusCode);
         }
     }
 }
 public void TestGettingOneOrder()
 {
     using (var connection = new TestSqliteSetup(connection_string))
     {
         using (var context = new OrderContext(connection.Options))
         {
             new DatabaseService(context).AddOrder(one_item_order);
         }
         using (var context = new OrderContext(connection.Options))
         {
             var orderService = new DatabaseService(context);
             var order        = orderService.FindOrder(1);
             Assert.NotNull(order);
             Assert.Equal(0, order.TotalPrice);
             Assert.Equal(order.OrderItems.Count, 1);
             Assert.Equal(order.OrderItems[0].Order, order);
         }
     }
 }
Ejemplo n.º 17
0
 public void TestCreateOrderAndModifyIt()
 {
     using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string))
     {
         // Add the order
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.AddOrder(new Order());
             Assert.IsType <OkResult>(response);
         }
         // Modify the order
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.GetOrder(1);
             Assert.Equal((int)HttpStatusCode.OK, response.StatusCode);
             var order = (Order)response.Value;
             Assert.Empty(order.OrderItems);
             order.OrderItems.Add(new Item {
                 Quantity    = 1,
                 Price       = 2,
                 Description = "Apple"
             });
             var modify_response = controller.EditOrder(1, order);
             Assert.Equal((int)HttpStatusCode.OK, response.StatusCode);
         }
         // Verify the order
         using (var context = new OrderContext(connection.Options))
         {
             var controller = new OrderController(context);
             var response   = controller.GetOrder(1);
             Assert.Equal((int)HttpStatusCode.OK, response.StatusCode);
             var order = (Order)response.Value;
             Assert.Equal(1, order.OrderItems.Count);
             Assert.Equal(1, order.OrderItems[0].Quantity);
             Assert.Equal("Apple", order.OrderItems[0].Description);
             Assert.Equal(2, order.OrderItems[0].Price);
             Assert.Equal(order.TotalPrice, 2);
         }
     }
 }