diff --git a/features/admin/settings.feature b/features/admin/settings.feature
deleted file mode 100644
index e38eea2cfed7cbbe63f139310a35659117041ec6..0000000000000000000000000000000000000000
--- a/features/admin/settings.feature
+++ /dev/null
@@ -1,19 +0,0 @@
-@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
diff --git a/features/steps/shared/paths.rb b/features/steps/shared/paths.rb
index 2bd8ea745e47abadca0472a99eb3e09533838a94..d36eff5cf16d647bdec52741fcc35b3c07e37538 100644
--- a/features/steps/shared/paths.rb
+++ b/features/steps/shared/paths.rb
@@ -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
diff --git a/features/steps/admin/settings.rb b/spec/features/admin/admin_settings_spec.rb
similarity index 67%
rename from features/steps/admin/settings.rb
rename to spec/features/admin/admin_settings_spec.rb
index 11dc7f580f03293119157ba1a3cd72744d8907de..8cd66f189bec5e018c92feecd20ac0c7689dc172 100644
--- a/features/steps/admin/settings.rb
+++ b/spec/features/admin/admin_settings_spec.rb
@@ -1,62 +1,53 @@
-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