public async Task Scrap_WhenLanguageListHaveNullOrEmptyItem_ReturnsBadRequest(string language) { // Arrange var githubScrap = new GitHubScrap(null); var param = new GitHubInItem { Location = new List <string> { "São Paulo", }, Language = new List <string> { "C#", language } }; // Act var result = await githubScrap.Scrap(param, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.BadRequest, result.Status); Assert.Equal("language list can not have null item", result.Value.ToString()); }
public async Task Scrap_WhenHtmlIsValid_ReturnsOk() { // Arrange var htmlReadScrapValid = File.ReadAllText(@"..\..\..\..\FilesToTests\GitHub\ReadScrap_Valid.html"); var mockHttp = _testHelper.CreateMockHttp(HttpMethod.Get, htmlReadScrapValid, System.Net.HttpStatusCode.OK); var githubScrap = new GitHubScrap(mockHttp); var param = new GitHubInItem { Location = new List <string> { "São Paulo", }, Language = new List <string> { "C#", } }; // Act var result = await githubScrap.Scrap(param, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.OK, result.Status); Assert.True(result.ValueAsSuccess.User.Count == 10); Assert.Equal("https://github.com/paulosalgado", result.ValueAsSuccess.User.Last().Url); }
public async Task Scrap_WhenHtmlIsEmpty_ReturnsError() { // Arrange var mockHttp = _testHelper.CreateMockHttp(HttpMethod.Get, "", HttpStatusCode.OK); var githubScrap = new GitHubScrap(mockHttp); var param = new GitHubInItem { Location = new List <string> { "São Paulo", }, Language = new List <string> { "C#", } }; // Act var result = await githubScrap.Scrap(param, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.Error, result.Status); Assert.Equal("html is null or empty", result.Value.ToString()); }
public async Task Scrap_WhenNotFoundAnyUser_ReturnsNotFound() { // Arrange var htmlReadScrapValid = File.ReadAllText(@"..\..\..\..\FilesToTests\GitHub\ReadScrap_NotFoundAnyUsers.html"); var mockHttp = _testHelper.CreateMockHttp(HttpMethod.Get, htmlReadScrapValid, System.Net.HttpStatusCode.OK); var githubScrap = new GitHubScrap(mockHttp); var param = new GitHubInItem { Location = new List <string> { "São Paulo", }, Language = new List <string> { "C#", } }; // Act var result = await githubScrap.Scrap(param, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.NotFound, result.Status); Assert.Equal("not found any users", result.Value.ToString()); }
public async Task Scrap_WhenRequestReturnSomeError_ReturnsIt(HttpStatusCode status, ResultStatusCode expected) { // Arrange var message = "some error message"; var mockHttp = _testHelper.CreateMockHttp(HttpMethod.Get, message, status); var githubScrap = new GitHubScrap(mockHttp); var param = new GitHubInItem { Location = new List <string> { "São Paulo", }, Language = new List <string> { "C#", } }; // Act var result = await githubScrap.Scrap(param, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(expected, result.Status); Assert.Equal(message, result.Value.ToString()); }