diff options
author | Maxim Rydkin <maks.rydkin@gmail.com> | 2017-08-23 22:33:56 +0300 |
---|---|---|
committer | Maxim Rydkin <maks.rydkin@gmail.com> | 2017-09-10 18:31:05 +0300 |
commit | fbbb985a03d0b51e28a3df5a3c3f21a81540405f (patch) | |
tree | 4eeb1f2e52ae82c5917ab1cf340a493200e5e50d /spec/finders | |
parent | 5d952f756bcf0355fc5d86d819dfc6913c0ae351 (diff) | |
download | gitlab-ce-fbbb985a03d0b51e28a3df5a3c3f21a81540405f.tar.gz |
extract finder and add first test
Diffstat (limited to 'spec/finders')
-rw-r--r-- | spec/finders/yet_another_users_finder_spec.rb | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/spec/finders/yet_another_users_finder_spec.rb b/spec/finders/yet_another_users_finder_spec.rb new file mode 100644 index 00000000000..98a4fc4d20e --- /dev/null +++ b/spec/finders/yet_another_users_finder_spec.rb @@ -0,0 +1,86 @@ +require 'spec_helper' + +describe YetAnotherUsersFinder do + describe '#execute' do + let!(:user1) { create(:user, username: 'johndoe') } + let!(:user2) { create(:user, :blocked, username: 'notsorandom') } + let!(:external_user) { create(:user, :external) } + let!(:omniauth_user) { create(:omniauth_user, provider: 'twitter', extern_uid: '123456') } + let(:current_user) { create(:user) } + let(:params) { {} } + + it 'returns no users' do + users = described_class.new(params: params, current_user: current_user).execute + + expect(users.size).to eq(0) + end + + + # context 'with a normal user' do + # let(:user) { create(:user) } + + # it 'returns all users' do + # users = described_class.new(user).execute + + # expect(users).to contain_exactly(user, user1, user2, omniauth_user) + # end + + # it 'filters by username' do + # users = described_class.new(user, username: 'johndoe').execute + + # expect(users).to contain_exactly(user1) + # end + + # it 'filters by search' do + # users = described_class.new(user, search: 'orando').execute + + # expect(users).to contain_exactly(user2) + # end + + # it 'filters by blocked users' do + # users = described_class.new(user, blocked: true).execute + + # expect(users).to contain_exactly(user2) + # end + + # it 'filters by active users' do + # users = described_class.new(user, active: true).execute + + # expect(users).to contain_exactly(user, user1, omniauth_user) + # end + + # it 'returns no external users' do + # users = described_class.new(user, external: true).execute + + # expect(users).to contain_exactly(user, user1, user2, omniauth_user) + # end + + # it 'filters by created_at' do + # filtered_user_before = create(:user, created_at: 3.days.ago) + # filtered_user_after = create(:user, created_at: Time.now + 3.days) + + # users = described_class.new(user, + # created_after: 2.days.ago, + # created_before: Time.now + 2.days).execute + + # expect(users.map(&:username)).not_to include([filtered_user_before.username, filtered_user_after.username]) + # end + # end + + # context 'with an admin user' do + # let(:admin) { create(:admin) } + + # it 'filters by external users' do + # users = described_class.new(admin, external: true).execute + + # expect(users).to contain_exactly(external_user) + # end + + # it 'returns all users' do + # users = described_class.new(admin).execute + + # expect(users).to contain_exactly(admin, user1, user2, external_user, omniauth_user) + # end + # end + end +end |