Replace the 'project/service.feature' spinach test with an rspec analog
This commit is contained in:
parent
9e46a897f2
commit
0fc604e522
19 changed files with 347 additions and 338 deletions
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Replace the 'project/service.feature' spinach test with an rspec analog
|
||||
merge_request: 14432
|
||||
author: Vitaliy @blackst0ne Klachkov
|
||||
type: other
|
|
@ -1,87 +0,0 @@
|
|||
Feature: Project Services
|
||||
Background:
|
||||
Given I sign in as a user
|
||||
And I own project "Shop"
|
||||
|
||||
Scenario: I should see project services
|
||||
When I visit project "Shop" services page
|
||||
Then I should see list of available services
|
||||
|
||||
Scenario: Activate hipchat service
|
||||
When I visit project "Shop" services page
|
||||
And I click hipchat service link
|
||||
And I fill hipchat settings
|
||||
Then I should see the Hipchat success message
|
||||
|
||||
Scenario: Activate hipchat service with custom server
|
||||
When I visit project "Shop" services page
|
||||
And I click hipchat service link
|
||||
And I fill hipchat settings with custom server
|
||||
Then I should see the Hipchat success message
|
||||
|
||||
Scenario: Activate pivotaltracker service
|
||||
When I visit project "Shop" services page
|
||||
And I click pivotaltracker service link
|
||||
And I fill pivotaltracker settings
|
||||
Then I should see the Pivotaltracker success message
|
||||
|
||||
Scenario: Activate Flowdock service
|
||||
When I visit project "Shop" services page
|
||||
And I click Flowdock service link
|
||||
And I fill Flowdock settings
|
||||
Then I should see the Flowdock success message
|
||||
|
||||
Scenario: Activate Assembla service
|
||||
When I visit project "Shop" services page
|
||||
And I click Assembla service link
|
||||
And I fill Assembla settings
|
||||
Then I should see the Assembla success message
|
||||
|
||||
Scenario: Activate Slack notifications service
|
||||
When I visit project "Shop" services page
|
||||
And I click Slack notifications service link
|
||||
And I fill Slack notifications settings
|
||||
Then I should see the Slack notifications success message
|
||||
|
||||
Scenario: Activate Pushover service
|
||||
When I visit project "Shop" services page
|
||||
And I click Pushover service link
|
||||
And I fill Pushover settings
|
||||
Then I should see the Pushover success message
|
||||
|
||||
Scenario: Activate email on push service
|
||||
When I visit project "Shop" services page
|
||||
And I click email on push service link
|
||||
And I fill email on push settings
|
||||
Then I should see the Emails on push success message
|
||||
|
||||
Scenario: Activate JIRA service
|
||||
When I visit project "Shop" services page
|
||||
And I click jira service link
|
||||
And I fill jira settings
|
||||
Then I should see the JIRA success message
|
||||
|
||||
Scenario: Activate Irker (IRC Gateway) service
|
||||
When I visit project "Shop" services page
|
||||
And I click Irker service link
|
||||
And I fill Irker settings
|
||||
Then I should see the Irker success message
|
||||
|
||||
Scenario: Activate Atlassian Bamboo CI service
|
||||
When I visit project "Shop" services page
|
||||
And I click Atlassian Bamboo CI service link
|
||||
And I fill Atlassian Bamboo CI settings
|
||||
Then I should see the Bamboo success message
|
||||
And I should see empty field Change Password
|
||||
|
||||
Scenario: Activate jetBrains TeamCity CI service
|
||||
When I visit project "Shop" services page
|
||||
And I click jetBrains TeamCity CI service link
|
||||
And I fill jetBrains TeamCity CI settings
|
||||
Then I should see the JetBrains success message
|
||||
|
||||
Scenario: Activate Asana service
|
||||
When I visit project "Shop" services page
|
||||
And I click Asana service link
|
||||
And I fill Asana settings
|
||||
Then I should see the Asana success message
|
|
@ -1,224 +0,0 @@
|
|||
class Spinach::Features::ProjectServices < Spinach::FeatureSteps
|
||||
include SharedAuthentication
|
||||
include SharedProject
|
||||
include SharedPaths
|
||||
|
||||
step 'I visit project "Shop" services page' do
|
||||
visit project_settings_integrations_path(@project)
|
||||
end
|
||||
|
||||
step 'I should see list of available services' do
|
||||
expect(page).to have_content 'Project services'
|
||||
expect(page).to have_content 'Campfire'
|
||||
expect(page).to have_content 'HipChat'
|
||||
expect(page).to have_content 'Assembla'
|
||||
expect(page).to have_content 'Pushover'
|
||||
expect(page).to have_content 'Atlassian Bamboo'
|
||||
expect(page).to have_content 'JetBrains TeamCity'
|
||||
expect(page).to have_content 'Asana'
|
||||
expect(page).to have_content 'Irker (IRC gateway)'
|
||||
end
|
||||
|
||||
step 'I should see service settings saved' do
|
||||
expect(find_field('Active').value).to eq '1'
|
||||
end
|
||||
|
||||
step 'I click hipchat service link' do
|
||||
click_link 'HipChat'
|
||||
end
|
||||
|
||||
step 'I fill hipchat settings' do
|
||||
check 'Active'
|
||||
fill_in 'Room', with: 'gitlab'
|
||||
fill_in 'Token', with: 'verySecret'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the Hipchat success message' do
|
||||
expect(page).to have_content 'HipChat activated.'
|
||||
end
|
||||
|
||||
step 'I fill hipchat settings with custom server' do
|
||||
check 'Active'
|
||||
fill_in 'Room', with: 'gitlab_custom'
|
||||
fill_in 'Token', with: 'secretCustom'
|
||||
fill_in 'Server', with: 'https://chat.example.com'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I click pivotaltracker service link' do
|
||||
click_link 'PivotalTracker'
|
||||
end
|
||||
|
||||
step 'I fill pivotaltracker settings' do
|
||||
check 'Active'
|
||||
fill_in 'Token', with: 'verySecret'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the Pivotaltracker success message' do
|
||||
expect(page).to have_content 'PivotalTracker activated.'
|
||||
end
|
||||
|
||||
step 'I click Flowdock service link' do
|
||||
click_link 'Flowdock'
|
||||
end
|
||||
|
||||
step 'I fill Flowdock settings' do
|
||||
check 'Active'
|
||||
fill_in 'Token', with: 'verySecret'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the Flowdock success message' do
|
||||
expect(page).to have_content 'Flowdock activated.'
|
||||
end
|
||||
|
||||
step 'I click Assembla service link' do
|
||||
click_link 'Assembla'
|
||||
end
|
||||
|
||||
step 'I fill Assembla settings' do
|
||||
check 'Active'
|
||||
fill_in 'Token', with: 'verySecret'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the Assembla success message' do
|
||||
expect(page).to have_content 'Assembla activated.'
|
||||
end
|
||||
|
||||
step 'I click Asana service link' do
|
||||
click_link 'Asana'
|
||||
end
|
||||
|
||||
step 'I fill Asana settings' do
|
||||
check 'Active'
|
||||
fill_in 'Api key', with: 'verySecret'
|
||||
fill_in 'Restrict to branch', with: 'master'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the Asana success message' do
|
||||
expect(page).to have_content 'Asana activated.'
|
||||
end
|
||||
|
||||
step 'I click email on push service link' do
|
||||
click_link 'Emails on push'
|
||||
end
|
||||
|
||||
step 'I fill email on push settings' do
|
||||
check 'Active'
|
||||
fill_in 'Recipients', with: 'qa@company.name'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the Emails on push success message' do
|
||||
expect(page).to have_content 'Emails on push activated.'
|
||||
end
|
||||
|
||||
step 'I click Irker service link' do
|
||||
click_link 'Irker (IRC gateway)'
|
||||
end
|
||||
|
||||
step 'I fill Irker settings' do
|
||||
check 'Active'
|
||||
fill_in 'Recipients', with: 'irc://chat.freenode.net/#commits'
|
||||
check 'Colorize messages'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the Irker success message' do
|
||||
expect(page).to have_content 'Irker (IRC gateway) activated.'
|
||||
end
|
||||
|
||||
step 'I click Slack notifications service link' do
|
||||
click_link 'Slack notifications'
|
||||
end
|
||||
|
||||
step 'I fill Slack notifications settings' do
|
||||
check 'Active'
|
||||
fill_in 'Webhook', with: 'https://hooks.slack.com/services/SVRWFV0VVAR97N/B02R25XN3/ZBqu7xMupaEEICInN685'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the Slack notifications success message' do
|
||||
expect(page).to have_content 'Slack notifications activated.'
|
||||
end
|
||||
|
||||
step 'I click Pushover service link' do
|
||||
click_link 'Pushover'
|
||||
end
|
||||
|
||||
step 'I fill Pushover settings' do
|
||||
check 'Active'
|
||||
fill_in 'Api key', with: 'verySecret'
|
||||
fill_in 'User key', with: 'verySecret'
|
||||
fill_in 'Device', with: 'myDevice'
|
||||
select 'High Priority', from: 'Priority'
|
||||
select 'Bike', from: 'Sound'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the Pushover success message' do
|
||||
expect(page).to have_content 'Pushover activated.'
|
||||
end
|
||||
|
||||
step 'I click jira service link' do
|
||||
click_link 'JIRA'
|
||||
end
|
||||
|
||||
step 'I fill jira settings' do
|
||||
check 'Active'
|
||||
|
||||
fill_in 'Web URL', with: 'http://jira.example'
|
||||
fill_in 'JIRA API URL', with: 'http://jira.example/api'
|
||||
fill_in 'Username', with: 'gitlab'
|
||||
fill_in 'Password', with: 'gitlab'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the JIRA success message' do
|
||||
expect(page).to have_content 'JIRA activated.'
|
||||
end
|
||||
|
||||
step 'I click Atlassian Bamboo CI service link' do
|
||||
click_link 'Atlassian Bamboo CI'
|
||||
end
|
||||
|
||||
step 'I fill Atlassian Bamboo CI settings' do
|
||||
check 'Active'
|
||||
fill_in 'Bamboo url', with: 'http://bamboo.example.com'
|
||||
fill_in 'Build key', with: 'KEY'
|
||||
fill_in 'Username', with: 'user'
|
||||
fill_in 'Password', with: 'verySecret'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the Bamboo success message' do
|
||||
expect(page).to have_content 'Atlassian Bamboo CI activated.'
|
||||
end
|
||||
|
||||
step 'I should see empty field Change Password' do
|
||||
click_link 'Atlassian Bamboo CI'
|
||||
|
||||
expect(find_field('Enter new password').value).to be_nil
|
||||
end
|
||||
|
||||
step 'I click JetBrains TeamCity CI service link' do
|
||||
click_link 'JetBrains TeamCity CI'
|
||||
end
|
||||
|
||||
step 'I fill JetBrains TeamCity CI settings' do
|
||||
check 'Active'
|
||||
fill_in 'Teamcity url', with: 'http://teamcity.example.com'
|
||||
fill_in 'Build type', with: 'GitlabTest_Build'
|
||||
fill_in 'Username', with: 'user'
|
||||
fill_in 'Password', with: 'verySecret'
|
||||
click_button 'Save'
|
||||
end
|
||||
|
||||
step 'I should see the JetBrains success message' do
|
||||
expect(page).to have_content 'JetBrains TeamCity CI activated.'
|
||||
end
|
||||
end
|
|
@ -1,26 +0,0 @@
|
|||
require 'spec_helper'
|
||||
|
||||
feature 'Projects > Slack service > Setup events' do
|
||||
let(:user) { create(:user) }
|
||||
let(:service) { SlackService.new }
|
||||
let(:project) { create(:project, slack_service: service) }
|
||||
|
||||
background do
|
||||
service.fields
|
||||
service.update_attributes(push_channel: 1, issue_channel: 2, merge_request_channel: 3, note_channel: 4, tag_push_channel: 5, pipeline_channel: 6, wiki_page_channel: 7)
|
||||
project.team << [user, :master]
|
||||
sign_in(user)
|
||||
end
|
||||
|
||||
scenario 'user can filter events by channel' do
|
||||
visit edit_project_service_path(project, service)
|
||||
|
||||
expect(page.find_field("service_push_channel").value).to have_content '1'
|
||||
expect(page.find_field("service_issue_channel").value).to have_content '2'
|
||||
expect(page.find_field("service_merge_request_channel").value).to have_content '3'
|
||||
expect(page.find_field("service_note_channel").value).to have_content '4'
|
||||
expect(page.find_field("service_tag_push_channel").value).to have_content '5'
|
||||
expect(page.find_field("service_pipeline_channel").value).to have_content '6'
|
||||
expect(page.find_field("service_wiki_page_channel").value).to have_content '7'
|
||||
end
|
||||
end
|
24
spec/features/projects/services/user_activates_asana_spec.rb
Normal file
24
spec/features/projects/services/user_activates_asana_spec.rb
Normal file
|
@ -0,0 +1,24 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User activates Asana' do
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(project_settings_integrations_path(project))
|
||||
|
||||
click_link('Asana')
|
||||
end
|
||||
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
fill_in('Api key', with: 'verySecret')
|
||||
fill_in('Restrict to branch', with: 'verySecret')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('Asana activated.')
|
||||
end
|
||||
end
|
|
@ -0,0 +1,23 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User activates Assembla' do
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(project_settings_integrations_path(project))
|
||||
|
||||
click_link('Assembla')
|
||||
end
|
||||
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
fill_in('Token', with: 'verySecret')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('Assembla activated.')
|
||||
end
|
||||
end
|
|
@ -0,0 +1,31 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User activates Atlassian Bamboo CI' do
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(project_settings_integrations_path(project))
|
||||
|
||||
click_link('Atlassian Bamboo CI')
|
||||
end
|
||||
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
fill_in('Bamboo url', with: 'http://bamboo.example.com')
|
||||
fill_in('Build key', with: 'KEY')
|
||||
fill_in('Username', with: 'user')
|
||||
fill_in('Password', with: 'verySecret')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('Atlassian Bamboo CI activated.')
|
||||
|
||||
# Password field should not be filled in.
|
||||
click_link('Atlassian Bamboo CI')
|
||||
|
||||
expect(find_field('Enter new password').value).to be_nil
|
||||
end
|
||||
end
|
|
@ -0,0 +1,23 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User activates Emails on push' do
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(project_settings_integrations_path(project))
|
||||
|
||||
click_link('Emails on push')
|
||||
end
|
||||
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
fill_in('Recipients', with: 'qa@company.name')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('Emails on push activated.')
|
||||
end
|
||||
end
|
|
@ -0,0 +1,23 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User activates Flowdock' do
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(project_settings_integrations_path(project))
|
||||
|
||||
click_link('Flowdock')
|
||||
end
|
||||
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
fill_in('Token', with: 'verySecret')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('Flowdock activated.')
|
||||
end
|
||||
end
|
|
@ -0,0 +1,38 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User activates HipChat' do
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(project_settings_integrations_path(project))
|
||||
|
||||
click_link('HipChat')
|
||||
end
|
||||
|
||||
context 'with standart settings' do
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
fill_in('Room', with: 'gitlab')
|
||||
fill_in('Token', with: 'verySecret')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('HipChat activated.')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with custom settings' do
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
fill_in('Room', with: 'gitlab_custom')
|
||||
fill_in('Token', with: 'secretCustom')
|
||||
fill_in('Server', with: 'https://chat.example.com')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('HipChat activated.')
|
||||
end
|
||||
end
|
||||
end
|
24
spec/features/projects/services/user_activates_irker_spec.rb
Normal file
24
spec/features/projects/services/user_activates_irker_spec.rb
Normal file
|
@ -0,0 +1,24 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User activates Irker (IRC gateway)' do
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(project_settings_integrations_path(project))
|
||||
|
||||
click_link('Irker (IRC gateway)')
|
||||
end
|
||||
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
check('Colorize messages')
|
||||
fill_in('Recipients', with: 'irc://chat.freenode.net/#commits')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('Irker (IRC gateway) activated.')
|
||||
end
|
||||
end
|
|
@ -0,0 +1,26 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User activates JetBrains TeamCity CI' do
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(project_settings_integrations_path(project))
|
||||
|
||||
click_link('JetBrains TeamCity CI')
|
||||
end
|
||||
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
fill_in('Teamcity url', with: 'http://teamcity.example.com')
|
||||
fill_in('Build type', with: 'GitlabTest_Build')
|
||||
fill_in('Username', with: 'user')
|
||||
fill_in('Password', with: 'verySecret')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('JetBrains TeamCity CI activated.')
|
||||
end
|
||||
end
|
|
@ -1,6 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
feature 'Setup Jira service', :js do
|
||||
describe 'User activates Jira', :js do
|
||||
let(:user) { create(:user) }
|
||||
let(:project) { create(:project) }
|
||||
let(:service) { project.create_jira_service }
|
|
@ -0,0 +1,23 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User activates PivotalTracker' do
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(project_settings_integrations_path(project))
|
||||
|
||||
click_link('PivotalTracker')
|
||||
end
|
||||
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
fill_in('Token', with: 'verySecret')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('PivotalTracker activated.')
|
||||
end
|
||||
end
|
|
@ -0,0 +1,27 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User activates Pushover' do
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(project_settings_integrations_path(project))
|
||||
|
||||
click_link('Pushover')
|
||||
end
|
||||
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
fill_in('Api key', with: 'verySecret')
|
||||
fill_in('User key', with: 'verySecret')
|
||||
fill_in('Device', with: 'myDevice')
|
||||
select('High Priority', from: 'Priority')
|
||||
select('Bike', from: 'Sound')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('Pushover activated.')
|
||||
end
|
||||
end
|
|
@ -0,0 +1,54 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User activates Slack notifications' do
|
||||
let(:user) { create(:user) }
|
||||
let(:service) { SlackService.new }
|
||||
let(:project) { create(:project, slack_service: service) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
end
|
||||
|
||||
context 'when service is not configured yet' do
|
||||
before do
|
||||
visit(project_settings_integrations_path(project))
|
||||
|
||||
click_link('Slack notifications')
|
||||
end
|
||||
|
||||
it 'activates service' do
|
||||
check('Active')
|
||||
fill_in('Webhook', with: 'https://hooks.slack.com/services/SVRWFV0VVAR97N/B02R25XN3/ZBqu7xMupaEEICInN685')
|
||||
click_button('Save')
|
||||
|
||||
expect(page).to have_content('Slack notifications activated.')
|
||||
end
|
||||
end
|
||||
|
||||
context 'when service is already configured' do
|
||||
before do
|
||||
service.fields
|
||||
service.update_attributes(
|
||||
push_channel: 1,
|
||||
issue_channel: 2,
|
||||
merge_request_channel: 3,
|
||||
note_channel: 4,
|
||||
tag_push_channel: 5,
|
||||
pipeline_channel: 6,
|
||||
wiki_page_channel: 7)
|
||||
|
||||
visit(edit_project_service_path(project, service))
|
||||
end
|
||||
|
||||
it 'filters events by channel' do
|
||||
expect(page.find_field('service_push_channel').value).to have_content('1')
|
||||
expect(page.find_field('service_issue_channel').value).to have_content('2')
|
||||
expect(page.find_field('service_merge_request_channel').value).to have_content('3')
|
||||
expect(page.find_field('service_note_channel').value).to have_content('4')
|
||||
expect(page.find_field('service_tag_push_channel').value).to have_content('5')
|
||||
expect(page.find_field('service_pipeline_channel').value).to have_content('6')
|
||||
expect(page.find_field('service_wiki_page_channel').value).to have_content('7')
|
||||
end
|
||||
end
|
||||
end
|
25
spec/features/projects/services/user_views_services_spec.rb
Normal file
25
spec/features/projects/services/user_views_services_spec.rb
Normal file
|
@ -0,0 +1,25 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User views services' do
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_master(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(project_settings_integrations_path(project))
|
||||
end
|
||||
|
||||
it 'shows the list of available services' do
|
||||
expect(page).to have_content('Project services')
|
||||
expect(page).to have_content('Campfire')
|
||||
expect(page).to have_content('HipChat')
|
||||
expect(page).to have_content('Assembla')
|
||||
expect(page).to have_content('Pushover')
|
||||
expect(page).to have_content('Atlassian Bamboo')
|
||||
expect(page).to have_content('JetBrains TeamCity')
|
||||
expect(page).to have_content('Asana')
|
||||
expect(page).to have_content('Irker (IRC gateway)')
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue