示例#1
0
        public void GetById_ItemDoesntExist_ReturnsNull()
        {
            using (var context = new ApplicationDbContext(GetDbContextOptions("GetById_ItemDoesntExist_ReturnsNull")))
            {
                // Arrange
                var repo = new FruitRepository(context);

                // Act
                var item = repo.GetById(123).Result;

                // Assert
                Assert.Null(item);
            }
        }
示例#2
0
        public void GetById_ItemExists_ReturnsItem()
        {
            using (var context = new ApplicationDbContext(GetDbContextOptions("GetById_ItemExists_ReturnsTheItem")))
            {
                // Arrange
                context.Fruits.Add(new Fruit {
                    Id = 1, Color = Color.Red, Name = "Apple", Price = 2.99m, Rating = 5, Description = "An apple"
                });
                context.SaveChanges();
                var repo = new FruitRepository(context);

                // Act
                var item = repo.GetById(1).Result;

                // Assert
                Assert.Equal(1, item.Id);
                Assert.Equal("Apple", item.Name);
            }
        }
示例#3
0
        public void DeleteById_ItemExists_DeletesItemSuccessfully()
        {
            using (var context = new ApplicationDbContext(GetDbContextOptions("DeleteById_ItemExists_DeletesItemSuccessfully")))
            {
                // Arrange
                var repo = new FruitRepository(context);
                var item = new Fruit {
                    Id = 5, Color = Color.Red, Name = "Apple", Price = 2.99m, Rating = 5, Description = "An apple"
                };
                repo.Add(item).Wait();

                // Act
                repo.DeleteById(5).Wait();

                // Assert
                var deletedItem = repo.GetById(5).Result;
                Assert.Null(deletedItem);
            }
        }
示例#4
0
        public void Add_SingleItem_ItemAddedSuccessfully()
        {
            using (var context = new ApplicationDbContext(GetDbContextOptions("Add_SingleItem_ItemAddedSuccessfully")))
            {
                // Arrange
                var repo      = new FruitRepository(context);
                var itemToAdd = new Fruit {
                    Id = 5, Color = Color.Red, Name = "Apple", Price = 2.99m, Rating = 5, Description = "An apple"
                };

                // Act
                repo.Add(itemToAdd).Wait();

                // Assert
                var item = repo.GetById(5).Result;
                Assert.NotNull(item);
                Assert.Equal(5, item.Id);
                Assert.Equal("Apple", item.Name);
            }
        }
示例#5
0
        public void Update_ItemExists_UpdatesItemSuccessfully()
        {
            using (var context = new ApplicationDbContext(GetDbContextOptions("Update_ItemExists_UpdatesItemSuccessfully")))
            {
                // Arrange
                var repo = new FruitRepository(context);
                var item = new Fruit {
                    Id = 5, Color = Color.Red, Name = "Apple", Price = 2.99m, Rating = 5, Description = "An apple"
                };
                repo.Add(item).Wait();

                // Act
                item.Name = "Banana";
                repo.Update(item).Wait();

                // Assert
                var updatedItem = repo.GetById(5).Result;
                Assert.NotNull(updatedItem);
                Assert.Equal("Banana", updatedItem.Name);
            }
        }