Add RSpec/RailsControllerTesting rule
- 
Please check this box if this contribution uses AI-generated content (including content generated by GitLab Duo features) as outlined in the GitLab DCO & CLA. As a benefit of being a GitLab Community Contributor, you receive complimentary access to GitLab Duo. 
What does this MR do and why?
This MR adds a cop triggering when assigns or render_template is used in controller or request tests.
The use of these methods is discouraged because they make the tests dependent on implementation details.
See
- https://docs.gitlab.com/ee/development/testing_guide/testing_levels.html#about-controller-tests
- https://www.bigbinary.com/blog/changes-to-test-controllers-in-rails-5
Closes #32 (closed)
Offenses in gitlab-org/gitlab
40720 files inspected, 835 offenses detected
Click to expand
Inspecting 40720 files
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................CC.C.C..CC.C.C.C.....CCCCC.CC............C.C...............CC..........CC..C.CC.CCC.C.CCCCC...CCCC...CCCC....C.C..C..CC..C...C.CC.C...CC.C.CCCCC.....C..C.CCC.CCCC.C..CC...C..C....CC.CCC.CCC...CC.CC.....CC..C.C........C.CCC.CCCC.CCC.....C.....CC..CCCC..C...C...C............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.C.CCC..C.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.C..CC...........C....C...CC...................................C.CC...C.....C.CCCC.......CC......C..C..CCCC.C.......C..C.CC...........C..C....C..............CC..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Offenses:
spec/controllers/admin/application_settings_controller_spec.rb:44:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('admin/application_settings/integrations')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/application_settings_controller_spec.rb:533:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:service_ping_data)).to be_present
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/application_settings_controller_spec.rb:544:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:service_ping_data)).to eq(cached_data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/application_settings_controller_spec.rb:551:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:service_ping_data)).not_to be_present
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/applications_controller_spec.rb:27:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template :new
                          ^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/applications_controller_spec.rb:28:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
             ^^^^^^^
spec/controllers/admin/applications_controller_spec.rb:36:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template :edit
                          ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/applications_controller_spec.rb:37:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
             ^^^^^^^
spec/controllers/admin/applications_controller_spec.rb:82:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template :show
                          ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/applications_controller_spec.rb:91:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template :new
                          ^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/applications_controller_spec.rb:92:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
             ^^^^^^^
spec/controllers/admin/applications_controller_spec.rb:106:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :show
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/applications_controller_spec.rb:119:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :new
                            ^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/applications_controller_spec.rb:140:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template :edit
                          ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/applications_controller_spec.rb:141:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
             ^^^^^^^
spec/controllers/admin/clusters_controller_spec.rb:38:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:index)
                              ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/clusters_controller_spec.rb:39:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:clusters)).to match_array([enabled_cluster, disabled_cluster])
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/admin/clusters_controller_spec.rb:71:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:clusters).current_page).to eq(last_page)
                   ^^^^^^^^^^^^^^^^^^
spec/controllers/admin/clusters_controller_spec.rb:91:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:index, partial: :empty_state)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/clusters_controller_spec.rb:92:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:clusters)).to eq([])
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/admin/clusters_controller_spec.rb:308:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/dashboard_controller_spec.rb:15:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:redis_versions].length).to be > 0
             ^^^^^^^
spec/controllers/admin/dashboard_controller_spec.rb:50:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:kas_server_info]).to be_present
                 ^^^^^^^
spec/controllers/admin/dashboard_controller_spec.rb:60:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:kas_server_info]).to be_nil
                 ^^^^^^^
spec/controllers/admin/groups_controller_spec.rb:24:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/groups_controller_spec.rb:25:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:groups)).to match_array([group, group_2, group_3])
             ^^^^^^^^^^^^^^^^
spec/controllers/admin/groups_controller_spec.rb:32:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:groups)).to eq([group, group_3, group_2])
               ^^^^^^^^^^^^^^^^
spec/controllers/admin/groups_controller_spec.rb:40:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:groups)).to eq([group_2])
               ^^^^^^^^^^^^^^^^
spec/controllers/admin/groups_controller_spec.rb:46:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:groups)).to be_empty
               ^^^^^^^^^^^^^^^^
spec/controllers/admin/groups_controller_spec.rb:59:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:groups).current_page).to eq(1)
               ^^^^^^^^^^^^^^^^
spec/controllers/admin/groups_controller_spec.rb:60:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:groups)).to eq([group])
               ^^^^^^^^^^^^^^^^
spec/controllers/admin/groups_controller_spec.rb:67:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:groups).current_page).to eq(2)
               ^^^^^^^^^^^^^^^^
spec/controllers/admin/groups_controller_spec.rb:68:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:groups)).to eq([group_2])
               ^^^^^^^^^^^^^^^^
spec/controllers/admin/health_check_controller_spec.rb:16:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:errors]).not_to be_nil
             ^^^^^^^
spec/controllers/admin/identities_controller_spec.rb:17:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:user)).to eq(admin)
               ^^^^^^^^^^^^^^
spec/controllers/admin/identities_controller_spec.rb:18:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:identities)).to be_blank
               ^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/identities_controller_spec.rb:29:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:user)).to eq(ldap_user)
               ^^^^^^^^^^^^^^
spec/controllers/admin/identities_controller_spec.rb:30:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:identities)).to eq(ldap_user.identities)
               ^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/initial_setup_controller_spec.rb:26:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:new)
                          ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/initial_setup_controller_spec.rb:71:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:new)
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/initial_setup_controller_spec.rb:88:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:new)
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/integrations_controller_spec.rb:31:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:edit)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/integrations_controller_spec.rb:74:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:edit)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/runners_controller_spec.rb:22:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/runners_controller_spec.rb:33:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:show)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/runners_controller_spec.rb:42:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:new)
                          ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/runners_controller_spec.rb:56:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:register)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/runners_controller_spec.rb:133:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/sessions_controller_spec.rb:30:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :new
                            ^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/sessions_controller_spec.rb:87:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :new
                            ^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/sessions_controller_spec.rb:135:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('admin/sessions/two_factor')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/sessions_controller_spec.rb:158:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('admin/sessions/two_factor')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/sessions_controller_spec.rb:205:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template('admin/sessions/two_factor')
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/sessions_controller_spec.rb:217:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template('admin/sessions/two_factor')
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/sessions_controller_spec.rb:237:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('admin/sessions/two_factor')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/sessions_controller_spec.rb:263:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('admin/sessions/two_factor')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/spam_logs_controller_spec.rb:19:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:spam_logs)).to be_kind_of(Kaminari::PaginatableWithoutCount)
             ^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/topics/avatars_controller_spec.rb:16:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
    @topic = assigns(:topic)
             ^^^^^^^^^^^^^^^
spec/controllers/admin/topics_controller_spec.rb:20:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('index')
                          ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/topics_controller_spec.rb:41:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('new')
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/topics_controller_spec.rb:62:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('edit')
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/topics_controller_spec.rb:88:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      errors = assigns[:topic].errors
               ^^^^^^^
spec/controllers/admin/topics_controller_spec.rb:95:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      errors = assigns[:topic].errors
               ^^^^^^^
spec/controllers/admin/topics_controller_spec.rb:102:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      errors = assigns[:topic].errors
               ^^^^^^^
spec/controllers/admin/topics_controller_spec.rb:136:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      errors = assigns[:topic].errors
               ^^^^^^^
spec/controllers/admin/topics_controller_spec.rb:145:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      errors = assigns[:topic].errors
               ^^^^^^^
spec/controllers/admin/users_controller_spec.rb:18:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:users)).to match_array([user, admin])
             ^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:24:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:users)).to eq([admin])
             ^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:38:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:users)).to eq([])
                 ^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:50:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:users)).to eq([user])
                 ^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:58:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:users).first.association(:authorized_projects)).to be_loaded
             ^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:71:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:users)).to be_a(Kaminari::PaginatableWithoutCount)
                 ^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:79:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:users)).not_to be_a(Kaminari::PaginatableWithoutCount)
                 ^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:100:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:impersonation_error_text)).to eq(nil)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:114:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:impersonation_error_text)).to eq(_("You are already impersonating another user"))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:126:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:impersonation_error_text)).to eq(_("You cannot impersonate a blocked user"))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:138:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:impersonation_error_text)).to eq(_("You cannot impersonate a user with an expired password"))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:150:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:impersonation_error_text)).to eq(_("You cannot impersonate an internal user"))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:162:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:impersonation_error_text)).to eq(_("You cannot impersonate a user who cannot log in"))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:172:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:can_impersonate)).to eq(true)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:186:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:can_impersonate)).to eq(false)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:198:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:can_impersonate)).to eq(false)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:629:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      errors = assigns[:user].errors
               ^^^^^^^
spec/controllers/admin/users_controller_spec.rb:681:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          errors = assigns[:user].errors
                   ^^^^^^^
spec/controllers/admin/users_controller_spec.rb:748:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:user].errors).to contain_exactly(_('Organization users organization must exist'))
               ^^^^^^^
spec/controllers/admin/users_controller_spec.rb:785:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:user].errors).to contain_exactly(error_message)
               ^^^^^^^
spec/controllers/admin/users_controller_spec.rb:871:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:edit)
                              ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:877:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:user].errors).to contain_exactly(a_string_matching(/too short/))
                 ^^^^^^^
spec/controllers/admin/users_controller_spec.rb:893:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:edit)
                              ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/users_controller_spec.rb:899:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:user].errors).to contain_exactly(a_string_matching(/doesn't match/))
                 ^^^^^^^
spec/controllers/application_controller_spec.rb:603:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('errors/not_found')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/application_controller_spec.rb:610:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('errors/access_denied')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/application_controller_spec.rb:953:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:current_context)).to include('meta.user' => user.username)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/application_controller_spec.rb:961:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:current_context)).to include('meta.user' => user.username)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/application_controller_spec.rb:1109:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('errors/service_unavailable')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/concerns/enforces_admin_authentication_spec.rb:31:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:current_user_mode)&.admin_mode?).to be(false)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/concerns/enforces_admin_authentication_spec.rb:58:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:current_user_mode)&.admin_mode?).to be_falsey
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/concerns/enforces_admin_authentication_spec.rb:82:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:current_user_mode)&.admin_mode?).to be_falsey
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/concerns/enforces_admin_authentication_spec.rb:93:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:current_user_mode)&.admin_mode?).to be_falsey
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/concerns/group_tree_spec.rb:31:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:groups)).to contain_exactly(other_group)
               ^^^^^^^^^^^^^^^^
spec/controllers/concerns/group_tree_spec.rb:40:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:groups)).to contain_exactly(group)
                 ^^^^^^^^^^^^^^^^
spec/controllers/concerns/group_tree_spec.rb:48:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:groups)).to contain_exactly(subgroup)
                 ^^^^^^^^^^^^^^^^
spec/controllers/concerns/group_tree_spec.rb:56:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:groups)).to contain_exactly(group, subgroup)
                 ^^^^^^^^^^^^^^^^
spec/controllers/concerns/group_tree_spec.rb:67:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:groups)).to contain_exactly(parent, subgroup)
                 ^^^^^^^^^^^^^^^^
spec/controllers/concerns/group_tree_spec.rb:78:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:groups)).to contain_exactly(group, subgroup, search_result)
                 ^^^^^^^^^^^^^^^^
spec/controllers/concerns/renders_commits_spec.rb:38:12: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
    expect(assigns[:total_commit_count]).to eq(29)
           ^^^^^^^
spec/controllers/concerns/renders_commits_spec.rb:39:12: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
    expect(assigns[:hidden_commit_count]).to eq(19)
           ^^^^^^^
spec/controllers/concerns/renders_commits_spec.rb:40:12: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
    expect(assigns[:commits].size).to eq(10)
           ^^^^^^^
spec/controllers/concerns/routable_actions_spec.rb:50:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns[:routable]).to be_a(Project)
                   ^^^^^^^
spec/controllers/concerns/routable_actions_spec.rb:105:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns[:routable]).to be_a(Group)
                   ^^^^^^^
spec/controllers/confirmations_controller_spec.rb:30:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:new)
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/confirmations_controller_spec.rb:54:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:new)
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/confirmations_controller_spec.rb:76:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:new)
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/confirmations_controller_spec.rb:124:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template(:new)
                                ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/confirmations_controller_spec.rb:133:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template(:new)
                                ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/groups_controller_spec.rb:26:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:groups)).to contain_exactly(member_of_group)
             ^^^^^^^^^^^^^^^^
spec/controllers/dashboard/groups_controller_spec.rb:45:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:groups)).to contain_exactly(*all_groups)
               ^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:40:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:projects)).to eq(projects)
               ^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:45:29: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        all_user_projects = assigns(:all_user_projects)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:52:32: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        all_starred_projects = assigns(:all_starred_projects)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:72:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:projects)).to eq([project2])
                   ^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:88:29: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          projects_result = assigns(:projects)
                            ^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:96:31: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          all_user_projects = assigns(:all_user_projects)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:104:34: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          all_starred_projects = assigns(:all_starred_projects)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:118:29: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          projects_result = assigns(:projects)
                            ^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:212:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:projects).count).to eq(1)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:219:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:projects).count).to eq(2)
               ^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:244:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:events).count).to eq(2)
                 ^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:274:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:events)).to include(design_event, wiki_page_event, issue_event, push_event)
                 ^^^^^^^^^^^^^^^^
spec/controllers/dashboard/projects_controller_spec.rb:275:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('dashboard/projects/index')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard/todos_controller_spec.rb:16:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard_controller_spec.rb:27:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:issues].map(&:id)).to include(task.id)
               ^^^^^^^
spec/controllers/dashboard_controller_spec.rb:46:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:search_timeout_occurred)).to eq(true)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard_controller_spec.rb:78:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:search_timeout_occurred)).to eq(nil)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard_controller_spec.rb:108:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:search_timeout_occurred)).to eq(true)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard_controller_spec.rb:140:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:search_timeout_occurred)).to eq(nil)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/dashboard_controller_spec.rb:250:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:no_filters_set]).to eq(true)
                 ^^^^^^^
spec/controllers/dashboard_controller_spec.rb:271:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:no_filters_set]).to eq(false)
               ^^^^^^^
spec/controllers/explore/groups_controller_spec.rb:24:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:groups)).to contain_exactly(member_of_group, public_group)
             ^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:20:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:sort]).to eq(expected_default_sort)
               ^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:35:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:sort]).to eq(expected_default_sort)
               ^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:50:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:sort]).to eq(expected_default_sort)
               ^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:67:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:projects)).to eq [project2, project1]
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:73:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:projects)).to eq [project1, project2]
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:91:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:projects)).to eq [project2, project1]
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:114:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('topic')
                              ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:121:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('topic')
                              ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:145:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('topic', layout: :xml)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:151:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:projects)).to match_array [newer_project, older_project]
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:158:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('topic', layout: :xml)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:169:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:projects).count).to be(20)
                   ^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:189:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          it { is_expected.to render_template("explore/projects/page_out_of_bounds") }
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:192:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns[:max_page_number]).to eq(page_limit.to_s)
                   ^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:239:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          it { is_expected.to render_template("explore/projects/#{endpoint}") }
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:320:29: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        all_user_projects = assigns(:all_user_projects)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/explore/projects_controller_spec.rb:327:32: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        all_starred_projects = assigns(:all_starred_projects)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/explore/snippets_controller_spec.rb:17:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      snippets = assigns(:snippets)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/explore/snippets_controller_spec.rb:28:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      snippets = assigns(:snippets)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/explore/snippets_controller_spec.rb:32:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:snippets)).to all(be_a(PersonalSnippet))
             ^^^^^^^^^^^^^^^^^^
spec/controllers/graphql_controller_spec.rb:206:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:context)[:is_sessionless_user]).to be false
               ^^^^^^^^^^^^^^^^^
spec/controllers/graphql_controller_spec.rb:427:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:context)[:is_sessionless_user]).to be true
                 ^^^^^^^^^^^^^^^^^
spec/controllers/graphql_controller_spec.rb:460:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:context)[:is_sessionless_user]).to be true
               ^^^^^^^^^^^^^^^^^
spec/controllers/graphql_controller_spec.rb:543:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:context)[:is_sessionless_user]).to be false
               ^^^^^^^^^^^^^^^^^
spec/controllers/graphql_controller_spec.rb:559:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:context)[:request]).to eq request
             ^^^^^^^^^^^^^^^^^
spec/controllers/graphql_controller_spec.rb:565:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:context)[:remove_deprecated]).to be false
             ^^^^^^^^^^^^^^^^^
spec/controllers/graphql_controller_spec.rb:571:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:context)[:remove_deprecated]).to be true
             ^^^^^^^^^^^^^^^^^
spec/controllers/groups/avatars_controller_spec.rb:18:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
    @group = assigns(:group)
             ^^^^^^^^^^^^^^^
spec/controllers/groups/boards_controller_spec.rb:22:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :index
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/boards_controller_spec.rb:53:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template :index
                              ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/boards_controller_spec.rb:75:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :show
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/boards_controller_spec.rb:103:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template :show
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/children_controller_spec.rb:25:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:children)).to contain_exactly(public_project, private_project)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/children_controller_spec.rb:35:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:children)).to contain_exactly(public_project, private_project)
                   ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/children_controller_spec.rb:44:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:children)).to contain_exactly(public_project)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/children_controller_spec.rb:63:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:children)).to contain_exactly(public_subgroup, private_subgroup, public_project, private_project)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/children_controller_spec.rb:74:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:children)).to contain_exactly(public_subgroup, private_subgroup, public_project, private_project)
                   ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/children_controller_spec.rb:83:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:children)).to contain_exactly(public_subgroup, public_project)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/children_controller_spec.rb:274:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:children)).to eq([public_subgroup, project_2, project_1, public_project])
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/children_controller_spec.rb:375:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:children)).to contain_exactly(*first_page_projects)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/children_controller_spec.rb:381:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:children)).to contain_exactly(other_project)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/children_controller_spec.rb:393:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:children)).to contain_exactly(*first_page_subgroups)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/children_controller_spec.rb:399:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:children)).to contain_exactly(other_subgroup, *next_page_projects.take(per_page - 1))
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/clusters_controller_spec.rb:40:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:index)
                              ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/clusters_controller_spec.rb:41:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:clusters)).to match_array([enabled_cluster, disabled_cluster])
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/clusters_controller_spec.rb:73:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:clusters).current_page).to eq(last_page)
                   ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/clusters_controller_spec.rb:93:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:index, partial: :empty_state)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/clusters_controller_spec.rb:94:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:clusters)).to eq([])
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/groups/clusters_controller_spec.rb:366:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/dependency_proxies_controller_spec.rb:30:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('groups/dependency_proxies/show')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:24:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:38:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:invited_members).map(&:invite_email)).to match_array(invited.map(&:invite_email))
               ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:44:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:invited_members).map(&:invite_email)).to match_array(invited.first.invite_email)
               ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:52:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:invited_members).count).to eq(2)
               ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:56:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:invited_members).count).to eq(1)
               ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:69:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:members).map(&:user_id)).to match_array([service_account.id])
                 ^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:81:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:placeholder_users_count)).to eq(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:94:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:placeholder_users_count)).to eq(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:112:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:placeholder_users_count)).to eq(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:132:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:invited_members)).to be_nil
               ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:146:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:members).map(&:user_id)).to match_array([user.id, service_account.id])
                 ^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:168:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:members).map(&:user_id)).to contain_exactly(user.id, nested_group_user.id, shared_group_user.id)
               ^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:174:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:members).map(&:user_id)).to contain_exactly(nested_group_user.id)
               ^^^^^^^^^^^^^^^^^
spec/controllers/groups/group_members_controller_spec.rb:180:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:members).map(&:user_id)).to contain_exactly(user.id, shared_group_user.id)
               ^^^^^^^^^^^^^^^^^
spec/controllers/groups/imports_controller_spec.rb:24:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template :show
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/labels_controller_spec.rb:68:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:labels).count).to eq(4)
               ^^^^^^^^^^^^^^^^
spec/controllers/groups/milestones_controller_spec.rb:279:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:edit)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/milestones_controller_spec.rb:290:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:edit)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:39:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:index)
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:76:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:group_runner_registration_token)).to be_nil
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:77:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:group_new_runner_path)).to be_nil
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:92:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:group_runner_registration_token)).to be_nil
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:101:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:group_runner_registration_token)).not_to be_nil
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:102:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:group_new_runner_path)).to eq(new_group_runner_path(group))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:111:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:group_runner_registration_token)).to be_nil
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:112:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:group_new_runner_path)).to be_nil
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:137:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:new)
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:169:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:register)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:211:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:218:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:225:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:264:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:edit)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:283:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:edit)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/runners_controller_spec.rb:308:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:edit)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:25:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :index
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:26:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
               ^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:41:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:applications_total_count)).to eq(22)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:47:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:applications).count).to eq(pagination_limit)
                 ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:48:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:applications).has_next_page?).to be_truthy
                 ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:55:58: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          get :index, params: { group_id: group, cursor: assigns(:applications).cursor_for_next_page }
                                                         ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:57:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:applications).count).to eq(2) # extra 1 from let_it_be(:application)
                 ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:58:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:applications).has_next_page?).to be_falsey
                 ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:77:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template :index
                              ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:78:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
                 ^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:108:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template :index
                                ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:109:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
                   ^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:125:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :edit
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:126:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
               ^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:142:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template :edit
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:143:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
                 ^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:173:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template :edit
                                ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:174:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
                   ^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:197:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :show
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:206:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :index
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:207:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
               ^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:221:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template :show
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:234:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template :index
                              ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:258:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template :show
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:298:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template :show
                                ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:423:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :edit
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/applications_controller_spec.rb:424:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes)
               ^^^^^^^
spec/controllers/groups/settings/ci_cd_controller_spec.rb:25:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/integrations_controller_spec.rb:47:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:index)
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/integrations_controller_spec.rb:80:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template(:edit)
                                ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups/settings/integrations_controller_spec.rb:113:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:edit)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:35:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:new)
                          ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:45:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).not_to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:54:25: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
    it { is_expected.to render_template('groups/show') }
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:58:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:events).map(&:id)).to contain_exactly(event.id)
             ^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:72:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      it { is_expected.to render_template('groups/show') }
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:130:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:badge_api_endpoint)).not_to be_nil
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:159:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:208:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:projects).limit_value).to be_nil
               ^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:300:35: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
              expect(response).to render_template(:new)
                                  ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:339:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:353:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      it { expect(subject).to render_template(:new) }
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:459:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:468:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:595:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:merge_requests)).to eq [merge_request_2, merge_request_1]
               ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:600:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:merge_requests)).to eq [merge_request_2, merge_request_1]
               ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:647:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:search_timeout_occurred)).to eq(true)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:811:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:group).errors[:base].first).to match(/Docker images in their Container Registry/)
               ^^^^^^^^^^^^^^^
spec/controllers/groups_controller_spec.rb:1413:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          it { is_expected.to render_template(:edit) }
                              ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/help_controller_spec.rb:14:24: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        is_expected.to render_template('help/show')
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/help_controller_spec.rb:51:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:help_index]).to eq '[API](/api/README.md)'
               ^^^^^^^
spec/controllers/help_controller_spec.rb:61:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:help_index]).to eq '[API](/help/api/README.md)'
               ^^^^^^^
spec/controllers/help_controller_spec.rb:71:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:help_index]).to eq '[external](https://some.external.link)'
               ^^^^^^^
spec/controllers/help_controller_spec.rb:81:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:help_index]).to eq '[API](/help/api/README.md) [external](https://some.external.link)'
               ^^^^^^^
spec/controllers/help_controller_spec.rb:91:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:help_index]).to eq '[API](/help/api/README.md?go=https://example.com/)'
               ^^^^^^^
spec/controllers/help_controller_spec.rb:101:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:help_index]).to eq '[report bug](mailto:bugs@example.com)'
               ^^^^^^^
spec/controllers/help_controller_spec.rb:111:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:help_index]).to eq '[protocol-relative](//example.com)'
               ^^^^^^^
spec/controllers/help_controller_spec.rb:151:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:help_index]).to include('Explore the different areas of the documentation')
                 ^^^^^^^
spec/controllers/help_controller_spec.rb:164:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:help_index]).to eq '_index.md content'
                 ^^^^^^^
spec/controllers/help_controller_spec.rb:182:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:help_index]).to eq "# Test heading\n\nTest content"
                 ^^^^^^^
spec/controllers/help_controller_spec.rb:191:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:help_index]).to eq "# Test heading\n\nTest content"
                 ^^^^^^^
spec/controllers/help_controller_spec.rb:209:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:path]).not_to be_empty
               ^^^^^^^
spec/controllers/help_controller_spec.rb:210:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:clean_path]).not_to be_empty
               ^^^^^^^
spec/controllers/help_controller_spec.rb:214:24: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        is_expected.to render_template('help/drawers')
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/help_controller_spec.rb:245:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:markdown]).not_to be_empty
                 ^^^^^^^
spec/controllers/help_controller_spec.rb:361:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:markdown]).to include('Explore the different areas of the documentation')
                 ^^^^^^^
spec/controllers/help_controller_spec.rb:374:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:markdown]).to eq '_index.md content'
                 ^^^^^^^
spec/controllers/help_controller_spec.rb:392:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:markdown]).to eq "# Test heading\n\nTest content"
                 ^^^^^^^
spec/controllers/help_controller_spec.rb:401:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:markdown]).to eq "# Test heading\n\nTest content"
                 ^^^^^^^
spec/controllers/import/bulk_imports_controller_spec.rb:270:22: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
              expect(assigns(:namespace)).to eq(group)
                     ^^^^^^^^^^^^^^^^^^^
spec/controllers/import/bulk_imports_controller_spec.rb:310:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:history)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/import/bulk_imports_controller_spec.rb:336:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template(:history)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/import/bulk_imports_controller_spec.rb:374:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template(:failures)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/import/github_controller_spec.rb:41:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:new)
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/import/github_controller_spec.rb:254:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:namespace)).to eq(namespace)
                 ^^^^^^^^^^^^^^^^^^^
spec/controllers/import/manifest_controller_spec.rb:42:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:errors)).to be_present
               ^^^^^^^^^^^^^^^^
spec/controllers/import/manifest_controller_spec.rb:57:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:errors)).to include(
               ^^^^^^^^^^^^^^^^
spec/controllers/import/manifest_controller_spec.rb:75:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:errors)).to be_present
               ^^^^^^^^^^^^^^^^
spec/controllers/jira_connect/branches_controller_spec.rb:18:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:new_branch_data)).to include(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/jira_connect/branches_controller_spec.rb:28:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:new_branch_data)).to include(initial_branch_name: 'ACME-123')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/jira_connect/branches_controller_spec.rb:35:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:new_branch_data)).to include('initial_branch_name': nil)
               ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/ldap/omniauth_callbacks_controller_spec.rb:39:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:user].remember_me).to eq '1'
             ^^^^^^^
spec/controllers/oauth/applications_controller_spec.rb:124:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:applications_total_count)).to eq(1)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/applications_controller_spec.rb:125:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:applications).has_next_page?).to be_falsey
               ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/applications_controller_spec.rb:136:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:applications_total_count)).to eq(21)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/applications_controller_spec.rb:137:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:applications).has_next_page?).to be_truthy
                 ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/applications_controller_spec.rb:173:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :show
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/applications_controller_spec.rb:203:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('doorkeeper/applications/index')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/applications_controller_spec.rb:216:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('doorkeeper/applications/index')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/applications_controller_spec.rb:229:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('doorkeeper/applications/index')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:59:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('doorkeeper/authorizations/error')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:100:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template('doorkeeper/authorizations/redirect')
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:111:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template('doorkeeper/authorizations/new')
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:121:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('doorkeeper/authorizations/error')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:132:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('doorkeeper/authorizations/new')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:143:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('doorkeeper/authorizations/redirect')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:215:35: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
              expect(response).to render_template('doorkeeper/authorizations/new')
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:281:35: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
              expect(response).to render_template('doorkeeper/authorizations/new')
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:303:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('doorkeeper/authorizations/forbidden')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:320:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('doorkeeper/authorizations/redirect')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:335:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('doorkeeper/authorizations/new')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/authorizations_controller_spec.rb:350:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('doorkeeper/authorizations/new')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/device_authorizations_controller_spec.rb:18:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template("doorkeeper/device_authorization_grant/index")
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/device_authorizations_controller_spec.rb:24:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(layout: 'minimal')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/device_authorizations_controller_spec.rb:53:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:scopes)).to eq('read write')
               ^^^^^^^^^^^^^^^^
spec/controllers/oauth/device_authorizations_controller_spec.rb:58:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('doorkeeper/device_authorization_grant/authorize')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/oauth/device_authorizations_controller_spec.rb:75:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:scopes)).to eq('')
               ^^^^^^^^^^^^^^^^
spec/controllers/oauth/device_authorizations_controller_spec.rb:80:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('doorkeeper/device_authorization_grant/authorize')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/omniauth_callbacks_controller_spec.rb:205:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template("errors/omniauth_error")
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/omniauth_callbacks_controller_spec.rb:872:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('devise/sessions/two_factor')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/passwords_controller_spec.rb:64:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:edit)
                              ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/passwords_controller_spec.rb:187:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/passwords_controller_spec.rb:196:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/avatars_controller_spec.rb:15:13: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
    @user = assigns(:user)
            ^^^^^^^^^^^^^^
spec/controllers/profiles/notifications_controller_spec.rb:21:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template :show
                          ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/notifications_controller_spec.rb:61:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:group_notifications).map(&:source_id)).to include(subgroup.id)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/notifications_controller_spec.rb:100:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:group_notifications).count).to eq(5)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/notifications_controller_spec.rb:112:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:user_groups).count).to eq(11)
                 ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/notifications_controller_spec.rb:113:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:user_groups)).not_to include(public_group)
                 ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/notifications_controller_spec.rb:130:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:project_notifications).map(&:source_id)).to include(project.id)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/notifications_controller_spec.rb:142:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:project_notifications)).to be_empty
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/preferences_controller_spec.rb:19:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template :show
                          ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/preferences_controller_spec.rb:24:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:user]).to eq user
             ^^^^^^^
spec/controllers/profiles/slacks_controller_spec.rb:20:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template :edit
                          ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/slacks_controller_spec.rb:24:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:projects]).to eq []
             ^^^^^^^
spec/controllers/profiles/slacks_controller_spec.rb:28:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:disabled_projects]).to eq []
             ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:39:15: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      error = assigns[:error] || assigns[:otp_error]
              ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:39:34: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      error = assigns[:error] || assigns[:otp_error]
                                 ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:41:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:show)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:49:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:qr_code]).to eq(code)
             ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:54:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:account_string]).to eq("#{Gitlab.config.gitlab.host}:#{user.email}")
             ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:75:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:error]).not_to eq(error_message)
               ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:87:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:error]).not_to eq(error_message)
               ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:99:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:error]).not_to eq(error_message)
               ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:118:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:qr_code]).to eq(code)
             ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:173:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:codes]).to match_array %w[a b c]
               ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:190:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:create)
                            ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:214:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:error]).to eq({ message: 'Invalid pin code.' })
               ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:222:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:qr_code]).to eq(code)
               ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:227:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:account_string]).to eq("#{Gitlab.config.gitlab.host}:#{user.email}")
               ^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:232:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/two_factor_auths_controller_spec.rb:250:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:codes]).to match_array %w[a b c]
             ^^^^^^^
spec/controllers/profiles/usage_quotas_controller_spec.rb:17:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:index)
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/profiles/usage_quotas_controller_spec.rb:26:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).not_to render_template(:index)
                              ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/artifacts_controller_spec.rb:36:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('projects/artifacts/index')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/artifacts_controller_spec.rb:284:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('projects/artifacts/browse')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/artifacts_controller_spec.rb:386:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('projects/artifacts/file')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/artifacts_controller_spec.rb:414:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('projects/artifacts/file')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/badges_controller_spec.rb:123:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('projects/badges/badge')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/badges_controller_spec.rb:130:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('projects/badges/badge')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/badges_controller_spec.rb:138:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('projects/badges/badge')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/badges_controller_spec.rb:146:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('projects/badges/badge_flat-square')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/blob_controller_spec.rb:386:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:commit_params]).to include(file_path: 'CHANGELOG2', previous_path: 'CHANGELOG')
               ^^^^^^^
spec/controllers/projects/blob_controller_spec.rb:649:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:new)
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/boards_controller_spec.rb:21:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template :index
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/boards_controller_spec.rb:73:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :index
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/boards_controller_spec.rb:107:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :show
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/boards_controller_spec.rb:134:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template :show
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:57:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        it { is_expected.to render_template('new') }
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:64:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        it { is_expected.to render_template('new') }
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:71:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        it { is_expected.to render_template('new') }
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:518:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:branch_pipeline_statuses]["master"].group).to eq("success")
               ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:519:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:sort]).to eq('updated_desc')
               ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:548:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:branch_pipeline_statuses]["master"].group).to eq("running")
               ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:549:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:branch_pipeline_statuses]["test"].group).to eq("success")
               ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:561:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:branch_pipeline_statuses]).to be_blank
               ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:562:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:sort]).to eq('updated_asc')
               ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:580:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:sort]).to eq('name_asc')
               ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:640:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:active_branches].map(&:name)).not_to include(
               ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:643:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:stale_branches].map(&:name)).to eq(
               ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:682:19: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      it { expect(assigns[:sort]).to eq('name_asc') }
                  ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:688:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:sort]).to eq('updated_desc')
                 ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:697:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:sort]).to eq('updated_desc')
                 ^^^^^^^
spec/controllers/projects/branches_controller_spec.rb:721:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:gitaly_unavailable]).to be_truthy
               ^^^^^^^
spec/controllers/projects/ci/lints_controller_spec.rb:26:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :show
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/ci/lints_controller_spec.rb:30:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:project)).to eq(project)
               ^^^^^^^^^^^^^^^^^
spec/controllers/projects/ci/lints_controller_spec.rb:91:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:project)).to eq(project)
               ^^^^^^^^^^^^^^^^^
spec/controllers/projects/ci/pipeline_editor_controller_spec.rb:25:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :show
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/clusters_controller_spec.rb:37:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:index)
                              ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/clusters_controller_spec.rb:38:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:clusters)).to match_array([enabled_cluster, disabled_cluster])
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/clusters_controller_spec.rb:70:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:clusters).current_page).to eq(last_page)
                   ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/clusters_controller_spec.rb:90:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:index, partial: :empty_state)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/clusters_controller_spec.rb:91:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:clusters)).to eq([])
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:39:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:ref)).to eq commit.id
               ^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:50:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:last_pipeline)).to have_attributes(id: pipeline.id, status: 'running')
                 ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:51:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:last_pipeline_stages)).not_to be_empty
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:61:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:ref)).to be_nil
               ^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:155:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:new_diff_note_attrs)).to eq({
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:171:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:branches)).to include('master', 'feature_conflict')
             ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:172:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:branches_limit_exceeded)).to be_falsey
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:173:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:tags)).to include('v1.1.0')
             ^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:174:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:tags_limit_exceeded)).to be_falsey
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:184:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:branches)).to eq([])
             ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:185:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:branches_limit_exceeded)).to be_truthy
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:186:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:tags)).to eq([])
             ^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:187:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:tags_limit_exceeded)).to be_truthy
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:470:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:diffs)).to be_a(Gitlab::Diff::FileCollection::Commit)
             ^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:471:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:environment)).to be_nil
             ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:488:9: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        assigns(:diffs).diff_files.each do |diff_file|
        ^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:501:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:diffs)).not_to receive(:with_highlights_preloaded)
               ^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:505:9: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        assigns(:diffs).diff_files.each do |diff_file|
        ^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:541:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:diff_notes_disabled)).to be_falsey
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:542:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:new_diff_note_attrs)).to eq(noteable_type: 'Commit', commit_id: commit2.id)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:615:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:last_pipeline)).to have_attributes(id: pipeline.id, status: 'running')
                   ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/commit_controller_spec.rb:616:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:last_pipeline_stages)).not_to be_empty
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:90:23: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          diff_file = assigns(:diffs).diff_files.first
                      ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:92:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:commits).length).to be >= 1
                 ^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:109:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:diffs).diff_files.first).not_to be_nil
                 ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:110:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:commits).length).to be >= 1
                 ^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:142:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:diffs).diff_files.first).not_to be_nil
               ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:143:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:commits).length).to be >= 1
               ^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:162:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:commits).length).to be >= 2
                 ^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:163:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:diffs).raw_diff_files.size).to be >= 2
                 ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:164:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:diffs).diff_files.first).to be_present
                 ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:178:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:commits).length).to eq 0
                 ^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:179:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:diffs).diff_files.size).to be >= 4
                 ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:193:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:commits).length).to eq 0
                 ^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:194:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:diffs).diff_files.size).to eq 0
                 ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:209:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:diffs)).to be_empty
               ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:210:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:commits)).to be_empty
               ^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:239:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:diffs)).to be_empty
               ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:240:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:commits)).to be_empty
               ^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:253:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:diffs)).to eq([])
               ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:254:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:commits)).to eq([])
               ^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:267:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:diffs)).to eq([])
               ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:268:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:commits)).to eq([])
               ^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:335:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:diffs).diff_files.first).to be_present
                 ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:336:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:commits).length).to be >= 1
                 ^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:414:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:diff_notes_disabled)).to be_truthy
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:746:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:diffs).diff_files.first).to be_present
             ^^^^^^^^^^^^^^^
spec/controllers/projects/compare_controller_spec.rb:747:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:rapid_diffs)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/deploy_keys_controller_spec.rb:161:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:key).errors.count).to be > 1
               ^^^^^^^^^^^^^
spec/controllers/projects/deployments_controller_spec.rb:97:24: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        is_expected.to render_template(:show)
                       ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/environments_controller_spec.rb:201:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template 'folder'
                            ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/environments_controller_spec.rb:233:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).not_to render_template 'folder'
                                ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/error_tracking_controller_spec.rb:19:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:index)
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:48:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:forks]).to be_present
               ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:54:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:total_forks_count]).to eq(1)
               ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:55:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:public_forks_count]).to eq(1)
               ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:56:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:internal_forks_count]).to eq(0)
               ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:57:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:private_forks_count]).to eq(0)
               ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:64:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:total_forks_count]).to eq(1)
                 ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:65:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:public_forks_count]).to eq(1)
                 ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:66:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:internal_forks_count]).to eq(0)
                 ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:67:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:private_forks_count]).to eq(0)
                 ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:79:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:forks]).to be_present
                 ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:92:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:total_forks_count]).to eq(1)
               ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:93:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:public_forks_count]).to eq(0)
               ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:94:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:internal_forks_count]).to eq(1)
               ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:95:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:private_forks_count]).to eq(0)
               ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:108:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:total_forks_count]).to eq(1)
                 ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:109:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:public_forks_count]).to eq(0)
                 ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:110:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:internal_forks_count]).to eq(0)
                 ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:111:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:private_forks_count]).to eq(1)
                 ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:118:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:forks]).to be_blank
               ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:132:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns[:forks]).to be_blank
                   ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:144:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns[:forks]).to be_present
                   ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:158:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns[:forks]).to be_present
                   ^^^^^^^
spec/controllers/projects/forks_controller_spec.rb:298:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:error)
                              ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/graphs_controller_spec.rb:23:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:languages]).to be_nil
               ^^^^^^^
spec/controllers/projects/graphs_controller_spec.rb:34:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:ref_type]).to eq('heads')
                 ^^^^^^^
spec/controllers/projects/graphs_controller_spec.rb:86:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:charts)
                            ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/graphs_controller_spec.rb:94:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns[:daily_coverage_options]).to eq(
                   ^^^^^^^
spec/controllers/projects/graphs_controller_spec.rb:124:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:daily_coverage_options]).to be_nil
                 ^^^^^^^
spec/controllers/projects/graphs_controller_spec.rb:159:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:languages]).to eq(
               ^^^^^^^
spec/controllers/projects/hooks_controller_spec.rb:21:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/hooks_controller_spec.rb:131:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:hook]).to be_present
             ^^^^^^^
spec/controllers/projects/hooks_controller_spec.rb:132:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:hook_logs]).to be_empty
             ^^^^^^^
spec/controllers/projects/hooks_controller_spec.rb:141:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:hook]).to be_present
             ^^^^^^^
spec/controllers/projects/hooks_controller_spec.rb:142:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:hook_logs].count).to eq 3
             ^^^^^^^
spec/controllers/projects/hooks_controller_spec.rb:151:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:hook]).to be_present
             ^^^^^^^
spec/controllers/projects/hooks_controller_spec.rb:152:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns[:hook_logs].count).to eq 1
             ^^^^^^^
spec/controllers/projects/hooks_controller_spec.rb:158:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:edit)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/hooks_controller_spec.rb:159:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('shared/hook_logs/_index')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/import/jira_controller_spec.rb:42:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(template)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/imports_controller_spec.rb:34:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template :show
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/imports_controller_spec.rb:56:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template :show
                                ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:44:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:index)
                              ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:127:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:issues).size).to eq(0)
               ^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:181:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:189:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template 'projects/work_items/show'
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:258:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:issue)).to be_a_new(Issue)
               ^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:259:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:issue).work_item_type.base_type).to eq('issue')
               ^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:283:28: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          assigned_issue = assigns(:issue)
                           ^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:296:19: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        subject { assigns(:issue).work_item_type.base_type }
                  ^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:314:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:issue).title).not_to be_empty
               ^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:315:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:issue).description).not_to be_empty
               ^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:325:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:issue).title).not_to be_empty
               ^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:326:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:issue).description).not_to be_empty
               ^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:359:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:400:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:related_branches)).to be_empty
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:401:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('projects/issues/_related_branches')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:440:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:related_branches)).to contain_exactly(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:445:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('projects/issues/_related_branches')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:1195:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:issue).description).to eq('Manually entered description')
               ^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:1750:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:issues)).to contain_exactly(service_desk_issue_1, service_desk_issue_2)
             ^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:1756:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:issues)).to contain_exactly(service_desk_issue_1, service_desk_issue_2)
             ^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:1762:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:issues)).to contain_exactly(service_desk_issue_2)
             ^^^^^^^^^^^^^^^^
spec/controllers/projects/issues_controller_spec.rb:1768:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:issues)).to contain_exactly(service_desk_issue_2)
             ^^^^^^^^^^^^^^^^
spec/controllers/projects/jobs_controller_spec.rb:143:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:build).id).to eq(job.id)
                 ^^^^^^^^^^^^^^^
spec/controllers/projects/jobs_controller_spec.rb:1407:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:build).id).to eq(job.id)
                 ^^^^^^^^^^^^^^^
spec/controllers/projects/labels_controller_spec.rb:46:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:prioritized_labels)).not_to include(group_label_3, group_label_4, label_4, label_5)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/labels_controller_spec.rb:50:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:prioritized_labels)).to eq [group_label_2, label_1, label_3, group_label_1, label_2]
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/labels_controller_spec.rb:58:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:labels)).to eq [group_label_3, group_label_4, label_4, label_5]
               ^^^^^^^^^^^^^^^^
spec/controllers/projects/labels_controller_spec.rb:64:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:labels)).not_to include(group_label_2, label_1, label_3, group_label_1, label_2)
               ^^^^^^^^^^^^^^^^
spec/controllers/projects/labels_controller_spec.rb:72:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:labels)).not_to include(group_label_3, group_label_4)
               ^^^^^^^^^^^^^^^^
spec/controllers/projects/labels_controller_spec.rb:91:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:labels)).to match_array([subgroup_label_1] + group_labels + project_labels)
               ^^^^^^^^^^^^^^^^
spec/controllers/projects/labels_controller_spec.rb:92:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:prioritized_labels)).to match_array([subgroup_label_2] + group_priority_labels + project_priority_labels)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/labels_controller_spec.rb:112:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:labels).count).to eq(10)
               ^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:62:19: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          total = assigns(:total_commit_count)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:63:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:commits)).to be_an Array
                 ^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:65:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:hidden_commit_count)).to be > 0
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:75:17: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        total = assigns(:total_commit_count)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:76:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:commits)).to be_an CommitCollection
               ^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:78:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:hidden_commit_count)).to eq(0)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:118:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:diffs]).to be_nil
               ^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:154:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:diff_notes_disabled)).to be_truthy
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:178:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:diff_notes_disabled)).to be_truthy
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:214:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:commit)).not_to be_nil
             ^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:224:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:commit)).to be_nil
             ^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:234:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:commit)).to be_nil
             ^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:251:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:target_project)).to eq(project)
               ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/creations_controller_spec.rb:259:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:target_project)).to eq(project)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/diffs_controller_spec.rb:392:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:diff_notes_disabled)).to be_falsey
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/diffs_controller_spec.rb:393:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:new_diff_note_attrs)).to eq(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/diffs_controller_spec.rb:469:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:diff_notes_disabled)).to be_falsey
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests/diffs_controller_spec.rb:470:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:new_diff_note_attrs)).to eq(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:52:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('_commit_change_content')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:96:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns["endpoint_metadata_url"]).to eq(
               ^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:114:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns["endpoint_diff_batch_url"]).to eq(
                 ^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:130:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns['diffs_batch_cache_key']).to eq(merge_request.merge_head_diff.patch_id_sha)
                 ^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:141:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns['endpoint_diff_batch_url']).to eq(
                   ^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:156:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns['diffs_batch_cache_key']).to be_nil
                   ^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:255:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns['linked_file_url']).to eq(
                 ^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:387:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:merge_requests).current_page).to eq(last_page)
               ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:413:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:merge_requests)).to include(merge_request)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:426:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:merge_requests)).to include(merge_request)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:512:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        errors = assigns[:merge_request].errors
                 ^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:794:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('projects/merge_requests/_commits')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:811:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('projects/merge_requests/_commits')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/merge_requests_controller_spec.rb:2320:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:noteable)).not_to be_nil
             ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/milestones_controller_spec.rb:81:22: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        milestones = assigns(:milestones)
                     ^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/milestones_controller_spec.rb:92:22: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        milestones = assigns(:milestones)
                     ^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/milestones_controller_spec.rb:101:29: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        page_1_milestones = assigns(:milestones)
                            ^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/milestones_controller_spec.rb:105:29: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        page_2_milestones = assigns(:milestones)
                            ^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/milestones_controller_spec.rb:109:29: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        page_3_milestones = assigns(:milestones)
                            ^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/milestones_controller_spec.rb:133:24: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          milestones = assigns(:milestones)
                       ^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/milestones_controller_spec.rb:150:24: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          milestones = assigns(:milestones)
                       ^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/milestones_controller_spec.rb:199:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:edit)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/milestones_controller_spec.rb:209:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:edit)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pages_domains_controller_spec.rb:50:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('show')
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pages_domains_controller_spec.rb:64:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('show')
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pages_domains_controller_spec.rb:88:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('new')
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pages_domains_controller_spec.rb:173:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('show')
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipeline_schedules_controller_spec.rb:107:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipeline_schedules_controller_spec.rb:127:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:schedules)).to include(pipeline_schedule)
               ^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipeline_schedules_controller_spec.rb:128:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:schedules)).not_to include(inactive_pipeline_schedule)
               ^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipeline_schedules_controller_spec.rb:147:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:schedule)).to be_a_new(Ci::PipelineSchedule)
             ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipeline_schedules_controller_spec.rb:212:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:schedule).errors['variables']).not_to be_empty
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipeline_schedules_controller_spec.rb:307:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:schedule).errors['variables']).not_to be_empty
                   ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipeline_schedules_controller_spec.rb:348:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:schedule).errors['variables']).not_to be_empty
                   ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipeline_schedules_controller_spec.rb:460:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:schedule)).to eq(pipeline_schedule)
               ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipelines_controller_spec.rb:27:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template :show
                          ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipelines_controller_spec.rb:633:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template :show
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipelines_controller_spec.rb:830:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('new')
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipelines_controller_spec.rb:1199:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:pipeline)).to have_attributes(id: pipeline_master.id)
               ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipelines_controller_spec.rb:1220:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:pipeline)).to have_attributes(id: pipeline_secondary.id)
               ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/pipelines_controller_spec.rb:1232:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:pipeline)).to have_attributes(id: pipeline_secondary.id)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:45:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:project_members).map(&:user_id)).to contain_exactly(user.id, user_in_group.id, shared_group_user.id)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:51:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:project_members).map(&:user_id)).to contain_exactly(user.id)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:57:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:project_members).map(&:user_id)).to contain_exactly(user_in_group.id, shared_group_user.id)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:76:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:project_members).map(&:user_id)).to contain_exactly(user.id, user_in_group.id, shared_group_user.id)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:82:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:project_members).map(&:user_id)).to contain_exactly(user.id)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:88:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:project_members).map(&:user_id)).to contain_exactly(user_in_group.id, shared_group_user.id)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:103:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:project_members).map(&:invite_email)).not_to contain_exactly(invited_member.invite_email)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:113:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:project_members).map(&:user_id)).to include(invited_group_member.id)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:162:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:invited_members).map(&:invite_email)).to contain_exactly(invited_member.invite_email)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:170:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:invited_members)).to be_nil
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:191:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:requesters).map(&:user_id)).to contain_exactly(access_requester_user.id)
                   ^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/project_members_controller_spec.rb:199:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:requesters)).to be_nil
                   ^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/repositories_controller_spec.rb:76:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:ref)).to eq("master")
               ^^^^^^^^^^^^^
spec/controllers/projects/repositories_controller_spec.rb:77:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:filename)).to eq(archive_name)
               ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/repositories_controller_spec.rb:84:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:ref)).to eq("improve/awesome")
               ^^^^^^^^^^^^^
spec/controllers/projects/repositories_controller_spec.rb:85:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:filename)).to eq(archive_name)
               ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/repositories_controller_spec.rb:93:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:ref)).to eq('feature')
               ^^^^^^^^^^^^^
spec/controllers/projects/runners_controller_spec.rb:39:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:new)
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/runners_controller_spec.rb:75:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:register)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/security/configuration_controller_spec.rb:37:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/ci_cd_controller_spec.rb:27:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/ci_cd_controller_spec.rb:52:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:assignable_runners)).to contain_exactly(project_runner)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/ci_cd_controller_spec.rb:62:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:project_runners)).to contain_exactly(project_runner)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/ci_cd_controller_spec.rb:73:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:group_runners_count)).to be(1)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/ci_cd_controller_spec.rb:74:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:group_runners)).to contain_exactly(group_runner)
                 ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/ci_cd_controller_spec.rb:84:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:shared_runners_count)).to be(1)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/ci_cd_controller_spec.rb:85:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:shared_runners)).to contain_exactly(shared_runner)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/integrations_controller_spec.rb:34:29: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
    let(:active_services) { assigns(:integrations).map(&:model_name) }
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/integrations_controller_spec.rb:40:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/integrations_controller_spec.rb:287:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:edit)
                              ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/merge_requests_controller_spec.rb:19:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:show)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/operations_controller_spec.rb:69:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:show)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/settings/repository_controller_spec.rb:20:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:show)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/snippets_controller_spec.rb:60:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:snippets)).not_to include(project_snippet)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/snippets_controller_spec.rb:71:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:snippets)).to include(project_snippet)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/snippets_controller_spec.rb:82:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:snippets)).to include(project_snippet)
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/snippets_controller_spec.rb:123:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:snippet)).to eq(project_snippet)
             ^^^^^^^^^^^^^^^^^
spec/controllers/projects/snippets_controller_spec.rb:230:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:snippet)).to eq(project_snippet)
               ^^^^^^^^^^^^^^^^^
spec/controllers/projects/snippets_controller_spec.rb:231:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:blobs).map(&:name)).to eq(project_snippet.blobs.map(&:name))
               ^^^^^^^^^^^^^^^
spec/controllers/projects/snippets_controller_spec.rb:238:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:blobs).map(&:expanded?)).to be_all(false)
               ^^^^^^^^^^^^^^^
spec/controllers/projects/snippets_controller_spec.rb:247:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:blobs).map(&:expanded?)).to be_all(true)
                 ^^^^^^^^^^^^^^^
spec/controllers/projects/snippets_controller_spec.rb:261:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:snippet)).to eq(project_snippet)
                 ^^^^^^^^^^^^^^^^^
spec/controllers/projects/starrers_controller_spec.rb:26:7: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      assigns[:starrers].map { |s| s['user_id'] }
      ^^^^^^^
spec/controllers/projects/starrers_controller_spec.rb:31:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:total_count]).to eq(3)
               ^^^^^^^
spec/controllers/projects/starrers_controller_spec.rb:32:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:public_count]).to eq(2)
               ^^^^^^^
spec/controllers/projects/starrers_controller_spec.rb:33:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:private_count]).to eq(1)
               ^^^^^^^
spec/controllers/projects/starrers_controller_spec.rb:185:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:starrers]).to be_blank
               ^^^^^^^
spec/controllers/projects/tags_controller_spec.rb:17:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:tags).map(&:name)).to include('v1.1.0', 'v1.0.0')
             ^^^^^^^^^^^^^^
spec/controllers/projects/tags_controller_spec.rb:24:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:sort)).to eq('updated_desc')
               ^^^^^^^^^^^^^^
spec/controllers/projects/tags_controller_spec.rb:41:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:tags)).to eq([])
                 ^^^^^^^^^^^^^^
spec/controllers/projects/tags_controller_spec.rb:42:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:releases)).to eq([])
                 ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/tags_controller_spec.rb:51:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:releases)).to include(release)
             ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/tags_controller_spec.rb:52:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:releases)).not_to include(invalid_release)
             ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/tags_controller_spec.rb:63:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:releases)).to be_empty
               ^^^^^^^^^^^^^^^^^^
spec/controllers/projects/tags_controller_spec.rb:72:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:tag_pipeline_statuses)).to be_empty
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/tags_controller_spec.rb:93:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:tag_pipeline_statuses)['v1.1.0'].group).to eq("running")
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/tags_controller_spec.rb:94:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:tag_pipeline_statuses)['v1.0.0'].group).to eq("success")
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/tags_controller_spec.rb:117:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:tag_pipeline_statuses)['v1.0.0'].group).to eq("success")
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/usage_quotas_controller_spec.rb:27:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('errors/not_found')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/usage_quotas_controller_spec.rb:28:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).not_to render_template('shared/search_settings')
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/usage_quotas_controller_spec.rb:41:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('index')
                            ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects/usage_quotas_controller_spec.rb:42:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).not_to render_template('shared/search_settings')
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:33:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template('new')
                                ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:42:37: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).not_to render_template('new')
                                    ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:57:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template('new')
                                ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:71:35: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
              expect(response).to render_template('new')
                                  ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:84:39: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
              expect(response).not_to render_template('new')
                                      ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:187:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('projects/_wiki')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:196:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('projects/_issues')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:197:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:issuable_meta_data)).not_to be_nil
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:206:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template("projects/_activity")
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:214:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template("projects/_activity")
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:235:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template('empty')
                                ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:257:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template('projects/no_repo')
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:277:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('projects/missing_default_branch')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:297:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('_activity')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:306:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('_files')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:315:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('_readme')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:335:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('_files')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:558:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:badge_api_endpoint)).not_to be_nil
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:772:36: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          assign_repository_path = assigns(:repository).relative_path
                                   ^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:787:36: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          assign_repository_path = assigns(:repository).relative_path
                                   ^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:1455:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:project)).to eq(public_project)
                   ^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:1464:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:project)).to eq(public_project)
                   ^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:1793:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:show)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:1794:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(layout: :xml)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:1795:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:events)).to eq([event])
             ^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:1802:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:show)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:1803:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(layout: :xml)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/projects_controller_spec.rb:1804:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:events)).to eq([event])
             ^^^^^^^^^^^^^^^^
spec/controllers/registrations_controller_spec.rb:17:22: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(new).to render_template(:new)
                     ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/registrations_controller_spec.rb:19:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:resource)).to be_a(User)
             ^^^^^^^^^^^^^^^^^^
spec/controllers/registrations_controller_spec.rb:348:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/registrations_controller_spec.rb:357:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/registrations_controller_spec.rb:529:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:new)
                            ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/registrations_controller_spec.rb:591:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/root_controller_spec.rb:149:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template 'dashboard/projects/index'
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/search_controller_spec.rb:149:32: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(subject).to render_template("search/results/#{partial}")
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/search_controller_spec.rb:169:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns[:search_objects].first).to eq project
                   ^^^^^^^
spec/controllers/search_controller_spec.rb:246:22: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
              expect(assigns(:search_results)).to be_a ::Search::EmptySearchResults
                     ^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/search_controller_spec.rb:309:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns[:search_objects].first).to eq note
               ^^^^^^^
spec/controllers/search_controller_spec.rb:352:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns[:search_objects].count).to eq(0)
                   ^^^^^^^
spec/controllers/search_controller_spec.rb:362:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:search_objects].count).to eq(0)
                 ^^^^^^^
spec/controllers/search_controller_spec.rb:371:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns[:search_objects].count).to eq(0)
                 ^^^^^^^
spec/controllers/sent_notifications_controller_spec.rb:177:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template :unsubscribe
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/sessions_controller_spec.rb:25:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('devise/sessions/redirect_to_provider', layout: false)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/sessions_controller_spec.rb:371:35: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
              expect(response).to render_template(:new)
                                  ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/sessions_controller_spec.rb:381:35: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
              expect(response).to render_template(:new)
                                  ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/sessions_controller_spec.rb:405:35: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
              expect(response).to render_template(:new)
                                  ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/sessions_controller_spec.rb:425:35: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
              expect(response).to render_template(:new)
                                  ^^^^^^^^^^^^^^^^^^^^^
spec/controllers/sessions_controller_spec.rb:628:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('devise/sessions/two_factor')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/snippets_controller_spec.rb:63:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:snippet)).to eq(personal_snippet)
               ^^^^^^^^^^^^^^^^^
spec/controllers/snippets_controller_spec.rb:151:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:snippet)).to eq(public_snippet)
                 ^^^^^^^^^^^^^^^^^
spec/controllers/snippets_controller_spec.rb:167:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:snippet)).to eq(public_snippet)
                 ^^^^^^^^^^^^^^^^^
spec/controllers/snippets_controller_spec.rb:232:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:snippet)).to eq(snippet)
               ^^^^^^^^^^^^^^^^^
spec/controllers/snippets_controller_spec.rb:371:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:snippet)).to eq(snippet)
                 ^^^^^^^^^^^^^^^^^
spec/controllers/user_settings/personal_access_tokens_controller_spec.rb:100:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:active_access_tokens).to_json).to eq(active_personal_access_tokens_detail.to_json)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/user_settings/personal_access_tokens_controller_spec.rb:110:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:personal_access_token)).to have_attributes(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/user_settings/personal_access_tokens_controller_spec.rb:142:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:scopes)).to eq(Gitlab::Auth.available_scopes_for(access_token_user))
             ^^^^^^^^^^^^^^^^
spec/controllers/users/terms_controller_spec.rb:142:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:current_user)).to be_nil
               ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/abuse_reports_controller_spec.rb:35:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:new)
                            ^^^^^^^^^^^^^^^^^^^^^
spec/requests/abuse_reports_controller_spec.rb:41:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:abuse_report)).to be_kind_of(AbuseReport)
               ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/abuse_reports_controller_spec.rb:42:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:abuse_report)).to have_attributes(
               ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/abuse_reports_controller_spec.rb:22:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:abuse_reports).count).to eq 1
             ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/abuse_reports_controller_spec.rb:23:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:abuse_reports).first.open?).to eq true
             ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/abuse_reports_controller_spec.rb:29:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:abuse_reports).count).to eq 1
             ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/abuse_reports_controller_spec.rb:30:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:abuse_reports).first.closed?).to eq true
             ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/abuse_reports_controller_spec.rb:50:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:abuse_report)).to eq report
             ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/background_migrations_controller_spec.rb:26:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:failed_jobs)).to match_array([failed_job])
               ^^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/background_migrations_controller_spec.rb:68:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:migrations)).to match_array([main_database_migration])
               ^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/background_migrations_controller_spec.rb:78:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:migrations)).to match_array(Array.wrap(finalizing_migration))
                 ^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/background_migrations_controller_spec.rb:102:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:migrations)).to match_array([ci_database_migration])
                 ^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/background_migrations_controller_spec.rb:103:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:migrations)).not_to include(main_database_migration)
                 ^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/batched_jobs_controller_spec.rb:31:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:job)).to eql(main_database_job)
             ^^^^^^^^^^^^^
spec/requests/admin/batched_jobs_controller_spec.rb:68:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:job)).to eql(ci_database_job)
                 ^^^^^^^^^^^^^
spec/requests/admin/batched_jobs_controller_spec.rb:69:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:job)).not_to eql(main_database_job)
                 ^^^^^^^^^^^^^
spec/requests/admin/broadcast_messages_controller_spec.rb:22:32: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response.body).to render_template(:index)
                               ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/broadcast_messages_controller_spec.rb:58:34: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response.body).to render_template(:index)
                                 ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/broadcast_messages_controller_spec.rb:104:34: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response.body).to render_template(:edit)
                                 ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/admin/integrations_controller_spec.rb:38:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('shared/integrations/overrides')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/external_redirect/external_redirect_controller_spec.rb:29:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).not_to render_template(top_nav_partial)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/groups/achievements_controller_spec.rb:21:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/groups/crm/contacts_controller_spec.rb:21:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/groups/crm/organizations_controller_spec.rb:21:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/groups/settings/access_tokens_controller_spec.rb:118:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:active_access_tokens).to_json).to eq(active_access_tokens.to_json)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/groups/settings/access_tokens_controller_spec.rb:122:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:scopes)).to include(Gitlab::Auth::K8S_PROXY_SCOPE)
             ^^^^^^^^^^^^^^^^
spec/requests/groups/work_items_controller_spec.rb:67:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/groups/work_items_controller_spec.rb:77:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:show)
                              ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/ide_controller_spec.rb:54:22: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
              expect(assigns(:project)).to eq project
                     ^^^^^^^^^^^^^^^^^
spec/requests/ide_controller_spec.rb:56:22: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
              expect(assigns(:fork_info)).to eq({
                     ^^^^^^^^^^^^^^^^^^^
spec/requests/ide_controller_spec.rb:72:22: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
              expect(assigns(:fork_info)).to be_nil
                     ^^^^^^^^^^^^^^^^^^^
spec/requests/ide_controller_spec.rb:83:22: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
              expect(assigns(:project)).to eq project
                     ^^^^^^^^^^^^^^^^^
spec/requests/ide_controller_spec.rb:84:22: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
              expect(assigns(:fork_info)).to eq({ ide_path: controller.helpers.ide_edit_path(fork, '', '') })
                     ^^^^^^^^^^^^^^^^^^^
spec/requests/ide_controller_spec.rb:128:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:project)).to eq project
               ^^^^^^^^^^^^^^^^^
spec/requests/ide_controller_spec.rb:129:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:fork_info)).to be_nil
               ^^^^^^^^^^^^^^^^^^^
spec/requests/ide_controller_spec.rb:142:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:project)).to eq project
                   ^^^^^^^^^^^^^^^^^
spec/requests/ide_controller_spec.rb:143:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:fork_info)).to be_nil
                   ^^^^^^^^^^^^^^^^^^^
spec/requests/ide_controller_spec.rb:158:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('layouts/application')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/ide_controller_spec.rb:178:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template('layouts/fullscreen')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/import/github_controller_spec.rb:21:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:details)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/profiles/comment_templates_controller_spec.rb:20:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:hide_search_settings)).to eq(true)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/alert_management_controller_spec.rb:50:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:alert_id)).to eq(id.to_s)
               ^^^^^^^^^^^^^^^^^^
spec/requests/projects/aws/configuration_controller_spec.rb:43:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('projects/aws/configuration/index')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/commit_controller_spec.rb:69:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:diffs)).to be_a(Gitlab::Diff::FileCollection::Commit)
             ^^^^^^^^^^^^^^^
spec/requests/projects/commit_controller_spec.rb:70:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:environment)).to be_nil
             ^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/commit_controller_spec.rb:71:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:rapid_diffs)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/commit_controller_spec.rb:80:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:stream_url)).to eq(url)
               ^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/commit_controller_spec.rb:91:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:stream_url)).to eq(url)
                 ^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/google_cloud/configuration_controller_spec.rb:43:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('projects/google_cloud/configuration/index')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/google_cloud/deployments_controller_spec.rb:63:45: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(response).to redirect_to(assigns(:authorize_url))
                                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/google_cloud/deployments_controller_spec.rb:82:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/google_cloud/gcp_regions_controller_spec.rb:90:24: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        is_expected.to render_template('projects/google_cloud/gcp_regions/index')
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/google_cloud/revoke_oauth_controller_spec.rb:36:41: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(response).to redirect_to(assigns(:authorize_url))
                                        ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/google_cloud/service_accounts_controller_spec.rb:91:43: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(response).to redirect_to(assigns(:authorize_url))
                                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/google_cloud/service_accounts_controller_spec.rb:101:43: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(response).to redirect_to(assigns(:authorize_url))
                                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/incidents_controller_spec.rb:40:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:index)
                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/incidents_controller_spec.rb:56:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:index)
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/incidents_controller_spec.rb:74:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(:show)
                          ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/incidents_controller_spec.rb:76:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:incident)).to be_present
             ^^^^^^^^^^^^^^^^^^
spec/requests/projects/incidents_controller_spec.rb:77:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:incident).author.association(:status)).to be_loaded
             ^^^^^^^^^^^^^^^^^^
spec/requests/projects/incidents_controller_spec.rb:78:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:issue)).to be_present
             ^^^^^^^^^^^^^^^
spec/requests/projects/incidents_controller_spec.rb:79:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:noteable)).to eq(assigns(:incident))
             ^^^^^^^^^^^^^^^^^^
spec/requests/projects/incidents_controller_spec.rb:79:40: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:noteable)).to eq(assigns(:incident))
                                       ^^^^^^^^^^^^^^^^^^
spec/requests/projects/incidents_controller_spec.rb:101:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:show)
                            ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/integrations/slash_commands_controller_spec.rb:35:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:show)
                              ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/integrations/slash_commands_controller_spec.rb:55:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template(:show)
                                ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/integrations/slash_commands_controller_spec.rb:67:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template(:show)
                                ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/integrations/slash_commands_controller_spec.rb:96:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:show)
                              ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/integrations/slash_commands_controller_spec.rb:124:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template(:show)
                                ^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/merge_requests/creations_spec.rb:50:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(partial: '_new_compare')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/merge_requests/creations_spec.rb:59:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(partial: '_new_submit')
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/merge_requests/creations_spec.rb:60:35: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).not_to render_template(partial: '_new_compare')
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/merge_requests/creations_spec.rb:74:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template(partial: '_new_compare')
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/merge_requests_controller_spec.rb:238:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:stream_url)).to eq(url)
                 ^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/merge_requests_controller_spec.rb:247:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            expect(assigns(:stream_url)).to eq(url)
                   ^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/candidates_controller_spec.rb:59:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('projects/ml/candidates/show')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/candidates_controller_spec.rb:81:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('projects/ml/candidates/promote')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/experiments_controller_spec.rb:62:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('projects/ml/experiments/index')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/experiments_controller_spec.rb:88:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:experiments).size).to eq(2)
               ^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/experiments_controller_spec.rb:92:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        page = assigns(:experiments)
               ^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/experiments_controller_spec.rb:97:43: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        new_params = params.merge(cursor: assigns(:page_info)[:end_cursor])
                                          ^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/experiments_controller_spec.rb:101:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        new_page = assigns(:experiments)
                   ^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/experiments_controller_spec.rb:119:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('projects/ml/experiments/show')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/experiments_controller_spec.rb:140:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:candidates).size).to eq(2)
                 ^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/experiments_controller_spec.rb:144:22: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          received = assigns(:page_info)
                     ^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/experiments_controller_spec.rb:163:20: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            page = assigns(:candidates)
                   ^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/experiments_controller_spec.rb:168:47: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            new_params = params.merge(cursor: assigns(:page_info)[:end_cursor])
                                              ^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/experiments_controller_spec.rb:172:24: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
            new_page = assigns(:candidates)
                       ^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/model_versions_controller_spec.rb:42:22: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      is_expected.to render_template('projects/ml/model_versions/show')
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/model_versions_controller_spec.rb:48:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:model)).to eq(model)
             ^^^^^^^^^^^^^^^
spec/requests/projects/ml/model_versions_controller_spec.rb:49:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:model_version)).to eq(version)
             ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/model_versions_controller_spec.rb:86:22: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      is_expected.to render_template('projects/ml/model_versions/edit')
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/model_versions_controller_spec.rb:92:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:model)).to eq(model)
             ^^^^^^^^^^^^^^^
spec/requests/projects/ml/model_versions_controller_spec.rb:93:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:model_version)).to eq(version)
             ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/model_versions_controller_spec.rb:135:22: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      is_expected.to render_template('projects/ml/model_versions/new')
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/model_versions_controller_spec.rb:141:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:model)).to eq(model)
             ^^^^^^^^^^^^^^^
spec/requests/projects/ml/models_controller_spec.rb:34:32: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(index_request).to render_template('projects/ml/models/index')
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/models_controller_spec.rb:60:22: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      is_expected.to render_template('projects/ml/models/show')
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/models_controller_spec.rb:66:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:model)).to eq(model1)
             ^^^^^^^^^^^^^^^
spec/requests/projects/ml/models_controller_spec.rb:99:22: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      is_expected.to render_template('projects/ml/models/new')
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/models_controller_spec.rb:123:22: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      is_expected.to render_template('projects/ml/models/edit')
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/ml/models_controller_spec.rb:129:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:model)).to eq(model1)
             ^^^^^^^^^^^^^^^
spec/requests/projects/network_controller_spec.rb:36:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:url)).to eq(project_network_path(project, ref, format: :json, ref_type: 'heads'))
                 ^^^^^^^^^^^^^
spec/requests/projects/network_controller_spec.rb:42:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:url)).to eq(project_network_path(project, ref, format: :json))
               ^^^^^^^^^^^^^
spec/requests/projects/releases_controller_spec.rb:54:33: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).to render_template(:redirect)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/settings/access_tokens_controller_spec.rb:119:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:active_access_tokens).to_json).to eq(active_access_tokens.to_json)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/settings/access_tokens_controller_spec.rb:123:14: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
      expect(assigns(:scopes)).to include(Gitlab::Auth::K8S_PROXY_SCOPE)
             ^^^^^^^^^^^^^^^^
spec/requests/projects/settings/packages_and_registries_controller_spec.rb:62:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template(:cleanup_tags)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/projects/settings/slacks_controller_spec.rb:53:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('projects/settings/slacks/edit')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/registrations_controller_spec.rb:48:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:new)
                              ^^^^^^^^^^^^^^^^^^^^^
spec/requests/registrations_controller_spec.rb:59:37: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
            expect(response).not_to render_template(:new)
                                    ^^^^^^^^^^^^^^^^^^^^^
spec/requests/sandbox_controller_spec.rb:13:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template(layout: nil)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/time_tracking/timelogs_controller_spec.rb:29:31: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
          expect(response).to render_template(:index)
                              ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/users_controller_spec.rb:24:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('show')
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/users_controller_spec.rb:121:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('show')
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/users_controller_spec.rb:489:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:contributions_calendar).projects.count).to eq(2)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/users_controller_spec.rb:664:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:contributed_projects).size).to eq(per_page_limit)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/users_controller_spec.rb:665:16: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
        expect(assigns(:contributed_projects)).to be_a(Kaminari::PaginatableWithoutCount)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/users_controller_spec.rb:736:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('show')
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/users_controller_spec.rb:862:29: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
        expect(response).to render_template('show')
                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/users_controller_spec.rb:904:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:groups).size).to eq(per_page_limit)
                 ^^^^^^^^^^^^^^^^
spec/requests/users_controller_spec.rb:905:18: C: RSpec/RailsControllerTesting: Avoid using assigns. Instead, assert on observable outputs such as the response body.
          expect(assigns(:groups)).to be_a(Kaminari::PaginatableWithoutCount)
                 ^^^^^^^^^^^^^^^^
spec/requests/verifies_with_email_spec.rb:56:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('devise/sessions/email_verification')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/requests/verifies_with_email_spec.rb:496:27: C: RSpec/RailsControllerTesting: Avoid using render_template. Instead, assert on observable outputs such as the response body.
      expect(response).to render_template('successful_verification', layout: 'minimal')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
40720 files inspected, 835 offenses detectedEdited  by Peter Leitzen