summaryrefslogtreecommitdiff
path: root/spec/requests/api/issues_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/api/issues_spec.rb')
-rw-r--r--spec/requests/api/issues_spec.rb22
1 files changed, 21 insertions, 1 deletions
diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb
index a5434d3ea80..0fa34688371 100644
--- a/spec/requests/api/issues_spec.rb
+++ b/spec/requests/api/issues_spec.rb
@@ -1480,12 +1480,20 @@ describe API::Issues do
let(:params) { { title: 'new issue', labels: 'label, label2', created_at: creation_time } }
context 'by an admin' do
- it 'sets the creation time on the new issue' do
+ before do
post api("/projects/#{project.id}/issues", admin), params: params
+ end
+ it 'sets the creation time on the new issue' do
expect(response).to have_gitlab_http_status(201)
expect(Time.parse(json_response['created_at'])).to be_like_time(creation_time)
end
+
+ it 'sets the system notes timestamp based on creation time' do
+ issue = Issue.find(json_response['id'])
+
+ expect(issue.resource_label_events.last.created_at).to be_like_time(creation_time)
+ end
end
context 'by a project owner' do
@@ -2189,6 +2197,18 @@ describe API::Issues do
expect_paginated_array_response(related_mr.id)
end
+ context 'merge request closes an issue' do
+ let!(:closing_issue_mr_rel) do
+ create(:merge_requests_closing_issues, issue: issue, merge_request: related_mr)
+ end
+
+ it 'returns closing MR only once' do
+ get_related_merge_requests(project.id, issue.iid, user)
+
+ expect_paginated_array_response([related_mr.id])
+ end
+ end
+
context 'no merge request mentioned a issue' do
it 'returns empty array' do
get_related_merge_requests(project.id, closed_issue.iid, user)