public void Initialize_PullRequestDoesntExist_PullRequestDataShouldBeLoadedFromDefaultsAndCommits() { var remoteBranches = GetRemoteBranches(); var activeRepository = GetActiveRepo(); activeRepository.Branches.First(x => x.IsHead).TrackedBranchName = "RemoteHeadBranchName"; IEnumerable <GitCommit> commits = new List <GitCommit>() { new GitCommit() { Message = "Message" } }; IEnumerable <FileDiff> fileDiffs = new List <FileDiff>() { new FileDiff() }; List <ITreeFile> treeFiles = new List <ITreeFile>() { new TreeDirectory("name") }; IEnumerable <GitUser> defaultReviewers = new List <GitUser>() { new GitUser(), new GitUser() }; _pullRequestDiffViewModel.Stub(x => x.Commits).Return(commits.ToList()); _pullRequestDiffViewModel.Stub(x => x.FileDiffs).Return(fileDiffs.ToList()); _pullRequestDiffViewModel.Stub(x => x.FilesTree).Return(treeFiles); _gitService.Expect(x => x.GetActiveRepository()).Return(activeRepository); _gitClientService.Expect(x => x.GetBranches()).Return(remoteBranches.FromTaskAsync()); var srcBranch = remoteBranches.First(x => x.Name == "RemoteHeadBranchName"); var dstBranch = remoteBranches.First(x => x.Name == "RemoteDefaultBranchName"); _gitClientService.Expect(x => x.GetPullRequestForBranches(srcBranch.Name, dstBranch.Name)) .Return(Task.FromResult <GitPullRequest>(null)); _gitClientService.Expect(x => x.GetCommitsRange(srcBranch, dstBranch)).Return(commits.FromTaskAsync()); _gitClientService.Expect(x => x.GetCommitsDiff(srcBranch.Target.Hash, dstBranch.Target.Hash)) .Return(fileDiffs.FromTaskAsync()); _gitClientService.Expect(x => x.GetDefaultReviewers()).Return(defaultReviewers.FromTaskAsync()); _treeStructureGenerator.Expect(x => x.CreateFileTree(fileDiffs)).Return(treeFiles); _sut.Initialize(); Assert.That(_sut.PullRequestDiffViewModel.Commits, Is.EqualTo(commits)); Assert.That(_sut.PullRequestDiffViewModel.FilesTree, Is.EqualTo(treeFiles)); Assert.That(_sut.PullRequestDiffViewModel.FileDiffs, Is.EqualTo(fileDiffs)); Assert.That(_sut.Title, Is.EqualTo(_sut.SourceBranch.Name)); Assert.That(_sut.Description, Is.Not.Empty); Assert.That(_sut.SelectedReviewers.Count, Is.EqualTo(defaultReviewers.Count())); Assert.IsNull(_sut.RemotePullRequest); }
public void SetUp() { _gitClientService = MockRepository.GenerateMock <IGitClientService>(); _gitService = MockRepository.GenerateMock <IGitService>(); _pageNavigationService = MockRepository.GenerateMock <IPageNavigationService <IPullRequestsWindow> >(); _eventAggregator = new EventAggregatorService(); _treeStructureGenerator = MockRepository.GenerateMock <ITreeStructureGenerator>(); _commandsService = MockRepository.GenerateMock <ICommandsService>(); _pullRequestDiffViewModel = MockRepository.GenerateMock <IPullRequestDiffViewModel>(); _pullRequestDiffViewModel.Stub(x => x.ThrowableCommands).Return(new List <ReactiveCommand>()); _sut = CreateSut(); }