diff options
author | Winnie Hellmann <winnie@gitlab.com> | 2019-03-26 18:50:47 +0100 |
---|---|---|
committer | Winnie Hellmann <winnie@gitlab.com> | 2019-03-26 18:50:47 +0100 |
commit | 62142697bd2a713241f57a885c1e5fb09669093f (patch) | |
tree | 824a4f1b31f6e2b7cd95def8704c21c8bfd12506 | |
parent | b4de23a687d16c96f1adaa456e4aeaac64d9cb23 (diff) | |
download | gitlab-ce-winh-related_merge_requests-fixture.tar.gz |
Create related_merge_requests.json fixturewinh-related_merge_requests-fixture
-rw-r--r-- | spec/javascripts/fixtures/issues.rb | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/spec/javascripts/fixtures/issues.rb b/spec/javascripts/fixtures/issues.rb index 9b8e90c2a43..a977464ca88 100644 --- a/spec/javascripts/fixtures/issues.rb +++ b/spec/javascripts/fixtures/issues.rb @@ -65,3 +65,67 @@ describe Projects::IssuesController, '(JavaScript fixtures)', type: :controller store_frontend_fixture(response, fixture_file_name) end end + +describe API::Issues, '(JavaScript fixtures)', type: :request do + include ApiHelpers + include JavaScriptFixturesHelpers + + set(:user) { create(:user) } + set(:project) do + create(:project, :public, creator_id: user.id, namespace: user.namespace) + end + let(:issue_title) { 'foo' } + let(:issue_description) { 'closed' } + let(:milestone) { create(:milestone, title: '1.0.0', project: project) } + let!(:issue) do + create :issue, + author: user, + assignees: [user], + project: project, + milestone: milestone, + created_at: generate(:past_time), + updated_at: 1.hour.ago, + title: issue_title, + description: issue_description + end + + before(:all) do + project.add_reporter(user) + end + + def get_related_merge_requests(project_id, issue_iid, user = nil) + get api("/projects/#{project_id}/issues/#{issue_iid}/related_merge_requests", user) + end + + def create_referencing_mr(user, project, issue) + attributes = { + author: user, + source_project: project, + target_project: project, + source_branch: "master", + target_branch: "test", + description: "See #{issue.to_reference}" + } + create(:merge_request, attributes).tap do |merge_request| + create(:note, :system, project: issue.project, noteable: issue, author: user, note: merge_request.to_reference(full: true)) + end + end + + let!(:related_mr) { create_referencing_mr(user, project, issue) } + + it 'issues/related_merge_requests.json' do |example| + create(:merge_request, + :simple, + author: user, + source_project: project, + target_project: project, + description: "Some description") + project2 = create(:project, :public, creator_id: user.id, namespace: user.namespace) + create_referencing_mr(user, project2, issue) + + get_related_merge_requests(project.id, issue.iid, user) + + expect(response).to be_success + store_frontend_fixture(response, example.description) + end +end |