public void DetailAction_IfRepoIsValid_ReturnsRepositoryDetail() { // Arrange var mockGitHubService = new Mock<IGitHubRepoService>(MockBehavior.Strict); HomeController controller = new HomeController(mockGitHubService.Object); var gitHubRepoIdFake = 123; var ownerFake = "owner1"; var repoNameFake = "repoFake1"; // create fake repository detail var repoDetail = MockHelper.GetRepoByName(ownerFake, repoNameFake); var repoContributors = MockHelper.GetRepoContributors(ownerFake, repoNameFake); mockGitHubService.Setup(s => s.GetRepoByName(ownerFake, repoNameFake)).Returns(repoDetail); mockGitHubService.Setup(s => s.GetRepoContributors(ownerFake, repoNameFake)).Returns(repoContributors); mockGitHubService.Setup(s => s.IsFavoriteRepo(gitHubRepoIdFake)).Returns(false); // Act var result = controller.Detail(gitHubRepoIdFake, repoNameFake, ownerFake) as ViewResult; // Assert var userRepoDetail = (GitHubRepoViewModel)result.ViewData.Model; Assert.IsNotNull(userRepoDetail); }
public void SearchAction_ReturnsListRepositoriesView() { // Arrange var mockGitHubService = new Mock<IGitHubRepoService>(); HomeController controller = new HomeController(mockGitHubService.Object); // Act ViewResult result = controller.Search("repoNameSample") as ViewResult; // Assert Assert.AreEqual("ListRepositories", result.ViewName); }
public void SearchAction_ValidRepoName_ReturnsRepositoriesList() { // Arrange var mockGitHubService = new Mock<IGitHubRepoService>(); HomeController controller = new HomeController(mockGitHubService.Object); var fakeRepoName = "fakeRepoName"; // create a list of repositories to return var userRepositories = MockHelper.GenerateFakeRepos(fakeRepoName); mockGitHubService.Setup(s => s.SearchByRepoName(fakeRepoName)).Returns(userRepositories); // Act var result = controller.Search(fakeRepoName) as ViewResult; // Assert var userRepoList = (IEnumerable<GitHubRepoViewModel>)result.ViewData.Model; Assert.IsTrue(userRepoList.Count() > 0); }
public void MarkAsFavoriteAction_UnMarkFavorite_ReturnsView() { // Arrange var mockGitHubService = new Mock<IGitHubRepoService>(); HomeController controller = new HomeController(mockGitHubService.Object); // create fake repo GitHubRepo repo = MockHelper.GetRepoByName("ownerFake1", "repoNameFake1"); // convert to view model GitHubRepoViewModel repoVm = MockHelper.MapToViewModel(repo, null); string IsFavoriteRepo = "false"; // Act RedirectToRouteResult result = (RedirectToRouteResult)controller.MarkAsFavorite(repoVm, IsFavoriteRepo); // Assert mockGitHubService.Verify(t => t.UnMarkAsFavorite(It.IsAny<GitHubRepo>())); Assert.IsTrue(result.RouteValues["action"].ToString() == "ListFavoritiesRepos"); }
public void SearchAction_InvalidRepoName_ReturnsRepositoriesList() { // Arrange var mockGitHubService = new Mock<IGitHubRepoService>(); HomeController controller = new HomeController(mockGitHubService.Object); string fakeRepoName = null; IEnumerable<GitHubRepo> userRepositories = null; mockGitHubService.Setup(s => s.SearchByRepoName(fakeRepoName)).Returns(userRepositories); // Act var result = controller.Search(fakeRepoName) as ViewResult; // Assert var userRepoList = (IEnumerable<GitHubRepoViewModel>)result.ViewData.Model; Assert.IsNull(userRepoList); }
public void ListFavoritiesReposAction_ReturnsRepositoriesList() { // Arrange var mockGitHubService = new Mock<IGitHubRepoService>(); HomeController controller = new HomeController(mockGitHubService.Object); // create a list of repositories to return var userRepositories = MockHelper.GenerateFakeRepos("fakeUserName"); mockGitHubService.Setup(s => s.GetAllFavorities()).Returns(userRepositories); // Act var result = controller.ListFavoritiesRepos() as ViewResult; // Assert var userRepoList = (IEnumerable<GitHubRepoViewModel>)result.ViewData.Model; Assert.IsTrue(userRepoList.Count() == userRepositories.Count()); }
public void ListFavoritiesReposAction_ReturnsNullRepositoryList() { // Arrange var mockGitHubService = new Mock<IGitHubRepoService>(); HomeController controller = new HomeController(mockGitHubService.Object); List<GitHubRepo> favRepolist = null; mockGitHubService.Setup(s => s.GetAllFavorities()).Returns(favRepolist); // Act var result = controller.ListFavoritiesRepos() as ViewResult; // Assert var userRepoList = (IEnumerable<GitHubRepoViewModel>)result.ViewData.Model; Assert.IsNull(userRepoList); }
public void IndexAction_ReturnsUserRepositoriesList() { // Arrange var mockGitHubService = new Mock<IGitHubRepoService>(MockBehavior.Strict); HomeController controller = new HomeController(mockGitHubService.Object); var userName = controller.DefaultUserRepository; // create a list of repositories to return var userRepositories = MockHelper.GenerateFakeRepos(userName); mockGitHubService.Setup(s => s.GetUserRepositories(userName)).Returns(userRepositories); // Act var result = controller.Index() as ViewResult; // Assert mockGitHubService.Verify(t => t.GetUserRepositories(userName)); var userRepoList = (IEnumerable<GitHubRepoViewModel>)result.ViewData.Model; Assert.IsTrue(userRepoList.Count()>0); }
public void IndexAction_IfDefaultUserRepositoyIsNull_ReturnsException() { // Arrange var mockGitHubService = new Mock<IGitHubRepoService>(); HomeController controller = new HomeController(mockGitHubService.Object); // force empty configuration var userName = string.Empty; controller.DefaultUserRepository = userName; // create a list of repositories to return var userRepositories = MockHelper.GenerateFakeRepos(userName); mockGitHubService.Setup(s => s.GetUserRepositories(userName)).Returns(userRepositories); // Act var result = controller.Index() as ViewResult; // Assert // automatic assert }
public void DetailAction_ReturnsRepoDetailView() { // Arrange var mockGitHubService = new Mock<IGitHubRepoService>(); HomeController controller = new HomeController(mockGitHubService.Object); // Act ViewResult result = controller.Detail(1,"sampleRepo","ownerSample") as ViewResult; // Assert Assert.AreEqual("RepoDetail", result.ViewName); }