Commit 4641514c authored by Marin Jankovski's avatar Marin Jankovski

Update rspec tests to the new external issue logic.

parent 65e70047
...@@ -99,7 +99,6 @@ class Dispatcher ...@@ -99,7 +99,6 @@ class Dispatcher
switch path[1] switch path[1]
when 'edit' when 'edit'
shortcut_handler = new ShortcutsNavigation() shortcut_handler = new ShortcutsNavigation()
new ProjectNew()
when 'new' when 'new'
new ProjectNew() new ProjectNew()
when 'show' when 'show'
......
...@@ -9,17 +9,3 @@ class @ProjectNew ...@@ -9,17 +9,3 @@ class @ProjectNew
initEvents: -> initEvents: ->
disableButtonIfEmptyField '#project_name', '.project-submit' disableButtonIfEmptyField '#project_name', '.project-submit'
$('#project_issues_enabled').change ->
if ($(this).is(':checked') == true)
$('#project_issues_tracker').removeAttr('disabled')
else
$('#project_issues_tracker').attr('disabled', 'disabled')
$('#project_issues_tracker').change()
$('#project_issues_tracker').change ->
if ($(this).val() == gon.default_issues_tracker || $(this).is(':disabled'))
$('#project_issues_tracker_id').attr('disabled', 'disabled')
else
$('#project_issues_tracker_id').removeAttr('disabled')
...@@ -76,7 +76,19 @@ FactoryGirl.define do ...@@ -76,7 +76,19 @@ FactoryGirl.define do
end end
factory :redmine_project, parent: :project do factory :redmine_project, parent: :project do
issues_tracker { "redmine" } after :create do |project|
issues_tracker_id { "project_name_in_redmine" } project.create_redmine_service(
active: true,
properties: {
project_url: 'http://redmine/projects/project_name_in_redmine',
issues_url: "http://redmine/#{project.id}/project_name_in_redmine/:id",
new_issue_url: 'http://redmine/projects/project_name_in_redmine/issues/new'
}
)
end
after :create do |project|
project.issues_tracker = 'redmine'
project.issues_tracker_id = 'project_name_in_redmine'
end
end end
end end
...@@ -296,10 +296,13 @@ describe GitlabMarkdownHelper do ...@@ -296,10 +296,13 @@ describe GitlabMarkdownHelper do
let(:reference) { "JIRA-#{issue.iid}" } let(:reference) { "JIRA-#{issue.iid}" }
before do before do
issue_tracker_config = { "jira" => { "title" => "JIRA tracker", "issues_url" => "http://jira.example/browse/:id" } } jira = @project.create_jira_service if @project.jira_service.nil?
Gitlab.config.stub(:issues_tracker).and_return(issue_tracker_config) properties = {"title"=>"JIRA tracker", "project_url"=>"http://jira.example/issues/?jql=project=A", "issues_url"=>"http://jira.example/browse/:id", "new_issue_url"=>"http://jira.example/secure/CreateIssue.jspa"}
@project.stub(:issues_tracker).and_return("jira") jira.update_attributes(properties: properties, active: true)
@project.stub(:issues_tracker_id).and_return("JIRA") end
after do
@project.jira_service.destroy! unless @project.jira_service.nil?
end end
it "should link using a valid id" do it "should link using a valid id" do
......
...@@ -24,7 +24,7 @@ describe IssuesHelper do ...@@ -24,7 +24,7 @@ describe IssuesHelper do
end end
describe :url_for_project_issues do describe :url_for_project_issues do
let(:project_url) { Gitlab.config.issues_tracker.redmine.project_url} let(:project_url) { ext_project.external_issue_tracker.project_url }
let(:ext_expected) do let(:ext_expected) do
project_url.gsub(':project_id', ext_project.id.to_s) project_url.gsub(':project_id', ext_project.id.to_s)
.gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s) .gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s)
...@@ -54,17 +54,16 @@ describe IssuesHelper do ...@@ -54,17 +54,16 @@ describe IssuesHelper do
Gitlab.config.stub(:issues_tracker).and_return(nil) Gitlab.config.stub(:issues_tracker).and_return(nil)
end end
it "should return path to internal tracker" do it "should return path to external tracker" do
url_for_project_issues.should match(polymorphic_path([@project])) url_for_project_issues.should match(ext_expected)
end end
end end
end end
describe :url_for_issue do describe :url_for_issue do
let(:issue_id) { 3 } let(:issues_url) { ext_project.external_issue_tracker.issues_url}
let(:issues_url) { Gitlab.config.issues_tracker.redmine.issues_url}
let(:ext_expected) do let(:ext_expected) do
issues_url.gsub(':id', issue_id.to_s) issues_url.gsub(':id', issue.iid.to_s)
.gsub(':project_id', ext_project.id.to_s) .gsub(':project_id', ext_project.id.to_s)
.gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s) .gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s)
end end
...@@ -78,7 +77,7 @@ describe IssuesHelper do ...@@ -78,7 +77,7 @@ describe IssuesHelper do
it "should return path to external tracker" do it "should return path to external tracker" do
@project = ext_project @project = ext_project
url_for_issue(issue_id).should match(ext_expected) url_for_issue(issue.iid).should match(ext_expected)
end end
it "should return empty string if project nil" do it "should return empty string if project nil" do
...@@ -93,14 +92,14 @@ describe IssuesHelper do ...@@ -93,14 +92,14 @@ describe IssuesHelper do
Gitlab.config.stub(:issues_tracker).and_return(nil) Gitlab.config.stub(:issues_tracker).and_return(nil)
end end
it "should return internal path" do it "should return external path" do
url_for_issue(issue.iid).should match(polymorphic_path([@project, issue])) url_for_issue(issue.iid).should match(ext_expected)
end end
end end
end end
describe :url_for_new_issue do describe :url_for_new_issue do
let(:issues_url) { Gitlab.config.issues_tracker.redmine.new_issue_url} let(:issues_url) { ext_project.external_issue_tracker.new_issue_url }
let(:ext_expected) do let(:ext_expected) do
issues_url.gsub(':project_id', ext_project.id.to_s) issues_url.gsub(':project_id', ext_project.id.to_s)
.gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s) .gsub(':issues_tracker_id', ext_project.issues_tracker_id.to_s)
...@@ -131,7 +130,7 @@ describe IssuesHelper do ...@@ -131,7 +130,7 @@ describe IssuesHelper do
end end
it "should return internal path" do it "should return internal path" do
url_for_new_issue.should match(new_project_issue_path(@project)) url_for_new_issue.should match(ext_expected)
end end
end end
end end
......
require 'spec_helper' require 'spec_helper'
describe ProjectsHelper do describe ProjectsHelper do
describe '#project_issues_trackers' do
it "returns the correct issues trackers available" do
project_issues_trackers.should ==
"<option value=\"redmine\">Redmine</option>\n" \
"<option value=\"gitlab\">GitLab</option>"
end
it "returns the correct issues trackers available with current tracker 'gitlab' selected" do
project_issues_trackers('gitlab').should ==
"<option value=\"redmine\">Redmine</option>\n" \
"<option selected=\"selected\" value=\"gitlab\">GitLab</option>"
end
it "returns the correct issues trackers available with current tracker 'redmine' selected" do
project_issues_trackers('redmine').should ==
"<option selected=\"selected\" value=\"redmine\">Redmine</option>\n" \
"<option value=\"gitlab\">GitLab</option>"
end
end
describe "#project_status_css_class" do describe "#project_status_css_class" do
it "returns appropriate class" do it "returns appropriate class" do
project_status_css_class("started").should == "active" project_status_css_class("started").should == "active"
project_status_css_class("failed").should == "danger" project_status_css_class("failed").should == "danger"
project_status_css_class("finished").should == "success" project_status_css_class("finished").should == "success"
end end
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment