Commit 8caccae45457940b54174a3516a1a56915016c22
1 parent
b6d0f285
Exists in
master
and in
4 other branches
Issue helper tests improved
Showing
1 changed file
with
29 additions
and
3 deletions
Show diff stats
spec/helpers/issues_helper_spec.rb
1 | 1 | require "spec_helper" |
2 | 2 | |
3 | 3 | describe IssuesHelper do |
4 | - let(:project) { create(:project) } | |
5 | - let(:issue) { create(:issue, project: project) } | |
6 | - let(:ext_project) { create(:redmine_project) } | |
4 | + let(:project) { create :project } | |
5 | + let(:issue) { create :issue, project: project } | |
6 | + let(:ext_project) { create :redmine_project } | |
7 | 7 | |
8 | 8 | describe :title_for_issue do |
9 | 9 | it "should return issue title if used internal tracker" do |
... | ... | @@ -23,6 +23,32 @@ describe IssuesHelper do |
23 | 23 | end |
24 | 24 | end |
25 | 25 | |
26 | + describe :url_for_project_issues do | |
27 | + let(:project_url) { Gitlab.config.issues_tracker.redmine.project_url} | |
28 | + let(:ext_expected) do | |
29 | + project_url.gsub(':project_id', ext_project.id.to_s) | |
30 | + .gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s) | |
31 | + end | |
32 | + let(:int_expected) { polymorphic_path([project]) } | |
33 | + | |
34 | + it "should return internal path if used internal tracker" do | |
35 | + @project = project | |
36 | + url_for_project_issues.should match(int_expected) | |
37 | + end | |
38 | + | |
39 | + it "should return path to external tracker" do | |
40 | + @project = ext_project | |
41 | + | |
42 | + url_for_project_issues.should match(ext_expected) | |
43 | + end | |
44 | + | |
45 | + it "should return empty string if project nil" do | |
46 | + @project = nil | |
47 | + | |
48 | + url_for_project_issues.should eq "" | |
49 | + end | |
50 | + end | |
51 | + | |
26 | 52 | describe :url_for_issue do |
27 | 53 | let(:issue_id) { 3 } |
28 | 54 | let(:issues_url) { Gitlab.config.issues_tracker.redmine.issues_url} | ... | ... |