Exemplo n.º 1
0
        public void Remove_Deletes_Item()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository       = new ItemRepository(context);
                var rentalItemRepository = new RentalItemRepository(context);

                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItemToAdd = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItemToAdd);
                var rentalItemId = rentalItemToAdd.Id;
                context.SaveChanges();

                //Act
                rentalItemRepository.Remove(rentalItemToAdd);
                context.SaveChanges();

                var rentalItem = rentalItemRepository.Get(rentalItemId);

                //Assert
                Assert.IsNull(rentalItem);
            }
        }
Exemplo n.º 2
0
        public void Get_Returns_RentalOrder_When_Found()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository            = new ItemRepository(context);
                var rentalItemRepository      = new RentalItemRepository(context);
                var userRepository            = new UserRepository(context);
                var rentalOrderRepository     = new RentalOrderRepository(context);
                var rentalOrderLineRepository = new RentalOrderLineRepository(context);

                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItem = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItem);
                var user = UserFactory.CreateValidEntity();
                userRepository.Add(user);
                var rentalOrder = RentalOrderFactory.CreateValidEntity(user);
                rentalOrderRepository.Add(rentalOrder);
                var rentalOrderLineToAdd = RentalOrderLineFactory.CreateValidEntity(rentalOrder, rentalItem);
                rentalOrderLineRepository.Add(rentalOrderLineToAdd);

                context.SaveChanges();

                //Act
                var rentalOrderLine = rentalOrderLineRepository.Get(rentalOrderLineToAdd.Id);

                //Assert
                Assert.IsNotNull(rentalOrderLine);
            }
        }
Exemplo n.º 3
0
        public void Add_Returns_1_When_Adding_Valid_RentalOrder()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository            = new ItemRepository(context);
                var rentalItemRepository      = new RentalItemRepository(context);
                var userRepository            = new UserRepository(context);
                var rentalOrderRepository     = new RentalOrderRepository(context);
                var rentalOrderLineRepository = new RentalOrderLineRepository(context);

                //Act
                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItem = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItem);
                var user = UserFactory.CreateValidEntity();
                userRepository.Add(user);
                var rentalOrder = RentalOrderFactory.CreateValidEntity(user);
                rentalOrderRepository.Add(rentalOrder);
                var rentalOrderLine = RentalOrderLineFactory.CreateValidEntity(rentalOrder, rentalItem);
                rentalOrderLineRepository.Add(rentalOrderLine);

                var result = context.SaveChanges();

                //Assert
                Assert.AreEqual(5, result); //Because we added five entities
            }
        }
Exemplo n.º 4
0
        public void Remove_Throws_Exception_When_Not_Found()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository            = new ItemRepository(context);
                var rentalItemRepository      = new RentalItemRepository(context);
                var userRepository            = new UserRepository(context);
                var rentalOrderRepository     = new RentalOrderRepository(context);
                var rentalOrderLineRepository = new RentalOrderLineRepository(context);

                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItem = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItem);
                var user = UserFactory.CreateValidEntity();
                userRepository.Add(user);
                var rentalOrder = RentalOrderFactory.CreateValidEntity(user);
                rentalOrderRepository.Add(rentalOrder);
                var rentalOrderLineToAdd = RentalOrderLineFactory.CreateValidEntity(rentalOrder, rentalItem);
                rentalOrderLineRepository.Add(rentalOrderLineToAdd);

                context.SaveChanges();

                //Act
                rentalOrderLineRepository.Remove(RentalOrderLineFactory.CreateValidEntity(rentalOrder, rentalItem));
                context.SaveChanges();

                //Assert
            }
        }
Exemplo n.º 5
0
        public void GetAll_Returns_10_RentalOrders()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository            = new ItemRepository(context);
                var rentalItemRepository      = new RentalItemRepository(context);
                var userRepository            = new UserRepository(context);
                var rentalOrderRepository     = new RentalOrderRepository(context);
                var rentalOrderLineRepository = new RentalOrderLineRepository(context);

                for (int i = 0; i < 10; i++)
                {
                    var item = ItemFactory.CreateValidEntity();
                    itemRepository.Add(item);
                    var rentalItem = RentalItemFactory.CreateValidEntity(item);
                    rentalItemRepository.Add(rentalItem);
                    var user = UserFactory.CreateValidEntity();
                    userRepository.Add(user);
                    var rentalOrder = RentalOrderFactory.CreateValidEntity(user);
                    rentalOrderRepository.Add(rentalOrder);
                    var rentalOrderLineToAdd = RentalOrderLineFactory.CreateValidEntity(rentalOrder, rentalItem);
                    rentalOrderLineRepository.Add(rentalOrderLineToAdd);
                }
                context.SaveChanges();

                //Act
                var rentalOrderLines = rentalOrderLineRepository.GetAll();

                //Assert
                Assert.AreEqual(10, rentalOrderLines.Count());
            }
        }
Exemplo n.º 6
0
        public void Add_Throws_Exception_When_Adding_InValid_Item()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var rentalItemRepository = new RentalItemRepository(context);

                //Act
                var rentalItem = RentalItemFactory.CreateInvalidEntity();
                rentalItemRepository.Add(rentalItem);

                var result = context.SaveChanges();

                //No Assert
            }
        }
Exemplo n.º 7
0
        public void Add_Returns_1_When_Adding_Valid_Item()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository       = new ItemRepository(context);
                var rentalItemRepository = new RentalItemRepository(context);

                //Act
                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItem = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItem);

                var result = context.SaveChanges();

                //Assert
                Assert.AreEqual(2, result); //Because we added two entities
            }
        }
Exemplo n.º 8
0
        public void Get_Returns_Item_When_Found()
        {
            using (var context = new VivesRentalDbContext())
            {
                //Arrange
                var itemRepository       = new ItemRepository(context);
                var rentalItemRepository = new RentalItemRepository(context);

                var item = ItemFactory.CreateValidEntity();
                itemRepository.Add(item);
                var rentalItemToAdd = RentalItemFactory.CreateValidEntity(item);
                rentalItemRepository.Add(rentalItemToAdd);
                context.SaveChanges();

                //Act
                var rentalItem = rentalItemRepository.Get(rentalItemToAdd.Id);

                //Assert
                Assert.IsNotNull(rentalItem);
            }
        }