public void DetailAction_IfRepoIdIsNotValid_ReturnsFavorityFlagFalse()
        {
            // Arrange
            var mockGitHubService = new Mock<IGitHubRepoService>();

            HomeController controller = new HomeController(mockGitHubService.Object);

            var gitHubRepoIdFake = -1;
            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(-1, repoNameFake, ownerFake) as ViewResult;

            // Assert
            var userRepoDetail = (GitHubRepoViewModel)result.ViewData.Model;
            Assert.AreEqual(userRepoDetail.IsFavoriteRepo,false);
        }
        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);
        }