Commit bb8e8b23 authored by Kotau Yauhen's avatar Kotau Yauhen

Merge branch 'youtrack-verify-new_issue_url-removal' into 'add_YouTrack_integration'

Update external issue tracker services test

See merge request bessorion/gitlab-ce!2
parents 7b490f7b f6754010
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
class YoutrackService < IssueTrackerService class YoutrackService < IssueTrackerService
validates :project_url, :issues_url, presence: true, public_url: true, if: :activated? validates :project_url, :issues_url, presence: true, public_url: true, if: :activated?
prop_accessor :title, :description, :project_url, :issues_url prop_accessor :description, :project_url, :issues_url
# {PROJECT-KEY}-{NUMBER} Examples: YT-1, PRJ-1 # {PROJECT-KEY}-{NUMBER} Examples: YT-1, PRJ-1
def self.reference_pattern(only_long: false) def self.reference_pattern(only_long: false)
......
...@@ -6,11 +6,17 @@ describe 'User activates issue tracker', :js do ...@@ -6,11 +6,17 @@ describe 'User activates issue tracker', :js do
let(:url) { 'http://tracker.example.com' } let(:url) { 'http://tracker.example.com' }
def fill_form(active = true) def fill_short_form(active = true)
check 'Active' if active check 'Active' if active
fill_in 'service_project_url', with: url fill_in 'service_project_url', with: url
fill_in 'service_issues_url', with: "#{url}/:id" fill_in 'service_issues_url', with: "#{url}/:id"
end
def fill_full_form(active = true)
fill_short_form(active)
check 'Active' if active
fill_in 'service_new_issue_url', with: url fill_in 'service_new_issue_url', with: url
end end
...@@ -21,14 +27,20 @@ describe 'User activates issue tracker', :js do ...@@ -21,14 +27,20 @@ describe 'User activates issue tracker', :js do
visit project_settings_integrations_path(project) visit project_settings_integrations_path(project)
end end
shared_examples 'external issue tracker activation' do |tracker:| shared_examples 'external issue tracker activation' do |tracker:, skip_new_issue_url: false|
describe 'user sets and activates the Service' do describe 'user sets and activates the Service' do
context 'when the connection test succeeds' do context 'when the connection test succeeds' do
before do before do
stub_request(:head, url).to_return(headers: { 'Content-Type' => 'application/json' }) stub_request(:head, url).to_return(headers: { 'Content-Type' => 'application/json' })
click_link(tracker) click_link(tracker)
fill_form
if skip_new_issue_url
fill_short_form
else
fill_full_form
end
click_button('Test settings and save changes') click_button('Test settings and save changes')
wait_for_requests wait_for_requests
end end
...@@ -50,7 +62,13 @@ describe 'User activates issue tracker', :js do ...@@ -50,7 +62,13 @@ describe 'User activates issue tracker', :js do
stub_request(:head, url).to_raise(HTTParty::Error) stub_request(:head, url).to_raise(HTTParty::Error)
click_link(tracker) click_link(tracker)
fill_form
if skip_new_issue_url
fill_short_form
else
fill_full_form
end
click_button('Test settings and save changes') click_button('Test settings and save changes')
wait_for_requests wait_for_requests
...@@ -69,7 +87,13 @@ describe 'User activates issue tracker', :js do ...@@ -69,7 +87,13 @@ describe 'User activates issue tracker', :js do
describe 'user sets the service but keeps it disabled' do describe 'user sets the service but keeps it disabled' do
before do before do
click_link(tracker) click_link(tracker)
fill_form(false)
if skip_new_issue_url
fill_short_form(false)
else
fill_full_form(false)
end
click_button('Save changes') click_button('Save changes')
end end
...@@ -87,6 +111,7 @@ describe 'User activates issue tracker', :js do ...@@ -87,6 +111,7 @@ describe 'User activates issue tracker', :js do
end end
it_behaves_like 'external issue tracker activation', tracker: 'Redmine' it_behaves_like 'external issue tracker activation', tracker: 'Redmine'
it_behaves_like 'external issue tracker activation', tracker: 'YouTrack', skip_new_issue_url: true
it_behaves_like 'external issue tracker activation', tracker: 'Bugzilla' it_behaves_like 'external issue tracker activation', tracker: 'Bugzilla'
it_behaves_like 'external issue tracker activation', tracker: 'Custom Issue Tracker' it_behaves_like 'external issue tracker activation', tracker: 'Custom Issue Tracker'
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