public void RemovePackage_ShouldRemovePackage() { var package = new Package { Id = 1, Status = PackageStatus.InDelivery }; var packages = new List <Package> { package }; var packagesMockSet = MockDbSetHelper.CreateMockSet(packages.AsQueryable()); var employee = new Employee { Id = 1, FirstName = "A", LastName = "B" }; var mockContext = new Mock <InstantDeliveryContext>(); mockContext.Setup(c => c.Packages).Returns(packagesMockSet.Object); mockContext.Setup(c => c.Employees).ReturnsDbSet(employee); var controller = new PackagesController(mockContext.Object, null); controller.Delete(package.Id); packagesMockSet.Verify(m => m.Remove(It.Is((Package p) => p.Id == package.Id)), Times.Once()); mockContext.Verify(m => m.SaveChanges(), Times.Once()); }