Exemplo n.º 1
0
        public void CheckingInputQuantityBelowItemInventory()
        {
            //Test1
            //Arrange
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "Test7")
                          .Options;

            int  inputQuantity = 4;
            int  inputItem     = 1;
            bool trueFalse     = false;

            //Act
            using (var db4 = new AppDbContext(options))
            {
                StoreLocation storeLocation = new StoreLocation()
                {
                    Location = "Houston"
                };
                StoreItemInventory storeItemInventory = new StoreItemInventory()
                {
                    itemInventory = 10
                };
                StoreItem storeItem = new StoreItem()
                {
                    itemName  = "Chicken",
                    itemPrice = 5
                };
                storeItem.StoreItemInventory = storeItemInventory;
                storeItem.StoreLocation      = storeLocation;
                db4.StoreItemInventories.Add(storeItemInventory);
                db4.StoreLocations.Add(storeLocation);
                db4.StoreItems.Add(storeItem);
                db4.SaveChanges();

                if (inputQuantity <= db4.StoreItems.Include(x => x.StoreItemInventory)
                    .Where(x => x.StoreItemId == inputItem).First()
                    .StoreItemInventory.itemInventory)
                {
                    trueFalse = true;                                 // checks if the inputted quantity is below store inventory
                }
            }

            //Assert
            using (var db4 = new AppDbContext(options))
            {
                Assert.True(trueFalse);
            }
        }
Exemplo n.º 2
0
        public void TestGetAllOrders()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <Project1Context>()
                          .UseInMemoryDatabase(databaseName: "Test12")
                          .Options;
            UserInfo userInfo = new UserInfo()
            {
                fName    = "David",
                lName    = "Leblanc",
                userName = "******",
                password = "******"
            };
            StoreLocation storeLocation = new StoreLocation()
            {
                Location = "Houston"
            };
            StoreItem storeItem = new StoreItem()
            {
                itemName  = "Chicken",
                itemPrice = 5
            };
            StoreItemInventory storeItemInventory = new StoreItemInventory()
            {
                itemInventory = 10
            };
            UserOrder userOrder = new UserOrder()
            {
                StoreLocation = storeLocation,
                UserInfo      = userInfo,
                timeStamp     = DateTime.Now
            };

            storeItem.StoreItemInventory = storeItemInventory;
            storeItem.StoreLocation      = storeLocation;
            UserOrder test;

            //Act
            using (var db3 = new Project1Context(options))
            {
                db3.AddRange(storeLocation, userInfo, storeItem, userOrder, storeItemInventory);
                db3.SaveChanges();
                test = db3.UserOrders.First();
            }
            //Assert
            //test if the orders were retrieved from the database
            Assert.Equal(1, test.UserOrderId);
        }
Exemplo n.º 3
0
        public void UpdatingInventoryQuantity()
        {
            //Test1
            //Arrange
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "Test8")
                          .Options;
            int inputQuantity = 4;
            int inputItem     = 1;
            int itemQuantity  = 0;


            //Act
            using (var db5 = new AppDbContext(options))
            {
                StoreLocation storeLocation = new StoreLocation()
                {
                    Location = "Houston"
                };
                StoreItemInventory storeItemInventory = new StoreItemInventory()
                {
                    itemInventory = 10
                };
                StoreItem storeItem = new StoreItem()
                {
                    itemName  = "Chicken",
                    itemPrice = 5
                };
                storeItem.StoreItemInventory = storeItemInventory;
                storeItem.StoreLocation      = storeLocation;
                db5.StoreItemInventories.Add(storeItemInventory);
                db5.StoreLocations.Add(storeLocation);
                db5.StoreItems.Add(storeItem);
                db5.SaveChanges();

                itemQuantity = db5.StoreItems.Include(x => x.StoreItemInventory)//stores the inventory quantity
                               .Where(x => x.StoreItemId == inputItem).First()
                               .StoreItemInventory.itemInventory;
                itemQuantity = itemQuantity - inputQuantity; //updates the inventory quantity
            }

            //Assert
            using (var db5 = new AppDbContext(options))
            {
                Assert.Equal(6, itemQuantity);
            }
        }
Exemplo n.º 4
0
        public void CheckingRelationBetweenLocationAndItem()
        {
            //Test1
            //Arrange
            var options = new DbContextOptionsBuilder <Project1Context>()
                          .UseInMemoryDatabase(databaseName: "Test3")
                          .Options;
            StoreLocation storeLocation = new StoreLocation()
            {
                Location = "Houston"
            };
            StoreItem storeItem = new StoreItem()
            {
                itemName  = "Chicken",
                itemPrice = 5
            };
            StoreItemInventory storeItem1 = new StoreItemInventory()
            {
                itemInventory = 10
            };

            //Act
            using (var dbww = new Project1Context(options))
            {
                List <StoreItem> list = new List <StoreItem>();
                list.Add(storeItem);
                storeItem.StoreLocation = storeLocation;
                storeItem1.StoreItem    = list;
                dbww.Add(storeLocation);
                dbww.Add(storeItem);
                dbww.Add(storeItem1);
                dbww.SaveChanges();
            }
            //Assert
            using (var dbww = new Project1Context(options))
            {
                int input1 = 1;
                //retrieves item name from item #
                Assert.Equal(10, dbww.StoreItems.Include(x => x.StoreItemInventory)
                             .First(x => x.StoreItemId == 1).StoreItemInventory.itemInventory);
                //retrieve location from location #
                Assert.Equal("Houston", dbww.StoreItems.Include(x => x.StoreLocation)
                             .First(x => x.StoreItemId == input1).StoreLocation.Location);
            }
        }
Exemplo n.º 5
0
        public void TestCreateUserOrderItem()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <Project1Context>()
                          .UseInMemoryDatabase(databaseName: "Test13")
                          .Options;
            UserInfo userInfo = new UserInfo()
            {
                fName    = "David",
                lName    = "Leblanc",
                userName = "******",
                password = "******"
            };
            StoreLocation storeLocation = new StoreLocation()
            {
                Location = "Houston"
            };
            StoreItem storeItem = new StoreItem()
            {
                itemName  = "Chicken",
                itemPrice = 5
            };
            StoreItemInventory storeItemInventory = new StoreItemInventory()
            {
                itemInventory = 10
            };
            UserOrder userOrder = new UserOrder()
            {
                StoreLocation = storeLocation,
                UserInfo      = userInfo,
                timeStamp     = DateTime.Now
            };
            UserOrderItem userOrderItem = new UserOrderItem()
            {
                StoreItem     = storeItem,
                UserOrder     = userOrder,
                OrderQuantity = 2
            };
            List <UserOrderItem> listItems = new List <UserOrderItem>()
            {
                userOrderItem
            };

            storeItem.StoreItemInventory = storeItemInventory;
            string orderss;

            //Act
            using (var db3 = new Project1Context(options))
            {
                storeItem.StoreLocation = storeLocation;
                db3.AddRange(storeLocation, storeItem, userOrder, userOrderItem, storeItemInventory);
                db3.SaveChanges();

                var           newStoreItem = db3.StoreItems.First(x => x.StoreItemId == 1);
                var           order        = db3.UserOrders.First(x => x.UserOrderId == 1);
                UserOrderItem newOrderItem = new UserOrderItem
                {
                    StoreItem     = storeItem,
                    UserOrder     = order,
                    OrderQuantity = 2
                };
                db3.Add(newOrderItem);
                db3.SaveChanges();
                orderss = db3.UserOrderItems.Include(x => x.StoreItem).First().StoreItem.itemName;
            }
            //Assert
            using (var db3 = new Project1Context(options))
            {
                //check if the created user order item is stored in the database
                Assert.Equal("Chicken", orderss);
            }
        }
Exemplo n.º 6
0
        public void TestGetAllOrderByUserId()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <Project1Context>()
                          .UseInMemoryDatabase(databaseName: "Test11")
                          .Options;
            UserInfo userInfo = new UserInfo()
            {
                fName    = "David",
                lName    = "Leblanc",
                userName = "******",
                password = "******"
            };
            StoreLocation storeLocation = new StoreLocation()
            {
                Location = "Houston"
            };
            StoreItem storeItem = new StoreItem()
            {
                itemName  = "Chicken",
                itemPrice = 5
            };
            StoreItemInventory storeItemInventory = new StoreItemInventory()
            {
                itemInventory = 10
            };
            UserOrder userOrder = new UserOrder()
            {
                StoreLocation = storeLocation,
                UserInfo      = userInfo,
                timeStamp     = DateTime.Now
            };
            UserOrderItem userOrderItem = new UserOrderItem()
            {
                StoreItem     = storeItem,
                UserOrder     = userOrder,
                OrderQuantity = 2
            };
            List <UserOrderItem> listItems = new List <UserOrderItem>()
            {
                userOrderItem
            };

            storeItem.StoreItemInventory = storeItemInventory;
            IEnumerable <UserOrder> orders;
            string orderss;

            //Act
            using (var db3 = new Project1Context(options))
            {
                storeItem.StoreLocation = storeLocation;
                db3.AddRange(storeLocation, storeItem, userOrder, userOrderItem, storeItemInventory);
                db3.SaveChanges();
                orders = db3.UserOrders
                         .Include(x => x.UserOrderItems).ThenInclude(x => x.StoreItem)
                         .Where(x => x.UserInfo.UserInfoId == 1);
                orderss = orders.First().UserOrderItems.First().StoreItem.itemName;
            }
            //Assert
            using (var db3 = new Project1Context(options))
            {
                //checks to make sure that the user order item name is correct
                Assert.Equal("Chicken", orderss);
            }
        }
Exemplo n.º 7
0
        public void TestUpdateInventoryQuantity()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <Project1Context>()
                          .UseInMemoryDatabase(databaseName: "Test9")
                          .Options;
            UserInfo userInfo = new UserInfo()
            {
                fName    = "David",
                lName    = "Leblanc",
                userName = "******",
                password = "******"
            };
            StoreLocation storeLocation = new StoreLocation()
            {
                Location = "Houston"
            };
            StoreItem storeItem = new StoreItem()
            {
                itemName  = "Chicken",
                itemPrice = 5
            };
            StoreItemInventory storeItemInventory = new StoreItemInventory()
            {
                itemInventory = 10
            };
            UserOrder userOrder = new UserOrder()
            {
                StoreLocation = storeLocation,
                UserInfo      = userInfo,
                timeStamp     = DateTime.Now
            };
            UserOrderItem userOrderItem = new UserOrderItem()
            {
                StoreItem     = storeItem,
                UserOrder     = userOrder,
                OrderQuantity = 2
            };
            List <UserOrderItem> listItems = new List <UserOrderItem>()
            {
                userOrderItem
            };

            storeItem.StoreItemInventory = storeItemInventory;
            int updatedInventory;

            //Act
            using (var db3 = new Project1Context(options))
            {
                storeItem.StoreLocation = storeLocation;
                db3.AddRange(storeLocation, storeItem, userOrder, userOrderItem, storeItemInventory);
                db3.SaveChanges();
                //goes throught the list of item user selected for an order.
                //access the store inventory and subtract user order quantity from it.
                foreach (UserOrderItem x in listItems)
                {
                    var itemInventory = db3.StoreItems.Include(a => a.StoreItemInventory)
                                        .First(t => t.StoreItemId == 1);
                    itemInventory.StoreItemInventory.itemInventory -= x.OrderQuantity;
                }
                db3.SaveChanges();
                //retrieves the updated store item inventory for chicken
                updatedInventory = db3.StoreItems.Include(x => x.StoreItemInventory).First(x => x.StoreItemId == 1)
                                   .StoreItemInventory.itemInventory;
            }
            //Assert
            using (var db3 = new Project1Context(options))
            {
                //if function works properly the updated inventory should be 8 as it was 10 before and user ordered 2
                Assert.Equal(8, updatedInventory);
            }
        }