public void NegotiateCreateIssueParametersReturnsFailureForMissingProject(CreateIssueOptions options, string defaultIssuesLabel) { options.Project = ""; var sut = new IssueParametersNegotiator(); sut.NegotiateCreateIssueParameters(options, "", defaultIssuesLabel).IsFailure.Should().BeTrue(); }
public void NegotiateCreateIssueParametersTakesLabelsFromOptions(CreateIssueOptions options, string defaultProject, string defaultIssuesLabel) { var sut = new IssueParametersNegotiator(); sut.NegotiateCreateIssueParameters(options, defaultProject, defaultIssuesLabel). Value.Labels. Should(). BeEquivalentTo(options.Labels); }
public void NegotiateCreateIssueParametersTakesNotProvidedLabelsFromDefault( CreateIssueOptions options, string defaultProject, string defaultIssuesLabel) { options.Labels = new string[] { }; var sut = new IssueParametersNegotiator(); sut.NegotiateCreateIssueParameters(options, defaultProject, defaultIssuesLabel). Value.Labels. Should(). BeEquivalentTo(defaultIssuesLabel); }
public void NegotiateCreateIssueParametersCreatesParametersFromOptions(CreateIssueOptions options, string defaultProject, string defaultIssuesLabel) { var sut = new IssueParametersNegotiator(); sut.NegotiateCreateIssueParameters(options, defaultProject, defaultIssuesLabel).Value. Should(). Match <CreateIssueParameters>(o => o.Title == options.Title && o.Description == options.Description && o.Project == options.Project && o.Assignee == options.Assignee && o.AssignedToCurrentUser == options.AssignMyself && o.Labels.SequenceEqual(options.Labels)); }
public async Task Visit(CreateIssueOptions options) { if (!ValidateConfiguration()) { return; } var parameters = _parametersHandler.NegotiateCreateIssueParameters(options); if (parameters.IsSuccess) { await _issuesHandler.CreateIssue(parameters.Value); } else { ShowError(parameters); } }
public Result <CreateIssueParameters> NegotiateCreateIssueParameters( CreateIssueOptions options, string defaultProject, string defaultIssuesLabel) { var project = GetProject(options, defaultProject); if (project.IsFailure) { return(Fail <CreateIssueParameters>(project)); } return(Ok(new CreateIssueParameters( options.Title, options.Description, project.Value, options.Assignee) { AssignedToCurrentUser = options.AssignMyself, Labels = NegotiateLabels(options.Labels, defaultIssuesLabel) })); }
public Result <CreateIssueParameters> NegotiateCreateIssueParameters(CreateIssueOptions options) { return(_issueParametersNegotiator.NegotiateCreateIssueParameters( options, _appSettings.DefaultProject, _appSettings.DefaulIssuesLabel)); }