public async void TestDelete_InvalidRating_ShouldFail(string value) { // Arrange RatingsController controller = new RatingsController(_context); int gameId = int.Parse(value); try { // Act var result = await controller.DeleteConfirmed(gameId); } // Assert catch (Exception ex) { Assert.Equal("System.ArgumentException", ex.GetType().ToString()); } }
public void DeleteConfirmed_RemoveAnItem() { // Arrange var ratingData = new List <Rating> { new Rating() { User_Rating_ID = 1, User_ID = 1, User_Rating = 1, Game_ID = 1, User = new User() { User_ID = 1, User_Name = "One" }, Game = new Game() { Game_ID = 1, Game_Name = "One" } }, new Rating() { User_Rating_ID = 2, User_ID = 1, User_Rating = 1, Game_ID = 2 } }; var mockSet = Mock.CreateMockSet(ratingData); mockSet.Setup(m => m.Find(It.IsAny <object[]>())).Returns <object[]>(ids => ratingData.FirstOrDefault(d => d.User_Rating_ID == (int)ids[0])); var mockdb = new Mock <PlayerMatcherEntitiesExtended>(); mockdb.Setup(db => db.Ratings).Returns(Mock.CreateMockSet(ratingData).Object); var controller = new RatingsController(mockdb.Object); // Act var redirect = controller.DeleteConfirmed(1); // Assert Assert.IsInstanceOf <RedirectToRouteResult>(redirect); Assert.AreEqual(((RedirectToRouteResult)redirect).RouteValues["action"], "Index"); mockSet.Verify(x => x.Remove(It.IsAny <Rating>()), Times.AtMostOnce); mockdb.Verify(x => x.SaveChanges()); }