diff options
author | Andreas Brandl <abrandl@gitlab.com> | 2018-04-04 17:14:19 +0200 |
---|---|---|
committer | Andreas Brandl <abrandl@gitlab.com> | 2018-04-06 12:27:20 +0200 |
commit | 29b0a90c208f29606a05d1391a72b9ff7ff843b1 (patch) | |
tree | 0c5e0312ed62271c0221f7f2f887cc694f87c765 /spec/models/user_spec.rb | |
parent | 52b232ca5d18ffc08299f5bb0ef3be46d2fecca3 (diff) | |
download | gitlab-ce-29b0a90c208f29606a05d1391a72b9ff7ff843b1.tar.gz |
Cache personal projects count.
Closes #37462.
Diffstat (limited to 'spec/models/user_spec.rb')
-rw-r--r-- | spec/models/user_spec.rb | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index a600987d0bf..73266c0085f 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -2234,6 +2234,20 @@ describe User do end end + context '#invalidate_personal_projects_count' do + let(:user) { build_stubbed(:user) } + + it 'invalidates cache for personal projects counter' do + cache_mock = double + + expect(cache_mock).to receive(:delete).with(['users', user.id, 'personal_projects_count']) + + allow(Rails).to receive(:cache).and_return(cache_mock) + + user.invalidate_personal_projects_count + end + end + describe '#allow_password_authentication_for_web?' do context 'regular user' do let(:user) { build(:user) } @@ -2283,11 +2297,9 @@ describe User do user = build(:user) projects = double(:projects, count: 1) - expect(user).to receive(:personal_projects).once.and_return(projects) + expect(user).to receive(:personal_projects).and_return(projects) - 2.times do - expect(user.personal_projects_count).to eq(1) - end + expect(user.personal_projects_count).to eq(1) end end |