diff options
Diffstat (limited to 'spec/requests/api/releases_spec.rb')
-rw-r--r-- | spec/requests/api/releases_spec.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/requests/api/releases_spec.rb b/spec/requests/api/releases_spec.rb index f9e7253a88b..5de8d5aa3ff 100644 --- a/spec/requests/api/releases_spec.rb +++ b/spec/requests/api/releases_spec.rb @@ -359,12 +359,29 @@ describe API::Releases do let(:milestone) { create(:milestone, project: project) } + it 'matches schema' do + get api("/projects/#{project.id}/releases/v0.1", non_project_member) + + expect(response).to match_response_schema('public_api/v4/release') + end + it 'exposes milestones' do get api("/projects/#{project.id}/releases/v0.1", non_project_member) expect(json_response['milestones'].first['title']).to eq(milestone.title) end + it 'returns issue stats for milestone' do + create_list(:issue, 2, milestone: milestone, project: project) + create_list(:issue, 3, :closed, milestone: milestone, project: project) + + get api("/projects/#{project.id}/releases/v0.1", non_project_member) + + issue_stats = json_response['milestones'].first["issue_stats"] + expect(issue_stats["total"]).to eq(5) + expect(issue_stats["closed"]).to eq(3) + end + context 'when project restricts visibility of issues and merge requests' do let!(:project) { create(:project, :repository, :public, :issues_private, :merge_requests_private) } |