public async Task getissues_query_returns_empty_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 GetIssues(projectId); // Check if exception is thrown var requestResult = _queryHandler .Awaiting(c => c.HandleAsync(query)); requestResult.Should().NotThrow(); var result = await requestResult(); result.Should().BeEmpty(); }
public Task <IReadOnlyList <IssueViews.IssueView> > Handle(GetIssues message, CancellationToken cancellationToken) { return(repository .GetAll() .ProjectTo <IssueViews.IssueView>() .ToListAsync()); }
public Task <IReadOnlyList <IssueViews.IssueView> > Handle(GetIssues message, CancellationToken cancellationToken) { return(repository .Query() .ProjectTo <IssueViews.IssueView>(configurationProvider) .ToListAsync()); }
public async Task <IReadOnlyList <IssueViews.IssueView> > Handle(GetIssues message, CancellationToken cancellationToken) { var result = await repository .Query() .ToListAsync(token: cancellationToken); return(result.AsQueryable() .ProjectTo <IssueViews.IssueView>(configurationProvider) .ToList()); }
public async Task getissues_query_returns_empty_when_project_has_no_issues() { var projectId = "projectKey"; var project = new Project(projectId); await _projectsMongoDbFixture.InsertAsync(project.AsDocument()); var query = new GetIssues(projectId); // Check if exception is thrown var requestResult = _queryHandler .Awaiting(c => c.HandleAsync(query)); requestResult.Should().NotThrow(); var result = await requestResult(); result.Should().BeEmpty(); }
public async Task getissues_query_succeeds_when_a_issue_exists() { var projectId = "projectKey"; var epicId = "epicKey"; var issueId = "issueKey"; var issue2Id = "issueKey2"; var sprintId = string.Empty; var title = "Title"; var description = "description"; var type = IssueType.Story; var status = IssueStatus.TODO; var storypoints = 0; var project = new Project(projectId); await _projectsMongoDbFixture.InsertAsync(project.AsDocument()); var issue = new Issue(issueId, type, status, title, description, storypoints, projectId, epicId, sprintId, null, null, DateTime.Now); var issue2 = new Issue(issue2Id, type, status, title, description, storypoints, projectId, epicId, sprintId, null, null, DateTime.Now); await _issuesMongoDbFixture.InsertAsync(issue.AsDocument()); await _issuesMongoDbFixture.InsertAsync(issue2.AsDocument()); var query = new GetIssues(projectId: projectId); // Check if exception is thrown var requestResult = _queryHandler .Awaiting(c => c.HandleAsync(query)); requestResult.Should().NotThrow(); var result = await requestResult(); var issueDtos = result as IssueDto[] ?? result.ToArray(); issueDtos.Should().Contain(i => i.Id == issueId); issueDtos.Should().Contain(i => i.Id == issue2Id); }
public async Task <IEnumerable <IssueDto> > HandleAsync(GetIssues query) { var documents = _issueRepository.Collection.AsQueryable(); if (query.ProjectId == null) { return(Enumerable.Empty <IssueDto>()); } var project = await _projectRepository.GetAsync(query.ProjectId); if (project == null) { return(Enumerable.Empty <IssueDto>()); } string[] sprintIssueIds = null; if (query.HasSprint != null) { sprintIssueIds = await _sprintsApiHttpClient.IssuesWithoutSprintForProject(query.ProjectId); if (sprintIssueIds == null) { return(Enumerable.Empty <IssueDto>()); } } var filter = new Func <IssueDocument, bool>(p => p.ProjectId == project.Id && (query.Type == null || p.Type == query.Type.Value) && (query.IssueIds == null || query.IssueIds.Contains(p.Id)) && (query.HasSprint == null || (query.HasSprint.Value ? !sprintIssueIds !.Contains(p.Id) : sprintIssueIds !.Contains(p.Id)))); var issues = documents.Where(filter).ToList(); return(issues.Select(p => p.AsDto())); }
public Task <IReadOnlyList <IssueView> > Handle(GetIssues message, CancellationToken cancellationToken) { return(repository .Query() .ToListAsync(cancellationToken)); }
public Task <IReadOnlyList <IssueView> > Get(GetIssues query) { return(queryBus.SendAsync <GetIssues, IReadOnlyList <IssueView> >(query)); }
public Task <IReadOnlyList <IssueView> > Handle(GetIssues request, CancellationToken cancellationToken) { return(Task.FromResult((IReadOnlyList <IssueView>) new List <IssueView>().AsReadOnly())); }
public List <IIssueModel> Any(GetIssues request) { return(workflow.Search(request)); }
public async Task <IReadOnlyCollection <IssueListItem> > HandleAsync(GetIssues query) { var issues = await issueSearcher.GetProjectIssues(query.ProjectId); return(issues.Select(x => new IssueListItem(x.Id, x.ProjectId, IssueHelpers.GetIssueType(x), x.Title, x.Description, x.Status, x.Reporter.Id, x.Assignee?.Id)).ToList()); }