public void ShowTable_TestTable_EqualTables() { // Arrange var mockXmlReq = new Mock <IXmlSoccerRequester>(); var testDbContext = new TestXmlSoccerApiDBContext(); var apiTestLeagueTable = CreateTestLeagueTable(NumberOfTeams); mockXmlReq.Setup(x => x.GetLeagueStandingsBySeason( It.IsAny <string>(), It.IsAny <int>())) .Returns(apiTestLeagueTable); var footballController = new FootballController(mockXmlReq.Object, testDbContext); // Act var viewResult = footballController.Table() as ViewResult; // Assert mockXmlReq.Verify(x => x.GetLeagueStandingsBySeason(It.IsAny <string>(), It.IsAny <int>()), Times.Once()); Assert.AreEqual(1, testDbContext.SavedChanges); var modelLeagueTable = viewResult.Model as List <TeamLeagueStanding>; // Checking if list forwarded as a model (viewResult.Model) to View // corresponds to test list (Does this list have the same values of their objects?) Assert.IsNotNull(modelLeagueTable); Assert.AreEqual(NumberOfTeams, apiTestLeagueTable.Count); Assert.AreEqual(apiTestLeagueTable.Count, modelLeagueTable.Count); for (int i = 0; i < modelLeagueTable.Count; i++) { Assert.IsTrue(modelLeagueTable[i].IsEqualToXmlTeamStanding(apiTestLeagueTable[i])); } }
public void ShowTable_RepeatedControllerActionCall_NoRepeatedApiRequest() { // Arrange var mockXmlReq = new Mock <IXmlSoccerRequester>(); var testDbContext = new TestXmlSoccerApiDBContext(); var apiTestLeagueTable = CreateTestLeagueTable(0); mockXmlReq.Setup(x => x.GetLeagueStandingsBySeason( It.IsAny <string>(), It.IsAny <int>())) .Returns(apiTestLeagueTable); var footballController = new FootballController(mockXmlReq.Object, testDbContext); // Act var viewResult = footballController.Table() as ViewResult; viewResult = footballController.Table() as ViewResult; // Assert mockXmlReq.Verify(x => x.GetLeagueStandingsBySeason(It.IsAny <string>(), It.IsAny <int>()), Times.Once()); Assert.AreEqual(1, testDbContext.SavedChanges); }