diff --git a/.rubocop.yml b/.rubocop.yml
index 4e6ced4e1ab0b4f04e9abced31efc7e5c7007e47..9fc1e7d0faf3db4fb0a52cfdfeb5b43d50843852 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -1130,7 +1130,7 @@ RSpec/MultipleDescribes:
 # Enforces the usage of the same method on all negative message expectations.
 RSpec/NotToNot:
   EnforcedStyle: not_to
-  Enabled: false
+  Enabled: true
 
 # Prefer using verifying doubles over normal doubles.
 RSpec/VerifiedDoubles:
diff --git a/doc/development/testing.md b/doc/development/testing.md
index 33eed29ba5c4a08b8b23886947df2c76ea701be9..513457d203a4875d75d6618c48391a9765ea5290 100644
--- a/doc/development/testing.md
+++ b/doc/development/testing.md
@@ -65,7 +65,7 @@ the command line via `bundle exec teaspoon`, or via a web browser at
 - Use `context` to test branching logic.
 - Don't `describe` symbols (see [Gotchas](gotchas.md#dont-describe-symbols)).
 - Don't supply the `:each` argument to hooks since it's the default.
-- Prefer `not_to` to `to_not`.
+- Prefer `not_to` to `to_not` (_this is enforced by Rubocop_).
 - Try to match the ordering of tests to the ordering within the class.
 - Try to follow the [Four-Phase Test][four-phase-test] pattern, using newlines
   to separate phases.
diff --git a/features/steps/admin/users.rb b/features/steps/admin/users.rb
index 4bc290b6bdfe70b531ab94a043123981c13d3b62..8fb8a86d58b1f84dab98990f4d2a001b8f973212 100644
--- a/features/steps/admin/users.rb
+++ b/features/steps/admin/users.rb
@@ -158,7 +158,7 @@ class Spinach::Features::AdminUsers < Spinach::FeatureSteps
 
   step 'I should not see twitter details' do
     expect(page).to have_content 'Pete'
-    expect(page).to_not have_content 'twitter'
+    expect(page).not_to have_content 'twitter'
   end
 
   step 'click on ssh keys tab' do
diff --git a/features/steps/dashboard/todos.rb b/features/steps/dashboard/todos.rb
index 2b23df6764b7bf14c7d316ce2950de4b3b1984cf..d3b6c7f6a15c6b25901a5b7153ce1e7021f131a8 100644
--- a/features/steps/dashboard/todos.rb
+++ b/features/steps/dashboard/todos.rb
@@ -106,7 +106,7 @@ class Spinach::Features::DashboardTodos < Spinach::FeatureSteps
       if pending
         expect(page).to have_link 'Done'
       else
-        expect(page).to_not have_link 'Done'
+        expect(page).not_to have_link 'Done'
       end
     end
   end
diff --git a/features/steps/project/commits/commits.rb b/features/steps/project/commits/commits.rb
index f33f37be95149acd91cd2cf7a90f66353992ab27..e1b29f1e57a99c6fd9ab720926832e70dac224e5 100644
--- a/features/steps/project/commits/commits.rb
+++ b/features/steps/project/commits/commits.rb
@@ -105,7 +105,7 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps
   end
 
   step 'I should not see button to create a new merge request' do
-    expect(page).to_not have_link 'Create Merge Request'
+    expect(page).not_to have_link 'Create Merge Request'
   end
 
   step 'I should see button to the merge request' do
diff --git a/features/steps/project/issues/award_emoji.rb b/features/steps/project/issues/award_emoji.rb
index c5d45709b445675d6e6dde3ce0662c9ced86a87b..1b14659b4dfb7ccdedba8a383e13c46c731bf6b3 100644
--- a/features/steps/project/issues/award_emoji.rb
+++ b/features/steps/project/issues/award_emoji.rb
@@ -39,8 +39,8 @@ class Spinach::Features::AwardEmoji < Spinach::FeatureSteps
 
   step 'I can see the activity and food categories' do
     page.within '.emoji-menu' do
-      expect(page).to_not have_selector 'Activity'
-      expect(page).to_not have_selector 'Food'
+      expect(page).not_to have_selector 'Activity'
+      expect(page).not_to have_selector 'Food'
     end
   end
 
diff --git a/features/steps/project/issues/issues.rb b/features/steps/project/issues/issues.rb
index fc12843ea5ca4a3a692388604107aaaed1366e8b..f2c68f007ef0d3d79e52500f97b509c3c3747d0f 100644
--- a/features/steps/project/issues/issues.rb
+++ b/features/steps/project/issues/issues.rb
@@ -216,7 +216,7 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
 
       page.within 'li.issue:nth-child(3)' do
         expect(page).to have_content 'Bugfix'
-        expect(page).to_not have_content '0 0'
+        expect(page).not_to have_content '0 0'
       end
     end
   end
@@ -235,7 +235,7 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
 
       page.within 'li.issue:nth-child(3)' do
         expect(page).to have_content 'Bugfix'
-        expect(page).to_not have_content '0 0'
+        expect(page).not_to have_content '0 0'
       end
     end
   end
diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb
index b79d19f1c585450be6af8b85077bd606d947d37e..cfa586f859f6832d03fbf87e6f7f042efb42e5e5 100644
--- a/features/steps/project/merge_requests.rb
+++ b/features/steps/project/merge_requests.rb
@@ -203,7 +203,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
 
       page.within 'li.merge-request:nth-child(3)' do
         expect(page).to have_content 'Bug NS-05'
-        expect(page).to_not have_content '0 0'
+        expect(page).not_to have_content '0 0'
       end
     end
   end
@@ -222,7 +222,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
 
       page.within 'li.merge-request:nth-child(3)' do
         expect(page).to have_content 'Bug NS-05'
-        expect(page).to_not have_content '0 0'
+        expect(page).not_to have_content '0 0'
       end
     end
   end
diff --git a/features/steps/shared/note.rb b/features/steps/shared/note.rb
index a3c3887ab4600ec0acd1f25a8f815a318f43f479..3d7c6ef9d2db0636078f63e2c04696eac4027585 100644
--- a/features/steps/shared/note.rb
+++ b/features/steps/shared/note.rb
@@ -107,7 +107,7 @@ module SharedNote
   end
 
   step 'I should see no notes at all' do
-    expect(page).to_not have_css('.note')
+    expect(page).not_to have_css('.note')
   end
 
   # Markdown
diff --git a/spec/controllers/admin/projects_controller_spec.rb b/spec/controllers/admin/projects_controller_spec.rb
index 2ba0d4891978de11bdc87b3595764818b8d6908e..4cb8b8da15019a98d778af0d462a2db9750f44b2 100644
--- a/spec/controllers/admin/projects_controller_spec.rb
+++ b/spec/controllers/admin/projects_controller_spec.rb
@@ -17,7 +17,7 @@ describe Admin::ProjectsController do
 
     it 'does not retrieve the project' do
       get :index, visibility_levels: [Gitlab::VisibilityLevel::INTERNAL]
-      expect(response.body).to_not match(project.name)
+      expect(response.body).not_to match(project.name)
     end
   end
 end
diff --git a/spec/controllers/projects/compare_controller_spec.rb b/spec/controllers/projects/compare_controller_spec.rb
index 788a609ee40230f53ced6c455fc136a761f54ec9..4018dac95a2e93b5f01d3c78ae58d1d038c99f5c 100644
--- a/spec/controllers/projects/compare_controller_spec.rb
+++ b/spec/controllers/projects/compare_controller_spec.rb
@@ -19,7 +19,7 @@ describe Projects::CompareController do
         to: ref_to)
 
     expect(response).to be_success
-    expect(assigns(:diffs).first).to_not be_nil
+    expect(assigns(:diffs).first).not_to be_nil
     expect(assigns(:commits).length).to be >= 1
   end
 
@@ -32,7 +32,7 @@ describe Projects::CompareController do
         w: 1)
 
     expect(response).to be_success
-    expect(assigns(:diffs).first).to_not be_nil
+    expect(assigns(:diffs).first).not_to be_nil
     expect(assigns(:commits).length).to be >= 1
     # without whitespace option, there are more than 2 diff_splits
     diff_splits = assigns(:diffs).first.diff.split("\n")
diff --git a/spec/controllers/projects/group_links_controller_spec.rb b/spec/controllers/projects/group_links_controller_spec.rb
index 1bd1fc5189e6036cfc0477c98cbd8d792f4b9cb8..fbe8758dda7333839c1c863c596cb91341faa3a1 100644
--- a/spec/controllers/projects/group_links_controller_spec.rb
+++ b/spec/controllers/projects/group_links_controller_spec.rb
@@ -43,7 +43,7 @@ describe Projects::GroupLinksController do
       end
 
       it 'does not share project with that group' do
-        expect(group.shared_projects).to_not include project
+        expect(group.shared_projects).not_to include project
       end
     end
   end
diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb
index 2b2ad3b9412ab3a78b2fc3fc03b0e9c1c98bb59c..c469480b086e837b3a3f134fbc862bef82867117 100644
--- a/spec/controllers/projects/issues_controller_spec.rb
+++ b/spec/controllers/projects/issues_controller_spec.rb
@@ -56,7 +56,7 @@ describe Projects::IssuesController do
           move_issue
 
           expect(response).to have_http_status :found
-          expect(another_project.issues).to_not be_empty
+          expect(another_project.issues).not_to be_empty
         end
       end
 
diff --git a/spec/controllers/projects/project_members_controller_spec.rb b/spec/controllers/projects/project_members_controller_spec.rb
index ed64e7cf9af67b8c6388907b529e6ae38103a4a9..750fbecdd0710518f1f3bb57f4588a5ec38095a3 100644
--- a/spec/controllers/projects/project_members_controller_spec.rb
+++ b/spec/controllers/projects/project_members_controller_spec.rb
@@ -38,7 +38,7 @@ describe Projects::ProjectMembersController do
       include_context 'import applied'
 
       it 'does not import team members' do
-        expect(project.team_members).to_not include member
+        expect(project.team_members).not_to include member
       end
 
       it 'responds with not found' do
diff --git a/spec/controllers/registrations_controller_spec.rb b/spec/controllers/registrations_controller_spec.rb
index df70a589a89cb7a7b620652d3720a0252b38410d..fbe50d10ec528fb89749ee131f8bc94a508f7b5f 100644
--- a/spec/controllers/registrations_controller_spec.rb
+++ b/spec/controllers/registrations_controller_spec.rb
@@ -16,7 +16,7 @@ describe RegistrationsController do
       it 'logs user in directly' do
         post(:create, user_params)
         expect(ActionMailer::Base.deliveries.last).to be_nil
-        expect(subject.current_user).to_not be_nil
+        expect(subject.current_user).not_to be_nil
       end
     end
 
diff --git a/spec/controllers/sessions_controller_spec.rb b/spec/controllers/sessions_controller_spec.rb
index 83cc8ec6d26dc0fa00a8c177f261dd5e4cfd7c91..ab57c52c7cd5da17662872e815e1719feaacb35f 100644
--- a/spec/controllers/sessions_controller_spec.rb
+++ b/spec/controllers/sessions_controller_spec.rb
@@ -47,7 +47,7 @@ describe SessionsController do
               authenticate_2fa(login: another_user.username,
                                otp_attempt: another_user.current_otp)
 
-              expect(subject.current_user).to_not eq another_user
+              expect(subject.current_user).not_to eq another_user
             end
           end
 
@@ -56,7 +56,7 @@ describe SessionsController do
               authenticate_2fa(login: another_user.username,
                                otp_attempt: 'invalid')
 
-              expect(subject.current_user).to_not eq another_user
+              expect(subject.current_user).not_to eq another_user
             end
           end
 
@@ -73,7 +73,7 @@ describe SessionsController do
               before { authenticate_2fa(otp_attempt: 'invalid') }
 
               it 'does not authenticate' do
-                expect(subject.current_user).to_not eq user
+                expect(subject.current_user).not_to eq user
               end
 
               it 'warns about invalid OTP code' do
diff --git a/spec/factories_spec.rb b/spec/factories_spec.rb
index a073a1f9d7cfb47a85842047a2c82d54ef141a53..675d9bd18b7aa9e1f538112e528e321c8ca5b641 100644
--- a/spec/factories_spec.rb
+++ b/spec/factories_spec.rb
@@ -6,7 +6,7 @@ describe 'factories' do
       let(:entity) { build(factory.name) }
 
       it 'does not raise error when created' do
-        expect { entity }.to_not raise_error
+        expect { entity }.not_to raise_error
       end
 
       it 'should be valid', if: factory.build_class < ActiveRecord::Base do
diff --git a/spec/features/admin/admin_runners_spec.rb b/spec/features/admin/admin_runners_spec.rb
index 26d03944b8a24dd811e1a6da96f05b73118ae215..8ebd4a6808eef4337d3bfb99dfd32c9f89676b79 100644
--- a/spec/features/admin/admin_runners_spec.rb
+++ b/spec/features/admin/admin_runners_spec.rb
@@ -79,7 +79,7 @@ describe "Admin Runners" do
       end
 
       it 'changes registration token' do
-        expect(page_token).to_not eq token
+        expect(page_token).not_to eq token
       end
     end
   end
diff --git a/spec/features/admin/admin_users_spec.rb b/spec/features/admin/admin_users_spec.rb
index 6dee0cd8d47d63c479255c1e7f791e358f86d19d..96621843b30940020676fae2e2f8c5d65163c2d7 100644
--- a/spec/features/admin/admin_users_spec.rb
+++ b/spec/features/admin/admin_users_spec.rb
@@ -152,7 +152,7 @@ describe "Admin::Users", feature: true  do
         it 'sees impersonation log out icon' do
           icon = first('.fa.fa-user-secret')
 
-          expect(icon).to_not eql nil
+          expect(icon).not_to eql nil
         end
 
         it 'can log out of impersonated user back to original user' do
diff --git a/spec/features/builds_spec.rb b/spec/features/builds_spec.rb
index f83a78308e37555c8a625c44e60876518faf5b26..716c4accf431cc359224ea1edf939a27754e747d 100644
--- a/spec/features/builds_spec.rb
+++ b/spec/features/builds_spec.rb
@@ -47,7 +47,7 @@ describe "Builds" do
       it { expect(page).to have_content @build.short_sha }
       it { expect(page).to have_content @build.ref }
       it { expect(page).to have_content @build.name }
-      it { expect(page).to_not have_link 'Cancel running' }
+      it { expect(page).not_to have_link 'Cancel running' }
     end
   end
 
@@ -63,7 +63,7 @@ describe "Builds" do
     it { expect(page).to have_content @build.short_sha }
     it { expect(page).to have_content @build.ref }
     it { expect(page).to have_content @build.name }
-    it { expect(page).to_not have_link 'Cancel running' }
+    it { expect(page).not_to have_link 'Cancel running' }
   end
 
   describe "GET /:project/builds/:id" do
diff --git a/spec/features/commits_spec.rb b/spec/features/commits_spec.rb
index dacaa96d76046be29bdb43ada3c29f5d757a92c2..20f0b27bcc136d8a34c2aff7b4477f3ec61cd5b2 100644
--- a/spec/features/commits_spec.rb
+++ b/spec/features/commits_spec.rb
@@ -137,8 +137,8 @@ describe 'Commits' do
           expect(page).to have_content commit.git_commit_message
           expect(page).to have_content commit.git_author_name
           expect(page).to have_link('Download artifacts')
-          expect(page).to_not have_link('Cancel running')
-          expect(page).to_not have_link('Retry failed')
+          expect(page).not_to have_link('Cancel running')
+          expect(page).not_to have_link('Retry failed')
         end
       end
 
@@ -155,9 +155,9 @@ describe 'Commits' do
           expect(page).to have_content commit.sha[0..7]
           expect(page).to have_content commit.git_commit_message
           expect(page).to have_content commit.git_author_name
-          expect(page).to_not have_link('Download artifacts')
-          expect(page).to_not have_link('Cancel running')
-          expect(page).to_not have_link('Retry failed')
+          expect(page).not_to have_link('Download artifacts')
+          expect(page).not_to have_link('Cancel running')
+          expect(page).not_to have_link('Retry failed')
         end
       end
     end
diff --git a/spec/features/issues/update_issues_spec.rb b/spec/features/issues/update_issues_spec.rb
index b03dd0f666df56392a78b3492a602ab193bc8b30..466a6f7dfa70757e4ab6a21818dc86f5a3ef8291 100644
--- a/spec/features/issues/update_issues_spec.rb
+++ b/spec/features/issues/update_issues_spec.rb
@@ -95,7 +95,7 @@ feature 'Multiple issue updating from issues#index', feature: true do
       find('.dropdown-menu-milestone a', text: "No Milestone").click
       click_update_issues_button
 
-      expect(first('.issue')).to_not have_content milestone.title
+      expect(first('.issue')).not_to have_content milestone.title
     end
   end
 
diff --git a/spec/features/pipelines_spec.rb b/spec/features/pipelines_spec.rb
index 1d6f4485c816b001553adf84584175f595087a99..bef0578a9bb793906ae6a3115c5a15298f6ea02f 100644
--- a/spec/features/pipelines_spec.rb
+++ b/spec/features/pipelines_spec.rb
@@ -41,7 +41,7 @@ describe "Pipelines" do
       context 'when canceling' do
         before { click_link('Cancel') }
 
-        it { expect(page).to_not have_link('Cancel') }
+        it { expect(page).not_to have_link('Cancel') }
         it { expect(page).to have_selector('.ci-canceled') }
       end
     end
@@ -57,7 +57,7 @@ describe "Pipelines" do
       context 'when retrying' do
         before { click_link('Retry') }
 
-        it { expect(page).to_not have_link('Retry') }
+        it { expect(page).not_to have_link('Retry') }
         it { expect(page).to have_selector('.ci-pending') }
       end
     end
@@ -75,7 +75,7 @@ describe "Pipelines" do
       context 'without artifacts' do
         let!(:without_artifacts) { create(:ci_build, :success, commit: pipeline, name: 'rspec', stage: 'test') }
 
-        it { expect(page).to_not have_selector('.build-artifacts') }
+        it { expect(page).not_to have_selector('.build-artifacts') }
       end
     end
   end
@@ -104,23 +104,23 @@ describe "Pipelines" do
     end
 
     context 'retrying builds' do
-      it { expect(page).to_not have_content('retried') }
+      it { expect(page).not_to have_content('retried') }
 
       context 'when retrying' do
         before { click_on 'Retry failed' }
 
-        it { expect(page).to_not have_content('Retry failed') }
+        it { expect(page).not_to have_content('Retry failed') }
         it { expect(page).to have_content('retried') }
       end
     end
 
     context 'canceling builds' do
-      it { expect(page).to_not have_selector('.ci-canceled') }
+      it { expect(page).not_to have_selector('.ci-canceled') }
 
       context 'when canceling' do
         before { click_on 'Cancel running' }
 
-        it { expect(page).to_not have_content('Cancel running') }
+        it { expect(page).not_to have_content('Cancel running') }
         it { expect(page).to have_selector('.ci-canceled') }
       end
     end
diff --git a/spec/features/runners_spec.rb b/spec/features/runners_spec.rb
index 49156130ad335bde9ae550683741c26f955c152e..a5ed3595b0a441b341f02baf2f06bdb1228cb1e9 100644
--- a/spec/features/runners_spec.rb
+++ b/spec/features/runners_spec.rb
@@ -29,8 +29,8 @@ describe "Runners" do
     end
 
     before do
-      expect(page).to_not have_content(@specific_runner3.display_name)
-      expect(page).to_not have_content(@specific_runner3.display_name)
+      expect(page).not_to have_content(@specific_runner3.display_name)
+      expect(page).not_to have_content(@specific_runner3.display_name)
     end
 
     it "places runners in right places" do
diff --git a/spec/features/variables_spec.rb b/spec/features/variables_spec.rb
index 48e2dae4884063df6c5909f2a5c07f382c74ebe1..a2b8f7b6931ffb5c9786a48b37aecc633b4ed09e 100644
--- a/spec/features/variables_spec.rb
+++ b/spec/features/variables_spec.rb
@@ -34,7 +34,7 @@ describe 'Project variables', js: true do
       find('.btn-variable-delete').click
     end
 
-    expect(page).to_not have_selector('variables-table')
+    expect(page).not_to have_selector('variables-table')
   end
 
   it 'should edit variable' do
diff --git a/spec/helpers/auth_helper_spec.rb b/spec/helpers/auth_helper_spec.rb
index 16fbb5dcecb1c023cfbf7a4e4cd868eb939211f6..49ea4fa6d3e18c1c508f831ed8b1a40a813a54d4 100644
--- a/spec/helpers/auth_helper_spec.rb
+++ b/spec/helpers/auth_helper_spec.rb
@@ -36,7 +36,7 @@ describe AuthHelper do
         )
 
         expect(helper.enabled_button_based_providers).to include('twitter')
-        expect(helper.enabled_button_based_providers).to_not include('github')
+        expect(helper.enabled_button_based_providers).not_to include('github')
       end
     end
   end
diff --git a/spec/helpers/merge_requests_helper_spec.rb b/spec/helpers/merge_requests_helper_spec.rb
index 600e1c4e9ecf1727403f68d7cca18bb270be25d7..8e7ed42e883a05f25e28845453372094d72fbc18 100644
--- a/spec/helpers/merge_requests_helper_spec.rb
+++ b/spec/helpers/merge_requests_helper_spec.rb
@@ -17,7 +17,7 @@ describe MergeRequestsHelper do
     it 'does not include api credentials in a link' do
       allow(ci_service).
         to receive(:build_page).and_return("http://secretuser:secretpass@jenkins.example.com:8888/job/test1/scm/bySHA1/12d65c")
-      expect(helper.ci_build_details_path(merge_request)).to_not match("secret")
+      expect(helper.ci_build_details_path(merge_request)).not_to match("secret")
     end
   end
 
diff --git a/spec/lib/award_emoji_spec.rb b/spec/lib/award_emoji_spec.rb
index 88c22912950610965ab286c8720f7db286b8c009..c309857429225fa9f3dd7a56c5b0af7ef8fcd288 100644
--- a/spec/lib/award_emoji_spec.rb
+++ b/spec/lib/award_emoji_spec.rb
@@ -5,7 +5,7 @@ describe AwardEmoji do
     subject { AwardEmoji.urls }
 
     it { is_expected.to be_an_instance_of(Array) }
-    it { is_expected.to_not be_empty }
+    it { is_expected.not_to be_empty }
 
     context 'every Hash in the Array' do
       it 'has the correct keys and values' do
diff --git a/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb b/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
index 9eef8ea0976033125dd3938af688fd54107a2a6b..7375539cf17355075a64f87493cbc6e680a9a25b 100644
--- a/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
+++ b/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
@@ -619,19 +619,19 @@ module Ci
       context 'no dependencies' do
         let(:dependencies) { }
 
-        it { expect { subject }.to_not raise_error }
+        it { expect { subject }.not_to raise_error }
       end
 
       context 'dependencies to builds' do
         let(:dependencies) { ['build1', 'build2'] }
 
-        it { expect { subject }.to_not raise_error }
+        it { expect { subject }.not_to raise_error }
       end
 
       context 'dependencies to builds defined as symbols' do
         let(:dependencies) { [:build1, :build2] }
 
-        it { expect { subject }.to_not raise_error }
+        it { expect { subject }.not_to raise_error }
       end
 
       context 'undefined dependency' do
diff --git a/spec/lib/container_registry/registry_spec.rb b/spec/lib/container_registry/registry_spec.rb
index 2638401ae6e5f6537d0f26d6f24c47947eb40544..4f3f8b24fc43b79e991dc3b64a678c32ac245f0f 100644
--- a/spec/lib/container_registry/registry_spec.rb
+++ b/spec/lib/container_registry/registry_spec.rb
@@ -10,7 +10,7 @@ describe ContainerRegistry::Registry do
   it { is_expected.to respond_to(:uri) }
   it { is_expected.to respond_to(:path) }
 
-  it { expect(subject.repository('test')).to_not be_nil }
+  it { expect(subject.repository('test')).not_to be_nil }
 
   context '#path' do
     subject { registry.path }
diff --git a/spec/lib/container_registry/repository_spec.rb b/spec/lib/container_registry/repository_spec.rb
index e6d66b11e4ebf773e1c423b8b426895417abf5f0..279709521c9743f90d05e66c37dea4516259751e 100644
--- a/spec/lib/container_registry/repository_spec.rb
+++ b/spec/lib/container_registry/repository_spec.rb
@@ -6,7 +6,7 @@ describe ContainerRegistry::Repository do
 
   it { expect(repository).to respond_to(:registry) }
   it { expect(repository).to delegate_method(:client).to(:registry) }
-  it { expect(repository.tag('test')).to_not be_nil }
+  it { expect(repository.tag('test')).not_to be_nil }
 
   context '#path' do
     subject { repository.path }
@@ -27,7 +27,7 @@ describe ContainerRegistry::Repository do
     context '#manifest' do
       subject { repository.manifest }
 
-      it { is_expected.to_not be_nil }
+      it { is_expected.not_to be_nil }
     end
 
     context '#valid?' do
@@ -39,7 +39,7 @@ describe ContainerRegistry::Repository do
     context '#tags' do
       subject { repository.tags }
 
-      it { is_expected.to_not be_empty }
+      it { is_expected.not_to be_empty }
     end
   end
 
diff --git a/spec/lib/container_registry/tag_spec.rb b/spec/lib/container_registry/tag_spec.rb
index 12cf91127edb6e3486344371e6ad561304afeacb..858cb0bb134d380cc7de4aab5bfb29a324630bb5 100644
--- a/spec/lib/container_registry/tag_spec.rb
+++ b/spec/lib/container_registry/tag_spec.rb
@@ -50,13 +50,13 @@ describe ContainerRegistry::Tag do
       context '#config' do
         subject { tag.config }
 
-        it { is_expected.to_not be_nil }
+        it { is_expected.not_to be_nil }
       end
 
       context '#created_at' do
         subject { tag.created_at }
 
-        it { is_expected.to_not be_nil }
+        it { is_expected.not_to be_nil }
       end
     end
   end
diff --git a/spec/lib/gitlab/bitbucket_import/client_spec.rb b/spec/lib/gitlab/bitbucket_import/client_spec.rb
index af839f4242155a036fbdbfd45379cbba074f92b6..7718689e6d4b01bbda123b1170d4065379505215 100644
--- a/spec/lib/gitlab/bitbucket_import/client_spec.rb
+++ b/spec/lib/gitlab/bitbucket_import/client_spec.rb
@@ -59,7 +59,7 @@ describe Gitlab::BitbucketImport::Client, lib: true do
                                                              bitbucket_access_token_secret: "test" } })
       project.import_url = "ssh://git@bitbucket.org/test/test.git"
 
-      expect { described_class.from_project(project) }.to_not raise_error
+      expect { described_class.from_project(project) }.not_to raise_error
     end
   end
 end
diff --git a/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb b/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb
index 46a5b7fce6537f5e9ce4266ea5316349ab2f7d90..711a3e1c7d41a4f827435d2ff165bba0e0978b15 100644
--- a/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb
+++ b/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb
@@ -122,7 +122,7 @@ describe Gitlab::Ci::Build::Artifacts::Metadata::Entry do
 
   describe 'empty path', path: '' do
     subject { |example| path(example) }
-    it { is_expected.to_not have_parent }
+    it { is_expected.not_to have_parent }
 
     describe '#children' do
       subject { |example| path(example).children }
diff --git a/spec/lib/gitlab/gfm/reference_rewriter_spec.rb b/spec/lib/gitlab/gfm/reference_rewriter_spec.rb
index 0a7ca3ec848be174fe4e7418957b74fa3c8ca6d3..0af249d8690edb80bceaae9fb7bf6b22323cc2d5 100644
--- a/spec/lib/gitlab/gfm/reference_rewriter_spec.rb
+++ b/spec/lib/gitlab/gfm/reference_rewriter_spec.rb
@@ -33,8 +33,8 @@ describe Gitlab::Gfm::ReferenceRewriter do
         end
 
         it { is_expected.to include issue_first.to_reference(new_project) }
-        it { is_expected.to_not include issue_second.to_reference(new_project) }
-        it { is_expected.to_not include merge_request.to_reference(new_project) }
+        it { is_expected.not_to include issue_second.to_reference(new_project) }
+        it { is_expected.not_to include merge_request.to_reference(new_project) }
       end
 
       context 'description ambigous elements' do
diff --git a/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb b/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb
index eda956e6f0a92cd92613ef7f9749b106f8df7c0a..6eca33f9fee300ea4537d257829874d6dfff3801 100644
--- a/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb
+++ b/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb
@@ -32,13 +32,13 @@ describe Gitlab::Gfm::UploadsRewriter do
       let(:new_paths) { new_files.map(&:path) }
 
       it 'rewrites content' do
-        expect(new_text).to_not eq text
+        expect(new_text).not_to eq text
         expect(new_text.length).to eq text.length
       end
 
       it 'copies files' do
         expect(new_files).to all(exist)
-        expect(old_paths).to_not match_array new_paths
+        expect(old_paths).not_to match_array new_paths
         expect(old_paths).to all(include(old_project.path_with_namespace))
         expect(new_paths).to all(include(new_project.path_with_namespace))
       end
@@ -48,8 +48,8 @@ describe Gitlab::Gfm::UploadsRewriter do
       end
 
       it 'generates a new secret for each file' do
-        expect(new_paths).to_not include image_uploader.secret
-        expect(new_paths).to_not include zip_uploader.secret
+        expect(new_paths).not_to include image_uploader.secret
+        expect(new_paths).not_to include zip_uploader.secret
       end
     end
 
diff --git a/spec/lib/gitlab/lfs/lfs_router_spec.rb b/spec/lib/gitlab/lfs/lfs_router_spec.rb
index 3325190789baf4864e15908e356d0df8794dba62..88814bc474d15cc4174f90e3ac2ddd73c3026dc0 100644
--- a/spec/lib/gitlab/lfs/lfs_router_spec.rb
+++ b/spec/lib/gitlab/lfs/lfs_router_spec.rb
@@ -368,7 +368,7 @@ describe Gitlab::Lfs::Router, lib: true do
               expect(response['objects']).to be_kind_of(Array)
               expect(response['objects'].first['oid']).to eq(sample_oid)
               expect(response['objects'].first['size']).to eq(sample_size)
-              expect(lfs_object.projects.pluck(:id)).to_not include(project.id)
+              expect(lfs_object.projects.pluck(:id)).not_to include(project.id)
               expect(lfs_object.projects.pluck(:id)).to include(public_project.id)
               expect(response['objects'].first['actions']['upload']['href']).to eq("#{Gitlab.config.gitlab.url}/#{project.path_with_namespace}.git/gitlab-lfs/objects/#{sample_oid}/#{sample_size}")
               expect(response['objects'].first['actions']['upload']['header']).to eq('Authorization' => @auth)
@@ -430,7 +430,7 @@ describe Gitlab::Lfs::Router, lib: true do
 
               expect(response_body['objects'].last['oid']).to eq(sample_oid)
               expect(response_body['objects'].last['size']).to eq(sample_size)
-              expect(response_body['objects'].last).to_not have_key('actions')
+              expect(response_body['objects'].last).not_to have_key('actions')
             end
           end
         end
diff --git a/spec/lib/gitlab/metrics/instrumentation_spec.rb b/spec/lib/gitlab/metrics/instrumentation_spec.rb
index 7b86450a2239f5c8e6937aa5078d8ef04528f64d..220e86924a2c78e698749f039eff5d829ce16691 100644
--- a/spec/lib/gitlab/metrics/instrumentation_spec.rb
+++ b/spec/lib/gitlab/metrics/instrumentation_spec.rb
@@ -67,7 +67,7 @@ describe Gitlab::Metrics::Instrumentation do
         allow(Gitlab::Metrics).to receive(:method_call_threshold).
           and_return(100)
 
-        expect(transaction).to_not receive(:add_metric)
+        expect(transaction).not_to receive(:add_metric)
 
         @dummy.foo
       end
@@ -147,7 +147,7 @@ describe Gitlab::Metrics::Instrumentation do
         allow(Gitlab::Metrics).to receive(:method_call_threshold).
           and_return(100)
 
-        expect(transaction).to_not receive(:add_metric)
+        expect(transaction).not_to receive(:add_metric)
 
         @dummy.new.bar
       end
@@ -220,7 +220,7 @@ describe Gitlab::Metrics::Instrumentation do
 
       described_class.instrument_methods(@dummy)
 
-      expect(@dummy).to_not respond_to(:_original_kittens)
+      expect(@dummy).not_to respond_to(:_original_kittens)
     end
 
     it 'can take a block to determine if a method should be instrumented' do
@@ -228,7 +228,7 @@ describe Gitlab::Metrics::Instrumentation do
         false
       end
 
-      expect(@dummy).to_not respond_to(:_original_foo)
+      expect(@dummy).not_to respond_to(:_original_foo)
     end
   end
 
diff --git a/spec/lib/gitlab/metrics/sampler_spec.rb b/spec/lib/gitlab/metrics/sampler_spec.rb
index 38da77adc9f17fe9db4dd60dabb53668b942b1ff..59db127674a1c988dce6f362c0bc1679f2955c58 100644
--- a/spec/lib/gitlab/metrics/sampler_spec.rb
+++ b/spec/lib/gitlab/metrics/sampler_spec.rb
@@ -130,7 +130,7 @@ describe Gitlab::Metrics::Sampler do
       100.times do
         interval = sampler.sleep_interval
 
-        expect(interval).to_not eq(last)
+        expect(interval).not_to eq(last)
 
         last = interval
       end
diff --git a/spec/lib/gitlab/metrics/subscribers/active_record_spec.rb b/spec/lib/gitlab/metrics/subscribers/active_record_spec.rb
index e3293a012078ade4ad825bbbaebeddf0666d8b21..49699ffe28f0a1875e8b1a2134f7ad23104ac7eb 100644
--- a/spec/lib/gitlab/metrics/subscribers/active_record_spec.rb
+++ b/spec/lib/gitlab/metrics/subscribers/active_record_spec.rb
@@ -13,7 +13,7 @@ describe Gitlab::Metrics::Subscribers::ActiveRecord do
     describe 'without a current transaction' do
       it 'simply returns' do
         expect_any_instance_of(Gitlab::Metrics::Transaction).
-          to_not receive(:increment)
+          not_to receive(:increment)
 
         subscriber.sql(event)
       end
diff --git a/spec/lib/gitlab/sherlock/collection_spec.rb b/spec/lib/gitlab/sherlock/collection_spec.rb
index de6bb86c5ddd8a826487e25e8742d69ffd4e0bc8..2ae79b50e77ca3eb52822f612d96e839d991863b 100644
--- a/spec/lib/gitlab/sherlock/collection_spec.rb
+++ b/spec/lib/gitlab/sherlock/collection_spec.rb
@@ -11,13 +11,13 @@ describe Gitlab::Sherlock::Collection, lib: true do
     it 'adds a new transaction' do
       collection.add(transaction)
 
-      expect(collection).to_not be_empty
+      expect(collection).not_to be_empty
     end
 
     it 'is aliased as <<' do
       collection << transaction
 
-      expect(collection).to_not be_empty
+      expect(collection).not_to be_empty
     end
   end
 
@@ -47,7 +47,7 @@ describe Gitlab::Sherlock::Collection, lib: true do
     it 'returns false for a collection with a transaction' do
       collection.add(transaction)
 
-      expect(collection).to_not be_empty
+      expect(collection).not_to be_empty
     end
   end
 
diff --git a/spec/lib/gitlab/sherlock/query_spec.rb b/spec/lib/gitlab/sherlock/query_spec.rb
index 05da915ccfd827cc693f2512cad2aa1980a0ca5a..0a62042813883267a2952d42897be0ccea68d868 100644
--- a/spec/lib/gitlab/sherlock/query_spec.rb
+++ b/spec/lib/gitlab/sherlock/query_spec.rb
@@ -85,7 +85,7 @@ FROM users;
       frames = query.application_backtrace
 
       expect(frames).to be_an_instance_of(Array)
-      expect(frames).to_not be_empty
+      expect(frames).not_to be_empty
 
       frames.each do |frame|
         expect(frame.path).to start_with(Rails.root.to_s)
diff --git a/spec/lib/gitlab/sherlock/transaction_spec.rb b/spec/lib/gitlab/sherlock/transaction_spec.rb
index 7553f2a045fc6cdd7a1a8b990b90c07b3e748e81..9fe18f253f0bc3dea82f887f6cc7bf1769c87b9a 100644
--- a/spec/lib/gitlab/sherlock/transaction_spec.rb
+++ b/spec/lib/gitlab/sherlock/transaction_spec.rb
@@ -203,7 +203,7 @@ describe Gitlab::Sherlock::Transaction, lib: true do
     end
 
     it 'only tracks queries triggered from the transaction thread' do
-      expect(transaction).to_not receive(:track_query)
+      expect(transaction).not_to receive(:track_query)
 
       Thread.new { subscription.publish('test', time, time, nil, query_data) }.
         join
@@ -226,7 +226,7 @@ describe Gitlab::Sherlock::Transaction, lib: true do
     end
 
     it 'only tracks views rendered from the transaction thread' do
-      expect(transaction).to_not receive(:track_view)
+      expect(transaction).not_to receive(:track_view)
 
       Thread.new { subscription.publish('test', time, time, nil, view_data) }.
         join
diff --git a/spec/lib/json_web_token/rsa_token_spec.rb b/spec/lib/json_web_token/rsa_token_spec.rb
index 0c3d3ea7019163dc419e3d51c6285a56c4d98282..1872675451721c6800a5519feb6aa495625f9b76 100644
--- a/spec/lib/json_web_token/rsa_token_spec.rb
+++ b/spec/lib/json_web_token/rsa_token_spec.rb
@@ -23,7 +23,7 @@ describe JSONWebToken::RSAToken do
 
       subject { JWT.decode(rsa_encoded, rsa_key) }
 
-      it { expect{subject}.to_not raise_error }
+      it { expect{subject}.not_to raise_error }
       it { expect(subject.first).to include('key' => 'value') }
       it do
         expect(subject.second).to eq(
diff --git a/spec/mailers/shared/notify.rb b/spec/mailers/shared/notify.rb
index 5a85cb501dd27642d4aa364d4972cdf774bddd92..93de5850ba28aa0cef1014a7102e9fe41d122ae4 100644
--- a/spec/mailers/shared/notify.rb
+++ b/spec/mailers/shared/notify.rb
@@ -146,8 +146,8 @@ shared_examples 'it should have Gmail Actions links' do
 end
 
 shared_examples 'it should not have Gmail Actions links' do
-  it { is_expected.to_not have_body_text '<script type="application/ld+json">' }
-  it { is_expected.to_not have_body_text /ViewAction/ }
+  it { is_expected.not_to have_body_text '<script type="application/ld+json">' }
+  it { is_expected.not_to have_body_text /ViewAction/ }
 end
 
 shared_examples 'it should show Gmail Actions View Issue link' do
diff --git a/spec/models/build_spec.rb b/spec/models/build_spec.rb
index abae3271a5c860d26bc597a3fb8beccba3c6977a..55b7af441d6daca0939f4361edd6cbc77c5b4ae6 100644
--- a/spec/models/build_spec.rb
+++ b/spec/models/build_spec.rb
@@ -90,7 +90,7 @@ describe Ci::Build, models: true do
         build.update_attributes(trace: token)
       end
 
-      it { is_expected.to_not include(token) }
+      it { is_expected.not_to include(token) }
     end
   end
 
@@ -317,7 +317,7 @@ describe Ci::Build, models: true do
 
     context 'when build does not have tags' do
       subject { create(:ci_build, tag_list: []) }
-      it { is_expected.to_not have_tags }
+      it { is_expected.not_to have_tags }
     end
   end
 
@@ -534,7 +534,7 @@ describe Ci::Build, models: true do
       end
 
       it 'should set erase date' do
-        expect(build.erased_at).to_not be_falsy
+        expect(build.erased_at).not_to be_falsy
       end
     end
 
@@ -606,7 +606,7 @@ describe Ci::Build, models: true do
 
         describe '#erase' do
           it 'should not raise error' do
-            expect { build.erase }.to_not raise_error
+            expect { build.erase }.not_to raise_error
           end
         end
       end
diff --git a/spec/models/ci/commit_spec.rb b/spec/models/ci/commit_spec.rb
index 1b5940ad5a84fa309938cd7e4c6f48884bfd7b96..22f8639e5ab57826fc9a7d0a26a3de99610575fb 100644
--- a/spec/models/ci/commit_spec.rb
+++ b/spec/models/ci/commit_spec.rb
@@ -247,7 +247,7 @@ describe Ci::Commit, models: true do
           expect(commit.builds.pluck(:status)).to contain_exactly('pending')
           commit.builds.running_or_pending.each(&:success)
 
-          expect(commit.builds.running_or_pending).to_not be_empty
+          expect(commit.builds.running_or_pending).not_to be_empty
 
           expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test')
           expect(commit.builds.pluck(:status)).to contain_exactly('success', 'pending')
diff --git a/spec/models/ci/runner_spec.rb b/spec/models/ci/runner_spec.rb
index 7c6e39419ed455c35fef617817c834d3e5269adb..5d04d8ffcff625f49ab0547c673031ece948f55d 100644
--- a/spec/models/ci/runner_spec.rb
+++ b/spec/models/ci/runner_spec.rb
@@ -140,7 +140,7 @@ describe Ci::Runner, models: true do
 
     context 'when runner does not have tags' do
       subject { create(:ci_runner, tag_list: []) }
-      it { is_expected.to_not have_tags }
+      it { is_expected.not_to have_tags }
     end
   end
 
diff --git a/spec/models/concerns/issuable_spec.rb b/spec/models/concerns/issuable_spec.rb
index 4a4cd093435ef1ab35fcc2050a9c01f96699ace5..77b9cd5db3374b2aa37ba16ab8998353f0bf83ee 100644
--- a/spec/models/concerns/issuable_spec.rb
+++ b/spec/models/concerns/issuable_spec.rb
@@ -165,7 +165,7 @@ describe Issue, "Issuable" do
       expect(data[:object_kind]).to eq("issue")
       expect(data[:user]).to eq(user.hook_attrs)
       expect(data[:object_attributes]).to eq(issue.hook_attrs)
-      expect(data).to_not have_key(:assignee)
+      expect(data).not_to have_key(:assignee)
     end
 
     context "issue is assigned" do
diff --git a/spec/models/concerns/token_authenticatable_spec.rb b/spec/models/concerns/token_authenticatable_spec.rb
index b6adc2bf247347f4108ab32d191c9fbb63a3e697..9e8ebc56a316f14bedc409a4c8fdf098b9ea591d 100644
--- a/spec/models/concerns/token_authenticatable_spec.rb
+++ b/spec/models/concerns/token_authenticatable_spec.rb
@@ -28,14 +28,14 @@ describe ApplicationSetting, 'TokenAuthenticatable' do
     context 'token is not generated yet' do
       describe 'token field accessor' do
         subject { described_class.new.send(token_field) }
-        it { is_expected.to_not be_blank }
+        it { is_expected.not_to be_blank }
       end
 
       describe 'ensured token' do
         subject { described_class.new.send("ensure_#{token_field}") }
 
         it { is_expected.to be_a String }
-        it { is_expected.to_not be_blank }
+        it { is_expected.not_to be_blank }
       end
 
       describe 'ensured! token' do
diff --git a/spec/models/generic_commit_status_spec.rb b/spec/models/generic_commit_status_spec.rb
index 0caf5869c24fb6eb3c05d5f99679f80bce2069b7..d0e02618b6b74c46a3221aa53371f73b925fffcb 100644
--- a/spec/models/generic_commit_status_spec.rb
+++ b/spec/models/generic_commit_status_spec.rb
@@ -27,13 +27,13 @@ describe GenericCommitStatus, models: true do
     describe :context do
       subject { generic_commit_status.context }
 
-      it { is_expected.to_not be_nil }
+      it { is_expected.not_to be_nil }
     end
 
     describe :stage do
       subject { generic_commit_status.stage }
 
-      it { is_expected.to_not be_nil }
+      it { is_expected.not_to be_nil }
     end
   end
 end
diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb
index 8ab00c70f9d341a35f7e8ec248366e0cecc55d64..6540d77fbc0a938dc432bd0bdbbf193272eb31ca 100644
--- a/spec/models/issue_spec.rb
+++ b/spec/models/issue_spec.rb
@@ -192,7 +192,7 @@ describe Issue, models: true do
                                                source_project: subject.project,
                                                source_branch: "#{subject.iid}-branch" })
       merge_request.create_cross_references!(user)
-      expect(subject.referenced_merge_requests).to_not be_empty
+      expect(subject.referenced_merge_requests).not_to be_empty
       expect(subject.related_branches(user)).to eq([subject.to_branch_name])
     end
 
diff --git a/spec/models/project_services/hipchat_service_spec.rb b/spec/models/project_services/hipchat_service_spec.rb
index 6fb5cad50119f181d00953ccd33ccf7d1209b8b1..f887ed4bafc14493a63520e20ddd49815da761cb 100644
--- a/spec/models/project_services/hipchat_service_spec.rb
+++ b/spec/models/project_services/hipchat_service_spec.rb
@@ -303,7 +303,7 @@ describe HipchatService, models: true do
         it "should notify only broken" do
           hipchat.notify_only_broken_builds = true
           hipchat.execute(data)
-          expect(WebMock).to_not have_requested(:post, api_url).once
+          expect(WebMock).not_to have_requested(:post, api_url).once
         end
       end
     end
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 60e1ec43f2b75b36ace7044262e8ad17d6a3d353..4d36a539a69249494da2de31d76b9dd292dfa8d2 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -791,7 +791,7 @@ describe Project, models: true do
 
     subject { project.container_registry_repository }
 
-    it { is_expected.to_not be_nil }
+    it { is_expected.not_to be_nil }
   end
 
   describe '#container_registry_repository_url' do
@@ -809,7 +809,7 @@ describe Project, models: true do
         }
       end
 
-      it { is_expected.to_not be_nil }
+      it { is_expected.not_to be_nil }
     end
 
     context 'for disabled registry' do
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index 583151023b6d37e427c2496b35168aafce8490a0..92ec51eabd4a118308f3e3a1f757fb6c3333f502 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -443,7 +443,7 @@ describe Repository, models: true do
       end
 
       it 'does nothing' do
-        expect(repository.raw_repository).to_not receive(:autocrlf=).
+        expect(repository.raw_repository).not_to receive(:autocrlf=).
           with(:input)
 
         repository.update_autocrlf_option
@@ -511,7 +511,7 @@ describe Repository, models: true do
 
     it 'does not expire the emptiness caches for a non-empty repository' do
       expect(repository).to receive(:empty?).and_return(false)
-      expect(repository).to_not receive(:expire_emptiness_caches)
+      expect(repository).not_to receive(:expire_emptiness_caches)
 
       repository.expire_cache
     end
@@ -674,7 +674,7 @@ describe Repository, models: true do
       end
 
       it 'does not flush caches that depend on repository data' do
-        expect(repository).to_not receive(:expire_cache)
+        expect(repository).not_to receive(:expire_cache)
 
         repository.before_delete
       end
@@ -951,7 +951,7 @@ describe Repository, models: true do
 
       expect(repository.avatar).to eq('logo.png')
 
-      expect(repository).to_not receive(:blob_at_branch)
+      expect(repository).not_to receive(:blob_at_branch)
       expect(repository.avatar).to eq('logo.png')
     end
   end
@@ -1045,7 +1045,7 @@ describe Repository, models: true do
         and_return(true)
 
       repository.cache_keys.each do |key|
-        expect(repository).to_not receive(key)
+        expect(repository).not_to receive(key)
       end
 
       repository.build_cache
diff --git a/spec/requests/api/project_members_spec.rb b/spec/requests/api/project_members_spec.rb
index c112ca5e3ca6d0a80b3518686d0b2df1b8066f74..44b532b10e142fb588d05f75f80a47ca9edbb24f 100644
--- a/spec/requests/api/project_members_spec.rb
+++ b/spec/requests/api/project_members_spec.rb
@@ -133,7 +133,7 @@ describe API::API, api: true  do
       delete api("/projects/#{project.id}/members/#{user3.id}", user)
       expect do
         delete api("/projects/#{project.id}/members/#{user3.id}", user)
-      end.to_not change { ProjectMember.count }
+      end.not_to change { ProjectMember.count }
       expect(response.status).to eq(200)
     end
 
diff --git a/spec/requests/api/system_hooks_spec.rb b/spec/requests/api/system_hooks_spec.rb
index 3e6765154882a37ed60ba82b03b0f6aeeeb01e5f..94eebc48ec8e1d6f4f26655beaf25bf22425d85a 100644
--- a/spec/requests/api/system_hooks_spec.rb
+++ b/spec/requests/api/system_hooks_spec.rb
@@ -49,7 +49,7 @@ describe API::API, api: true  do
     it "should not create new hook without url" do
       expect do
         post api("/hooks", admin)
-      end.to_not change { SystemHook.count }
+      end.not_to change { SystemHook.count }
     end
   end
 
diff --git a/spec/requests/ci/api/builds_spec.rb b/spec/requests/ci/api/builds_spec.rb
index 7ebf8e41f3bb1f44a76201ca96448a94ab3104b4..e5124ea5ea788bd3904359ae776d0e4c5885fbf7 100644
--- a/spec/requests/ci/api/builds_spec.rb
+++ b/spec/requests/ci/api/builds_spec.rb
@@ -253,13 +253,13 @@ describe Ci::API::API do
           it "using token as parameter" do
             post authorize_url, { token: build.token }, headers
             expect(response.status).to eq(200)
-            expect(json_response["TempPath"]).to_not be_nil
+            expect(json_response["TempPath"]).not_to be_nil
           end
 
           it "using token as header" do
             post authorize_url, {}, headers_with_token
             expect(response.status).to eq(200)
-            expect(json_response["TempPath"]).to_not be_nil
+            expect(json_response["TempPath"]).not_to be_nil
           end
         end
 
diff --git a/spec/services/auth/container_registry_authentication_service_spec.rb b/spec/services/auth/container_registry_authentication_service_spec.rb
index 3f4a1ced2b67c78deaeb02b2e5d403b19a5d045f..98ef9d210358a63b35652d3dbd2c9d36e862a3b9 100644
--- a/spec/services/auth/container_registry_authentication_service_spec.rb
+++ b/spec/services/auth/container_registry_authentication_service_spec.rb
@@ -52,12 +52,12 @@ describe Auth::ContainerRegistryAuthenticationService, services: true do
 
   shared_examples 'an unauthorized' do
     it { is_expected.to include(http_status: 401) }
-    it { is_expected.to_not include(:token) }
+    it { is_expected.not_to include(:token) }
   end
 
   shared_examples 'a forbidden' do
     it { is_expected.to include(http_status: 403) }
-    it { is_expected.to_not include(:token) }
+    it { is_expected.not_to include(:token) }
   end
 
   describe '#full_access_token' do
diff --git a/spec/services/create_commit_builds_service_spec.rb b/spec/services/create_commit_builds_service_spec.rb
index ea5dcfa068a0ffe114ebc1af7d3c5251b53da1ad..9ae8f31b372f288d867383eabac9c361d2be405c 100644
--- a/spec/services/create_commit_builds_service_spec.rb
+++ b/spec/services/create_commit_builds_service_spec.rb
@@ -78,7 +78,7 @@ describe CreateCommitBuildsService, services: true do
       expect(commit).to be_persisted
       expect(commit.builds.any?).to be false
       expect(commit.status).to eq('failed')
-      expect(commit.yaml_errors).to_not be_nil
+      expect(commit.yaml_errors).not_to be_nil
     end
 
     describe :ci_skip? do
diff --git a/spec/services/groups/create_service_spec.rb b/spec/services/groups/create_service_spec.rb
index 6aefb48a4e8ff82b410d3aa54ce9b8d0b4e7fab7..a97ac3ead459cafdbbd803532b44989a9ec3008b 100644
--- a/spec/services/groups/create_service_spec.rb
+++ b/spec/services/groups/create_service_spec.rb
@@ -14,7 +14,7 @@ describe Groups::CreateService, services: true do
 
     context "cannot create group with restricted visibility level" do
       before { allow(current_application_settings).to receive(:restricted_visibility_levels).and_return([Gitlab::VisibilityLevel::PUBLIC]) }
-      it { is_expected.to_not be_persisted }
+      it { is_expected.not_to be_persisted }
     end
   end
 end
diff --git a/spec/services/issues/create_service_spec.rb b/spec/services/issues/create_service_spec.rb
index 6aa0a89f893b25ef93f5d420a25a118bd3a17da1..1ee9f3aae4dcb17aaf754121e33e75c4381df444 100644
--- a/spec/services/issues/create_service_spec.rb
+++ b/spec/services/issues/create_service_spec.rb
@@ -55,7 +55,7 @@ describe Issues::CreateService, services: true do
         end
 
         it 'does not assign label' do
-          expect(issue.labels).to_not include label
+          expect(issue.labels).not_to include label
         end
       end
 
@@ -69,7 +69,7 @@ describe Issues::CreateService, services: true do
         end
 
         it 'does not assign milestone' do
-          expect(issue.milestone).to_not eq milestone
+          expect(issue.milestone).not_to eq milestone
         end
       end
     end
diff --git a/spec/services/issues/move_service_spec.rb b/spec/services/issues/move_service_spec.rb
index c15e26189a518a7a03d204b12779c519ca649495..95fe6c2400aa4acc7d4ff0177adce9bc474d925f 100644
--- a/spec/services/issues/move_service_spec.rb
+++ b/spec/services/issues/move_service_spec.rb
@@ -194,10 +194,10 @@ describe Issues::MoveService, services: true do
           include_context 'issue move executed'
 
           it 'rewrites uploads in description' do
-            expect(new_issue.description).to_not eq description
+            expect(new_issue.description).not_to eq description
             expect(new_issue.description)
               .to match(/Text and #{FileUploader::MARKDOWN_PATTERN}/)
-            expect(new_issue.description).to_not include uploader.secret
+            expect(new_issue.description).not_to include uploader.secret
           end
         end
       end
@@ -231,7 +231,7 @@ describe Issues::MoveService, services: true do
 
       context 'user is reporter in both projects' do
         include_context 'user can move issue'
-        it { expect { move }.to_not raise_error }
+        it { expect { move }.not_to raise_error }
       end
 
       context 'user is reporter only in new project' do
diff --git a/spec/services/merge_requests/merge_when_build_succeeds_service_spec.rb b/spec/services/merge_requests/merge_when_build_succeeds_service_spec.rb
index 52a302e0e1a9b746a4380f8d8d8aa110960d6926..8224784981448d216667cb23b4ab6f57ebb8758a 100644
--- a/spec/services/merge_requests/merge_when_build_succeeds_service_spec.rb
+++ b/spec/services/merge_requests/merge_when_build_succeeds_service_spec.rb
@@ -75,7 +75,7 @@ describe MergeRequests::MergeWhenBuildSucceedsService do
         allow(ci_commit).to receive(:success?).and_return(true)
         allow(old_build).to receive(:sha).and_return('1234abcdef')
 
-        expect(MergeWorker).to_not receive(:perform_async)
+        expect(MergeWorker).not_to receive(:perform_async)
         service.trigger(old_build)
       end
     end
@@ -88,7 +88,7 @@ describe MergeRequests::MergeWhenBuildSucceedsService do
       it "doesn't merge a requests for status on other branch" do
         allow(project.repository).to receive(:branch_names_contains).with(commit_status.sha).and_return([])
 
-        expect(MergeWorker).to_not receive(:perform_async)
+        expect(MergeWorker).not_to receive(:perform_async)
         service.trigger(commit_status)
       end
 
@@ -122,7 +122,7 @@ describe MergeRequests::MergeWhenBuildSucceedsService do
       end
 
       it "doesn't merge if some stages failed" do
-        expect(MergeWorker).to_not receive(:perform_async)
+        expect(MergeWorker).not_to receive(:perform_async)
         build.success
         test.drop
       end
diff --git a/spec/workers/post_receive_spec.rb b/spec/workers/post_receive_spec.rb
index 2f465bcf1e3201992f68ca69d1e12be45ab034b0..20d3dfb42b331f03eea1f77ab74178f1a343d7ce 100644
--- a/spec/workers/post_receive_spec.rb
+++ b/spec/workers/post_receive_spec.rb
@@ -61,7 +61,7 @@ describe PostReceive do
       context "does not create a Ci::Commit" do
         before { stub_ci_commit_yaml_file(nil) }
 
-        it { expect{ subject }.to_not change{ Ci::Commit.count } }
+        it { expect{ subject }.not_to change{ Ci::Commit.count } }
       end
     end
   end