public async Task ShouldReturnProjectIssuesFilterByIssueType()
        {
            // Arange
            var userId = await RunAsDefaultUserAsync();

            var owner = new Participant(userId, "firstName", "lastName");

            var project = new Project(owner, "Project Name", "Key");

            var issue = new Issue(project, owner, IssueType.Story, "title");

            issue.SetAssignee(owner);

            project.AddIssue(issue);

            await AddAsync(project);

            var query = new GetProjectIssuesListQuery {
                IssueType = issue.Type, ProjectId = project.Id
            };
            // Act
            var result = await SendAsync(query);

            // Assert
            result.Issues.Should().HaveCount(1);
            result.Issues.First().Reporter.Should().Be($"{issue.Reporter.FirstName} {issue.Reporter.LastName}");
            result.Issues.First().Assignee.Should().Be($"{issue.Assignee.FirstName} {issue.Assignee.LastName}");
            result.Issues.First().Title.Should().Be(issue.Title);
            result.Issues.First().Description.Should().Be(issue.Description);
            result.Issues.First().Status.Should().Be(issue.Status);
            result.Issues.First().IssueId.Should().Be(issue.IssueId);
            result.Issues.First().Type.Should().Be(issue.Type);
        }
示例#2
0
        public async Task <ActionResult> GetIssuesList(int id, [FromQuery] GetProjectIssuesListQuery query)
        {
            if (id != query.ProjectId)
            {
                return(BadRequest());
            }

            var vm = await Mediator.Send(query);

            return(Ok(vm));
        }
        public void ShouldRequireMinimumFields()
        {
            var query = new GetProjectIssuesListQuery();

            FluentActions.Invoking(() => SendAsync(query)).Should().Throw <NotFoundException>();
        }