diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 2f7f99dee13eee8da1ea8eadd26ddf3c189295ab..f8634daa626cf5038fcaa84c5c5cc762f941fec6 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -743,12 +743,6 @@ Style/SymbolProc:
 # Configuration parameters: AllowImplicitReturn, AllowedReceivers.
 Rails/SaveBang:
   Exclude:
-    - 'ee/spec/controllers/ee/sent_notifications_controller_spec.rb'
-    - 'ee/spec/controllers/groups/epic_issues_controller_spec.rb'
-    - 'ee/spec/controllers/groups/epic_links_controller_spec.rb'
-    - 'ee/spec/controllers/groups/epics_controller_spec.rb'
-    - 'ee/spec/controllers/groups/roadmap_controller_spec.rb'
-    - 'ee/spec/controllers/groups/sso_controller_spec.rb'
     - 'ee/spec/controllers/projects/environments_controller_spec.rb'
     - 'ee/spec/controllers/projects/issues_controller_spec.rb'
     - 'ee/spec/controllers/projects/merge_requests/creations_controller_spec.rb'
diff --git a/changelogs/unreleased/rails-save-bang-2.yml b/changelogs/unreleased/rails-save-bang-2.yml
new file mode 100644
index 0000000000000000000000000000000000000000..99ccdf1ea70de001ca2c0902f41d7d24b97135cb
--- /dev/null
+++ b/changelogs/unreleased/rails-save-bang-2.yml
@@ -0,0 +1,5 @@
+---
+title: Refactor group controllers specs to fix SaveBang Cop
+merge_request: 36853
+author: Rajendra Kadam
+type: fixed
diff --git a/ee/spec/controllers/ee/sent_notifications_controller_spec.rb b/ee/spec/controllers/ee/sent_notifications_controller_spec.rb
index 6c1a36954a5c8d1d8dd2cf3463e3cbbb569d9d9a..761f286a7ddcb460c462564b44e765df9953d2c2 100644
--- a/ee/spec/controllers/ee/sent_notifications_controller_spec.rb
+++ b/ee/spec/controllers/ee/sent_notifications_controller_spec.rb
@@ -8,7 +8,7 @@
   context 'Unsubscribing from an epic' do
     let(:epic) do
       create(:epic, author: user) do |epic|
-        epic.subscriptions.create(user: user, project: nil, subscribed: true)
+        epic.subscriptions.create!(user: user, project: nil, subscribed: true)
       end
     end
     let(:sent_notification) { create(:sent_notification, project: nil, noteable: epic, recipient: user) }
diff --git a/ee/spec/controllers/groups/epic_issues_controller_spec.rb b/ee/spec/controllers/groups/epic_issues_controller_spec.rb
index 1dc2a218f540bf42620bb2f94418db6d85bbf689..824fea02963396940c25d5319102bdf1425f5ee9 100644
--- a/ee/spec/controllers/groups/epic_issues_controller_spec.rb
+++ b/ee/spec/controllers/groups/epic_issues_controller_spec.rb
@@ -55,7 +55,7 @@
 
       context 'when user does not have access to epic' do
         it 'returns 404 status' do
-          group.update(visibility_level: Gitlab::VisibilityLevel::PRIVATE)
+          group.update!(visibility_level: Gitlab::VisibilityLevel::PRIVATE)
 
           subject
 
diff --git a/ee/spec/controllers/groups/epic_links_controller_spec.rb b/ee/spec/controllers/groups/epic_links_controller_spec.rb
index 58d5611df0a5d1bf84df827027c8a60000931170..1e2c5896feeedd95911d89e5c5d25804c4b54798 100644
--- a/ee/spec/controllers/groups/epic_links_controller_spec.rb
+++ b/ee/spec/controllers/groups/epic_links_controller_spec.rb
@@ -31,7 +31,7 @@
     let(:features_when_forbidden) { { epics: false } }
 
     before do
-      epic1.update(parent: parent_epic)
+      epic1.update!(parent: parent_epic)
     end
 
     subject { get :index, params: { group_id: group, epic_id: parent_epic.to_param } }
@@ -60,7 +60,7 @@
 
       context 'when user does not have access to epic' do
         it 'returns 404 status' do
-          group.update(visibility_level: Gitlab::VisibilityLevel::PRIVATE)
+          group.update!(visibility_level: Gitlab::VisibilityLevel::PRIVATE)
 
           subject
 
@@ -118,8 +118,8 @@
 
   describe 'PUT #update' do
     before do
-      epic1.update(parent: parent_epic)
-      epic2.update(parent: parent_epic)
+      epic1.update!(parent: parent_epic)
+      epic2.update!(parent: parent_epic)
     end
 
     let(:move_before_epic) { epic2 }
@@ -173,7 +173,7 @@
 
   describe 'DELETE #destroy' do
     before do
-      epic1.update(parent: parent_epic)
+      epic1.update!(parent: parent_epic)
     end
 
     let(:features_when_forbidden) { { epics: false } }
diff --git a/ee/spec/controllers/groups/epics_controller_spec.rb b/ee/spec/controllers/groups/epics_controller_spec.rb
index 6c4f1a336b9591a2a4efce7ec1f8b14cf5fdfced..ad971b953937ee02c25efa3ddd76e2ff989e6f6a 100644
--- a/ee/spec/controllers/groups/epics_controller_spec.rb
+++ b/ee/spec/controllers/groups/epics_controller_spec.rb
@@ -83,7 +83,7 @@
 
         context 'when epics_sort is present' do
           it 'update epics_sort with current value' do
-            user.user_preference.update(epics_sort: 'created_desc')
+            user.user_preference.update!(epics_sort: 'created_desc')
 
             get :index, params: { group_id: group, sort: 'start_date_asc' }
 
diff --git a/ee/spec/controllers/groups/roadmap_controller_spec.rb b/ee/spec/controllers/groups/roadmap_controller_spec.rb
index 0f205711ab5b76895d1346c8c6ca129ec8ed79dc..3f1f53d18c3dc19605898b5b53603618af57e0d7 100644
--- a/ee/spec/controllers/groups/roadmap_controller_spec.rb
+++ b/ee/spec/controllers/groups/roadmap_controller_spec.rb
@@ -49,7 +49,7 @@
             end
 
             it 'defaults to sort_value_start_date_soon' do
-              user.user_preference.update(roadmaps_sort: nil)
+              user.user_preference.update!(roadmaps_sort: nil)
 
               get :show, params: { group_id: group }
 
@@ -59,7 +59,7 @@
 
           context 'when roadmaps_sort is present' do
             it 'update roadmaps_sort with current value' do
-              user.user_preference.update(roadmaps_sort: 'created_desc')
+              user.user_preference.update!(roadmaps_sort: 'created_desc')
 
               get :show, params: { group_id: group, sort: 'start_date_asc' }
 
diff --git a/ee/spec/controllers/groups/sso_controller_spec.rb b/ee/spec/controllers/groups/sso_controller_spec.rb
index 8bf5ec6d5919170f0134a71eeda0c2d9f71ae31c..60ae202e57039ce8236e2313559da21950a4b861 100644
--- a/ee/spec/controllers/groups/sso_controller_spec.rb
+++ b/ee/spec/controllers/groups/sso_controller_spec.rb
@@ -92,7 +92,7 @@
     end
 
     context 'when group has moved' do
-      let(:redirect_route) { group.redirect_routes.create(path: 'old-path') }
+      let(:redirect_route) { group.redirect_routes.create!(path: 'old-path') }
 
       it 'redirects to new location' do
         get :saml, params: { group_id: redirect_route.path }
@@ -193,7 +193,7 @@
 
       context 'and group managed accounts enforcing is disabled' do
         before do
-          saml_provider.update(enforced_group_managed_accounts: false)
+          saml_provider.update!(enforced_group_managed_accounts: false)
         end
 
         it 'renders 404' do