public async Task getissue_query_returns_null_when_project_does_not_exist() { var projectId = "projectKey"; var epicId = "epicKey"; var issueId = "issueKey"; var sprintId = string.Empty; var title = "Title"; var description = "description"; var type = IssueType.Story; var status = IssueStatus.TODO; var storypoints = 0; var issue = new Issue(issueId, type, status, title, description, storypoints, projectId, epicId, sprintId, null, null, DateTime.Now); await _issuesMongoDbFixture.InsertAsync(issue.AsDocument()); var query = new GetIssue(issueId); // Check if exception is thrown var requestResult = _queryHandler .Awaiting(c => c.HandleAsync(query)); requestResult.Should().NotThrow(); var result = await requestResult(); result.Should().BeNull(); }
public object Any(GetIssue request) { var issue = _model.GetIssue(request.Id); return(new GetIssueResponse { Description = issue.Description, State = (int)(issue.State), Comments = issue.Comments.Select(c => c.Text).ToArray(), Associations = issue.AssocIssues.Select(a => a.Id).ToArray() }); }
public async Task <IssueResponse> HandleAsync(GetIssue query) { var issue = await issueRepository.GetAsync(query.IssueId); var issueType = IssueHelpers.GetIssueType(issue); var usersNames = await userSearcher.GetUsers(issue.Comments.Select(x => x.MemberId).ToList()); var issueResponse = new IssueResponse(issue.Id, issue.ProjectId, issue.SprintId, issueType, issue.Title, issue.Description, issue.Status, issue.Reporter.Id, issue.Reporter.GetFullName(), issue.Reporter.Email, issue.Assignee?.Id, issue.Comments.Select(x => new CommentResponse(x.MemberId, usersNames[x.MemberId], x.Content, x.AddedAt)).ToList(), issue.Labels.Select(x => new LabelResponse(x.Id, x.Name, x.Description)).ToList(), issue.Version); var linkedIssues = new List <LinkedIssue>(); if (issue is Storage.Models.Task) { var issues = await issueSearcher.GetIssuesRelatedToTask(issue.Id); linkedIssues = issues.Select(x => new LinkedIssue(x.Id, x.Title, IssueHelpers.GetIssueType(x))).ToList(); } else if (issue is Storage.Models.Nfr) { var issues = await issueSearcher.GetIssuesRelatedToNfr(issue.Id); linkedIssues = issues.Select(x => new LinkedIssue(x.Id, x.Title, IssueHelpers.GetIssueType(x))).ToList(); } else if (issue is Storage.Models.Subtask) { var parentIssue = await issueSearcher.GetParentIssueToSubtask(issue.Id); issueResponse.SetLinkedTo(parentIssue.Id, parentIssue.Title, IssueType.Task); } else { var parentIssue = await issueSearcher.GetParentIssueToBug(issue.Id); if (parentIssue != null) { issueResponse.SetLinkedTo(parentIssue.Id, parentIssue.Title, IssueHelpers.GetIssueType(parentIssue)); } } if (linkedIssues.Count != 0) { issueResponse.SetLinkedIssues(linkedIssues); } return(issueResponse); }
public async Task getissue_query_returns_null_when_no_issue_with_key_exists() { var projectId = "projectKey"; var issueId = "issueKey"; var project = new Project(projectId); await _projectsMongoDbFixture.InsertAsync(project.AsDocument()); var query = new GetIssue(issueId); // Check if exception is thrown var requestResult = _queryHandler .Awaiting(c => c.HandleAsync(query)); requestResult.Should().NotThrow(); var result = await requestResult(); result.Should().BeNull(); }
public Task <IssueView> Handle(GetIssue message, CancellationToken cancellationToken) { return(repository.GetByIdAsync(message.Id, cancellationToken)); }
public async Task <IssueViews.IssueView> Handle(GetIssue message, CancellationToken cancellationToken) { var entity = await repository.GetById(message.Id, cancellationToken); return(mapper.Map <IssueViews.IssueView>(entity)); }
public IIssueModel Any(GetIssue request) { return(workflow.Get(request.ID)); }