public Setup() { var branchNaming = new HyphenSuffixIterationNaming(); Target = new IntegrateBranchesOrchestration( gitServiceApiMock.Object, workFactoryMock.Object, orchestrationMock.Object, new IntegrationNamingMediator(new StandardIntegrationNamingConvention(branchNaming), repositoryMock.Object), settingsMock.Object, repositoryMediatorMock.Object, new BranchIterationMediator(branchNaming, repositoryMock.Object) ); AttemptMergeMock = new Mock <IMergeDelegate>(); }
public MergeDownstreamActionProcess(IGitCli cli, IGitServiceApi gitServiceApi, IUnitOfWorkFactory workFactory, IRepositoryOrchestration orchestration, IRepositoryMediator repository, IntegrateBranchesOrchestration integrateBranches, IBranchIterationMediator branchIteration, string downstreamBranch, IOptions <GitRepositoryOptions> options, IMergeStrategyManager strategyManager) { this.cli = cli; this.gitServiceApi = gitServiceApi; this.integrateBranches = integrateBranches; this.repository = repository; this.orchestration = orchestration; this.branchIteration = branchIteration; this.downstreamBranchGroup = downstreamBranch; this.detailsTask = repository.GetBranchDetails(downstreamBranch).FirstAsync().ToTask(); this.latestBranchName = detailsTask.ContinueWith(task => repository.LatestBranchName(task.Result).FirstOrDefaultAsync().ToTask()).Unwrap(); this.strategyTask = detailsTask.ContinueWith(task => strategyManager.GetMergeStrategy(task.Result)); this.isReadOnly = options.Value.ReadOnly; this.workFactory = workFactory; }