public void LoadSource_Successfully() { var document = _testDoc; // Arrange var mockHelper = new Mock<IRenUkHtmlHelper>(); mockHelper.Setup(l => l.LoadHtmlPage(out document, It.IsAny<string>(), It.IsAny<int>(), It.IsAny<string>())) .Returns(HttpStatusCode.OK); mockHelper.Setup(a => a.GetTotalAggregatesAndPages(It.IsAny<HtmlDocument>())).Returns(new[] {"3", "1"}); mockHelper.Setup(n => n.GetAggregateNodes(It.IsAny<HtmlDocument>())).Returns(_aggregateNodes); mockHelper.Setup(m => m.GetAggregateName(_aggregateNodesArray[0])).Returns(_aggregateNamesArray[0]); mockHelper.Setup(m => m.GetAggregateName(_aggregateNodesArray[1])).Returns(_aggregateNamesArray[1]); mockHelper.Setup(m => m.GetAggregateName(_aggregateNodesArray[2])).Returns(_aggregateNamesArray[2]); mockHelper.Setup(u => u.GenerateAggregateUrl(It.IsAny<string>(), _aggregateNamesArray[0], It.IsAny<string>())) .Returns(rubbishBaseUrl + "name/" + _aggregateNamesArray[0] + "/status/all/region/1094/"); mockHelper.Setup(u => u.GenerateAggregateUrl(It.IsAny<string>(), _aggregateNamesArray[1], It.IsAny<string>())) .Returns(rubbishBaseUrl + "name/" + _aggregateNamesArray[1] + "/status/all/region/1094/"); mockHelper.Setup(u => u.GenerateAggregateUrl(It.IsAny<string>(), _aggregateNamesArray[2], It.IsAny<string>())) .Returns(rubbishBaseUrl + "name/" + _aggregateNamesArray[2] + "/status/all/region/1094/"); // Instantiate the datasource class var dataSource = new RenUkDataSource(mockHelper.Object); // Act var result = dataSource.LoadSource(rubbishBaseUrl); // Assert Assert.IsTrue(result, "Expected a successful load of the 3 aggregates, should have returned 'OK'"); }
public void LoadSource_NotFound_Unsuccessful() { var document = _404Doc; // Arrange var mockHelper = new Mock<IRenUkHtmlHelper>(); mockHelper.Setup(l => l.LoadHtmlPage(out document, It.IsAny<string>(), It.IsAny<int>(), It.IsAny<string>())) .Returns(HttpStatusCode.NotFound); // Instantiate the datasource class var dataSource = new RenUkDataSource(mockHelper.Object); // Act var result = dataSource.LoadSource(rubbishBaseUrl); // Assert Assert.IsFalse(result, "Expected a successful load of the 3 aggregates, should have returned 'OK'"); }
public void Get_UnSuccessful_HttpStatusCode_NotFound() { var document = _testDoc; // Arrange var mockHelper = new Mock<IRenUkHtmlHelper>(); mockHelper.Setup(l => l.LoadHtmlPage(out document, It.IsAny<string>())) .Returns(HttpStatusCode.NotFound); // Instantiate the datasource class var dataSource = new RenUkDataSource(mockHelper.Object); // Act var result = dataSource.Get(rubbishBaseUrl); // Assert Assert.IsNull(result, "Expected 'null' to be returned "); //Assert.IsNull(result.Identifier, "Expected 'empty' object to be returned "); }
public void Get_Successful() { var document = _testDoc; // Arrange var mockHelper = new Mock<IRenUkHtmlHelper>(); mockHelper.Setup(l => l.LoadHtmlPage(out document, It.IsAny<string>())) .Returns(HttpStatusCode.OK); mockHelper.Setup(n => n.GetAggregateNodes(It.IsAny<HtmlDocument>())).Returns(_aggregateNodes); mockHelper.Setup(m => m.GetAggregateName(_aggregateNodesArray[0])).Returns(_aggregateNamesArray[0]); mockHelper.Setup(v => v.GetAggregateColumnValues(It.IsAny<HtmlNode>())) .Returns("A JSON data object"); mockHelper.Setup(u => u.GetUrlFromJsonObject(It.IsAny<string>())).Returns("An External URL"); // Instantiate the datasource class var dataSource = new RenUkDataSource(mockHelper.Object); // Act var result = dataSource.Get(rubbishBaseUrl); var dataout = result.Data.First().Data; // Assert Assert.AreEqual(_aggregateData[1].Identifier, result.Identifier, "Expected Achairn to be returned "); Assert.AreEqual("A JSON data object", dataout, "Expected the 'JSON object to be returned in the data"); }
public void GetAll_Successful() { // Arrange var mockHelper = new Mock<IRenUkHtmlHelper>(); var dataSource = new RenUkDataSource(mockHelper.Object); dataSource.SetData(_aggregateData); // call public method, not on I/F, to set the data for testing // Act var result = dataSource.GetAll().ToArray(); // Assert Assert.AreEqual(3, result.Count(), "Expected the names of 3 import aggregates to be returned."); Assert.AreEqual(AchairnFarm, result[0].Identifier, string.Format("Expected first aggregate name to be {0}", AchairnFarm)); Assert.AreEqual(AchanyEstate, result[1].Identifier, string.Format("Expected first aggregate name to be {0}", AchanyEstate)); Assert.AreEqual(Achlachan, result[2].Identifier, string.Format("Expected first aggregate name to be {0}", Achlachan)); }
public void GetAll_NoAggregates_Unsuccessful() { // Arrange var mockHelper = new Mock<IRenUkHtmlHelper>(); var dataSource = new RenUkDataSource(mockHelper.Object); dataSource.SetData(new List<ImportAggregate>()); // call public method, not on I/F, to set the data for testing // Act var result = dataSource.GetAll().ToArray(); // Assert Assert.AreEqual(0, result.Count(), "Expected Zero import aggregates to be returned."); }