Skip to content
Snippets Groups Projects
Commit 0469e7df authored by jurre's avatar jurre
Browse files

Move admin settings spinach feature to rspec

parent df629173
No related branches found
No related tags found
No related merge requests found
@admin
Feature: Admin Settings
Background:
Given I sign in as an admin
And I visit admin settings page
Scenario: Change application settings
When I modify settings and save form
Then I should see application settings saved
Scenario: Change Slack Service Template settings
When I click on "Service Templates"
And I click on "Slack" service
And I fill out Slack settings
Then I check all events and submit form
And I should see service template settings saved
Then I click on "Slack" service
And I should see all checkboxes checked
And I should see Slack settings saved
Loading
Loading
@@ -203,10 +203,6 @@ module SharedPaths
visit admin_teams_path
end
 
step 'I visit admin settings page' do
visit admin_application_settings_path
end
step 'I visit spam logs page' do
visit admin_spam_logs_path
end
Loading
Loading
class Spinach::Features::AdminSettings < Spinach::FeatureSteps
include SharedAuthentication
include SharedPaths
include SharedAdmin
include Gitlab::CurrentSettings
require 'spec_helper'
 
step 'I modify settings and save form' do
feature 'Admin updates settings', feature: true do
before(:each) do
login_as :admin
visit admin_application_settings_path
end
scenario 'Change application settings' do
uncheck 'Gravatar enabled'
fill_in 'Home page URL', with: 'https://about.gitlab.com/'
fill_in 'Help page text', with: 'Example text'
click_button 'Save'
end
 
step 'I should see application settings saved' do
expect(current_application_settings.gravatar_enabled).to be_falsey
expect(current_application_settings.home_page_url).to eq "https://about.gitlab.com/"
expect(page).to have_content "Application settings saved successfully"
end
 
step 'I click on "Service Templates"' do
scenario 'Change Slack Service template settings' do
click_link 'Service Templates'
end
step 'I click on "Slack" service' do
click_link 'Slack'
end
step 'I check all events and submit form' do
page.check('Active')
page.check('Push')
page.check('Tag push')
page.check('Note')
page.check('Issue')
page.check('Merge request')
page.check('Build')
page.check('Pipeline')
click_on 'Save'
end
step 'I fill out Slack settings' do
fill_in 'Webhook', with: 'http://localhost'
fill_in 'Username', with: 'test_user'
fill_in 'service_push_channel', with: '#test_channel'
page.check('Notify only broken builds')
end
 
step 'I should see service template settings saved' do
check_all_events
click_on 'Save'
expect(page).to have_content 'Application settings saved successfully'
end
 
step 'I should see all checkboxes checked' do
click_link 'Slack'
page.all('input[type=checkbox]').each do |checkbox|
expect(checkbox).to be_checked
end
end
step 'I should see Slack settings saved' do
expect(find_field('Webhook').value).to eq 'http://localhost'
expect(find_field('Username').value).to eq 'test_user'
expect(find('#service_push_channel').value).to eq '#test_channel'
end
def check_all_events
page.check('Active')
page.check('Push')
page.check('Tag push')
page.check('Note')
page.check('Issue')
page.check('Merge request')
page.check('Build')
page.check('Pipeline')
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment