public void CallingGetOpenPRsByGhUserRepo_WithNonNullOrWsParams_ReturnsNon0int_ShouldPass() { // Arrange var mockHttpClientProvider = new Mock <IHttpClientProvider>(); mockHttpClientProvider.Setup(o => o.GetHttpClientInstance()).Returns(new HttpClient()); var mockHCAuthConfigr = new Mock <IHttpClientAuthorizeConfigurator>(); mockHCAuthConfigr.Setup(o => o.AddBasicAuthorizationHeaderValue( It.IsAny <HttpClient>(), It.IsAny <string>(), It.IsAny <string>())).Returns(true); var mockGHReposSvc = new Mock <IGitHubRepos>(); var mockGHPRsSvc = new Mock <IGitHubPullReqs>(); // The apiCallServices.GetOpenPRsByGhUserRepo() method calls // async Task<int> GetGitHubRepoOpenPRCountAsync(HttpClient, string, string) // which is the method that actually makes the GitHub API call, // so it definitely needs to be mocked out. mockGHPRsSvc.Setup(o => o.GetGitHubRepoOpenPRCountAsync( It.IsAny <HttpClient>(), It.IsAny <string>(), It.IsAny <string>() )).ReturnsAsync(2); // Act GitHubApiCallServices apiCallServices = new GitHubApiCallServices( mockHttpClientProvider.Object, mockHCAuthConfigr.Object, mockGHReposSvc.Object, mockGHPRsSvc.Object, mockCredentialsReader.Object); var methodCallResultTask = apiCallServices.GetOpenPRsByGhUserRepo("username", "TestGhRepoName"); var methodCallResult = methodCallResultTask.Result; // Assert Assert.IsInstanceOfType(methodCallResult, typeof(int)); Assert.AreEqual(2, methodCallResult); }
public async Task CallingGetOpenPRsByGhUserRepo_WithNullOrWsRepoNameParam_ShouldThrow() { // Arrange var mockHttpClientProvider = new Mock <IHttpClientProvider>(); var mockHCAuthConfigr = new Mock <IHttpClientAuthorizeConfigurator>(); var mockGHReposSvc = new Mock <IGitHubRepos>(); var mockGHPRsSvc = new Mock <IGitHubPullReqs>(); // Act GitHubApiCallServices apiCallServices = new GitHubApiCallServices( mockHttpClientProvider.Object, mockHCAuthConfigr.Object, mockGHReposSvc.Object, mockGHPRsSvc.Object, mockCredentialsReader.Object); var taskOfListOfGhUserRepos = await apiCallServices.GetOpenPRsByGhUserRepo("NonNullValue", " "); // Should have thrown. }
public async Task IfGetGitHubRepoOpenPRCount_ThrowsException_GetOpenPRsShouldAlso() { // Arrange var mockHttpClientProvider = new Mock <IHttpClientProvider>(); mockHttpClientProvider.Setup(o => o.GetHttpClientInstance()).Returns(new HttpClient()); var mockHCAuthConfigr = new Mock <IHttpClientAuthorizeConfigurator>(); mockHCAuthConfigr.Setup(o => o.AddBasicAuthorizationHeaderValue( It.IsAny <HttpClient>(), It.IsAny <string>(), It.IsAny <string>())).Returns(true); var mockGHReposSvc = new Mock <IGitHubRepos>(); var mockGHPRsSvc = new Mock <IGitHubPullReqs>(); // The apiCallServices.GetOpenPRsByGhUserRepo() method calls // async Task<int> GetGitHubRepoOpenPRCountAsync(HttpClient, string, string) // which is the method that actually makes the GitHub API call, // so it definitely needs to be mocked out. mockGHPRsSvc.Setup(o => o.GetGitHubRepoOpenPRCountAsync( It.IsAny <HttpClient>(), It.IsAny <string>(), It.IsAny <string>() )).ThrowsAsync(new Exception()); // Act GitHubApiCallServices apiCallServices = new GitHubApiCallServices( mockHttpClientProvider.Object, mockHCAuthConfigr.Object, mockGHReposSvc.Object, mockGHPRsSvc.Object, mockCredentialsReader.Object); var methodCallResultTask = await apiCallServices.GetOpenPRsByGhUserRepo("username", "TestGhRepoName"); // should have thrown }