summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/merge_requests_controller_spec.rb27
-rw-r--r--spec/helpers/gitlab_markdown_helper_spec.rb38
-rw-r--r--spec/helpers/issues_helper_spec.rb6
-rw-r--r--spec/models/concerns/issuable_spec.rb2
4 files changed, 32 insertions, 41 deletions
diff --git a/spec/controllers/merge_requests_controller_spec.rb b/spec/controllers/merge_requests_controller_spec.rb
index d344e3eb14c..3c1a9cb7268 100644
--- a/spec/controllers/merge_requests_controller_spec.rb
+++ b/spec/controllers/merge_requests_controller_spec.rb
@@ -8,13 +8,13 @@ describe Projects::MergeRequestsController do
before do
sign_in(user)
project.team << [user, :master]
- Projects::MergeRequestsController.any_instance.stub(validates_merge_request: true)
+ Projects::MergeRequestsController.any_instance.stub(validates_merge_request: true, )
end
describe "#show" do
shared_examples "export merge as" do |format|
it "should generally work" do
- get :show, project_id: project.code, id: merge_request.id, format: format
+ get :show, project_id: project.code, id: merge_request.iid, format: format
expect(response).to be_success
end
@@ -22,11 +22,11 @@ describe Projects::MergeRequestsController do
it "should generate it" do
MergeRequest.any_instance.should_receive(:"to_#{format}")
- get :show, project_id: project.code, id: merge_request.id, format: format
+ get :show, project_id: project.code, id: merge_request.iid, format: format
end
it "should render it" do
- get :show, project_id: project.code, id: merge_request.id, format: format
+ get :show, project_id: project.code, id: merge_request.iid, format: format
expect(response.body).to eq((merge_request.send(:"to_#{format}",user)).to_s)
end
@@ -34,7 +34,7 @@ describe Projects::MergeRequestsController do
it "should not escape Html" do
MergeRequest.any_instance.stub(:"to_#{format}").and_return('HTML entities &<>" ')
- get :show, project_id: project.code, id: merge_request.id, format: format
+ get :show, project_id: project.code, id: merge_request.iid, format: format
expect(response.body).to_not include('&amp;')
expect(response.body).to_not include('&gt;')
@@ -48,7 +48,7 @@ describe Projects::MergeRequestsController do
let(:format) { :diff }
it "should really only be a git diff" do
- get :show, project_id: project.code, id: merge_request.id, format: format
+ get :show, project_id: project.code, id: merge_request.iid, format: format
expect(response.body).to start_with("diff --git")
end
@@ -59,24 +59,13 @@ describe Projects::MergeRequestsController do
let(:format) { :patch }
it "should really be a git email patch with commit" do
- get :show, project_id: project.code, id: merge_request.id, format: format
+ get :show, project_id: project.code, id: merge_request.iid, format: format
expect(response.body[0..100]).to start_with("From #{merge_request.commits.last.id}")
end
- # TODO: fix or remove
- #it "should contain as many patches as there are commits" do
- #get :show, project_id: project.code, id: merge_request.id, format: format
-
- #patch_count = merge_request.commits.count
- #merge_request.commits.each_with_index do |commit, patch_num|
- #expect(response.body).to match(/^From #{commit.id}/)
- #expect(response.body).to match(/^Subject: \[PATCH #{patch_num}\/#{patch_count}\]/)
- #end
- #end
-
it "should contain git diffs" do
- get :show, project_id: project.code, id: merge_request.id, format: format
+ get :show, project_id: project.code, id: merge_request.iid, format: format
expect(response.body).to match(/^diff --git/)
end
diff --git a/spec/helpers/gitlab_markdown_helper_spec.rb b/spec/helpers/gitlab_markdown_helper_spec.rb
index 2dcc61e9560..a4db8b4ff7e 100644
--- a/spec/helpers/gitlab_markdown_helper_spec.rb
+++ b/spec/helpers/gitlab_markdown_helper_spec.rb
@@ -20,7 +20,7 @@ describe GitlabMarkdownHelper do
describe "#gfm" do
it "should return unaltered text if project is nil" do
- actual = "Testing references: ##{issue.id}"
+ actual = "Testing references: ##{issue.iid}"
gfm(actual).should_not == actual
@@ -175,14 +175,14 @@ describe GitlabMarkdownHelper do
describe "referencing an issue" do
let(:object) { issue }
- let(:reference) { "##{issue.id}" }
+ let(:reference) { "##{issue.iid}" }
include_examples 'referenced object'
end
describe "referencing a merge request" do
let(:object) { merge_request }
- let(:reference) { "!#{merge_request.id}" }
+ let(:reference) { "!#{merge_request.iid}" }
include_examples 'referenced object'
end
@@ -230,7 +230,7 @@ describe GitlabMarkdownHelper do
end
describe "referencing multiple objects" do
- let(:actual) { "!#{merge_request.id} -> #{commit.id} -> ##{issue.id}" }
+ let(:actual) { "!#{merge_request.iid} -> #{commit.id} -> ##{issue.iid}" }
it "should link to the merge request" do
expected = project_merge_request_path(project, merge_request)
@@ -299,7 +299,7 @@ describe GitlabMarkdownHelper do
let(:issues) { create_list(:issue, 2, project: project) }
it "should handle references nested in links with all the text" do
- actual = link_to_gfm("This should finally fix ##{issues[0].id} and ##{issues[1].id} for real", commit_path)
+ actual = link_to_gfm("This should finally fix ##{issues[0].iid} and ##{issues[1].iid} for real", commit_path)
# Break the result into groups of links with their content, without
# closing tags
@@ -311,7 +311,7 @@ describe GitlabMarkdownHelper do
# First issue link
groups[1].should match(/href="#{project_issue_url(project, issues[0])}"/)
- groups[1].should match(/##{issues[0].id}$/)
+ groups[1].should match(/##{issues[0].iid}$/)
# Internal commit link
groups[2].should match(/href="#{commit_path}"/)
@@ -319,7 +319,7 @@ describe GitlabMarkdownHelper do
# Second issue link
groups[3].should match(/href="#{project_issue_url(project, issues[1])}"/)
- groups[3].should match(/##{issues[1].id}$/)
+ groups[3].should match(/##{issues[1].iid}$/)
# Trailing commit link
groups[4].should match(/href="#{commit_path}"/)
@@ -332,7 +332,7 @@ describe GitlabMarkdownHelper do
end
it "escapes HTML passed in as the body" do
- actual = "This is a <h1>test</h1> - see ##{issues[0].id}"
+ actual = "This is a <h1>test</h1> - see ##{issues[0].iid}"
link_to_gfm(actual, commit_path).should match('&lt;h1&gt;test&lt;/h1&gt;')
end
end
@@ -345,25 +345,25 @@ describe GitlabMarkdownHelper do
end
it "should handle references in headers" do
- actual = "\n# Working around ##{issue.id}\n## Apply !#{merge_request.id}"
+ actual = "\n# Working around ##{issue.iid}\n## Apply !#{merge_request.iid}"
- markdown(actual).should match(%r{<h1[^<]*>Working around <a.+>##{issue.id}</a></h1>})
- markdown(actual).should match(%r{<h2[^<]*>Apply <a.+>!#{merge_request.id}</a></h2>})
+ markdown(actual).should match(%r{<h1[^<]*>Working around <a.+>##{issue.iid}</a></h1>})
+ markdown(actual).should match(%r{<h2[^<]*>Apply <a.+>!#{merge_request.iid}</a></h2>})
end
it "should handle references in lists" do
project.team << [user, :master]
- actual = "\n* dark: ##{issue.id}\n* light by @#{member.user.username}"
+ actual = "\n* dark: ##{issue.iid}\n* light by @#{member.user.username}"
- markdown(actual).should match(%r{<li>dark: <a.+>##{issue.id}</a></li>})
+ markdown(actual).should match(%r{<li>dark: <a.+>##{issue.iid}</a></li>})
markdown(actual).should match(%r{<li>light by <a.+>@#{member.user.username}</a></li>})
end
it "should handle references in <em>" do
- actual = "Apply _!#{merge_request.id}_ ASAP"
+ actual = "Apply _!#{merge_request.iid}_ ASAP"
- markdown(actual).should match(%r{Apply <em><a.+>!#{merge_request.id}</a></em>})
+ markdown(actual).should match(%r{Apply <em><a.+>!#{merge_request.iid}</a></em>})
end
it "should leave code blocks untouched" do
@@ -379,19 +379,19 @@ describe GitlabMarkdownHelper do
end
it "should leave ref-like autolinks untouched" do
- markdown("look at http://example.tld/#!#{merge_request.id}").should == "<p>look at <a href=\"http://example.tld/#!#{merge_request.id}\">http://example.tld/#!#{merge_request.id}</a></p>\n"
+ markdown("look at http://example.tld/#!#{merge_request.iid}").should == "<p>look at <a href=\"http://example.tld/#!#{merge_request.iid}\">http://example.tld/#!#{merge_request.iid}</a></p>\n"
end
it "should leave ref-like href of 'manual' links untouched" do
- markdown("why not [inspect !#{merge_request.id}](http://example.tld/#!#{merge_request.id})").should == "<p>why not <a href=\"http://example.tld/#!#{merge_request.id}\">inspect </a><a href=\"#{project_merge_request_url(project, merge_request)}\" class=\"gfm gfm-merge_request \" title=\"Merge Request: #{merge_request.title}\">!#{merge_request.id}</a><a href=\"http://example.tld/#!#{merge_request.id}\"></a></p>\n"
+ markdown("why not [inspect !#{merge_request.iid}](http://example.tld/#!#{merge_request.iid})").should == "<p>why not <a href=\"http://example.tld/#!#{merge_request.iid}\">inspect </a><a href=\"#{project_merge_request_url(project, merge_request)}\" class=\"gfm gfm-merge_request \" title=\"Merge Request: #{merge_request.title}\">!#{merge_request.iid}</a><a href=\"http://example.tld/#!#{merge_request.iid}\"></a></p>\n"
end
it "should leave ref-like src of images untouched" do
- markdown("screen shot: ![some image](http://example.tld/#!#{merge_request.id})").should == "<p>screen shot: <img src=\"http://example.tld/#!#{merge_request.id}\" alt=\"some image\"></p>\n"
+ markdown("screen shot: ![some image](http://example.tld/#!#{merge_request.iid})").should == "<p>screen shot: <img src=\"http://example.tld/#!#{merge_request.iid}\" alt=\"some image\"></p>\n"
end
it "should generate absolute urls for refs" do
- markdown("##{issue.id}").should include(project_issue_url(project, issue))
+ markdown("##{issue.iid}").should include(project_issue_url(project, issue))
end
it "should generate absolute urls for emoji" do
diff --git a/spec/helpers/issues_helper_spec.rb b/spec/helpers/issues_helper_spec.rb
index a1f23073582..3595af32431 100644
--- a/spec/helpers/issues_helper_spec.rb
+++ b/spec/helpers/issues_helper_spec.rb
@@ -8,7 +8,7 @@ describe IssuesHelper do
describe :title_for_issue do
it "should return issue title if used internal tracker" do
@project = project
- title_for_issue(issue.id).should eq issue.title
+ title_for_issue(issue.iid).should eq issue.title
end
it "should always return empty string if used external tracker" do
@@ -61,7 +61,7 @@ describe IssuesHelper do
it "should return internal path if used internal tracker" do
@project = project
- url_for_issue(issue.id).should match(int_expected)
+ url_for_issue(issue.iid).should match(int_expected)
end
it "should return path to external tracker" do
@@ -73,7 +73,7 @@ describe IssuesHelper do
it "should return empty string if project nil" do
@project = nil
- url_for_issue(issue.id).should eq ""
+ url_for_issue(issue.iid).should eq ""
end
end
diff --git a/spec/models/concerns/issuable_spec.rb b/spec/models/concerns/issuable_spec.rb
index 551e1753be0..852146ebaec 100644
--- a/spec/models/concerns/issuable_spec.rb
+++ b/spec/models/concerns/issuable_spec.rb
@@ -11,7 +11,9 @@ describe Issue, "Issuable" do
end
describe "Validation" do
+ before { subject.stub(set_iid: false) }
it { should validate_presence_of(:project) }
+ it { should validate_presence_of(:iid) }
it { should validate_presence_of(:author) }
it { should validate_presence_of(:title) }
it { should ensure_length_of(:title).is_at_least(0).is_at_most(255) }