Commit 8caccae45457940b54174a3516a1a56915016c22

Authored by Andrew8xx8
1 parent b6d0f285

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}
... ...