dashboard_controller_spec.rb 1.03 KB
Newer Older
1 2 3 4 5 6 7 8
require 'spec_helper'

describe Admin::DashboardController do
  describe '#index' do
    it "allows an admin user to access the page" do
      sign_in(create(:user, :admin))
      get :index

9
      expect(response).to have_gitlab_http_status(200)
10 11 12 13 14 15
    end

    it "does not allow an auditor user to access the page" do
      sign_in(create(:user, :auditor))
      get :index

16
      expect(response).to have_gitlab_http_status(404)
17 18 19 20 21 22
    end

    it "does not allow a regular user to access the page" do
      sign_in(create(:user))
      get :index

23
      expect(response).to have_gitlab_http_status(404)
24
    end
25 26 27 28 29 30 31

    context 'with pending_delete projects' do
      render_views

      it 'does not retrieve projects that are pending deletion' do
        sign_in(create(:admin))

32 33
        project = create(:project)
        pending_delete_project = create(:project, pending_delete: true)
34 35 36 37 38 39 40

        get :index

        expect(response.body).to match(project.name)
        expect(response.body).not_to match(pending_delete_project.name)
      end
    end
41 42
  end
end