summaryrefslogtreecommitdiff
path: root/spec/features/admin/dashboard_spec.rb
blob: 4ffa5e3be0bb0149dabd9a860da461398e991a69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe 'admin visits dashboard' do
  include ProjectForksHelper

  before do
    sign_in(create(:admin))
  end

  context 'counting forks', :js do
    it 'correctly counts 2 forks of a project' do
      project = create(:project)
      project_fork = fork_project(project)
      fork_project(project_fork)

      # Make sure the fork_networks & fork_networks reltuples have been updated
      # to get a correct count on postgresql
      ActiveRecord::Base.connection.execute('ANALYZE fork_networks')
      ActiveRecord::Base.connection.execute('ANALYZE fork_network_members')

      visit admin_root_path

      expect(page).to have_content('Forks 2')
    end
  end

  describe 'Users statistic' do
    let_it_be(:users_statistics) { create(:users_statistics) }

    it 'shows correct amounts of users', :aggregate_failures do
      expected_active_users_text = Gitlab.ee? ? 'Active users (Billable users) 71' : 'Active users 71'

      sign_in(create(:admin))
      visit admin_dashboard_stats_path

      expect(page).to have_content('Users without a Group and Project 23')
      expect(page).to have_content('Users with highest role Guest 5')
      expect(page).to have_content('Users with highest role Reporter 9')
      expect(page).to have_content('Users with highest role Developer 21')
      expect(page).to have_content('Users with highest role Maintainer 6')
      expect(page).to have_content('Users with highest role Owner 5')
      expect(page).to have_content('Bots 2')
      expect(page).to have_content(expected_active_users_text)
      expect(page).to have_content('Blocked users 7')
      expect(page).to have_content('Total users 78')
    end
  end
end