diff options
author | James Lopez <james@jameslopez.es> | 2017-07-06 16:59:40 +0200 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2017-07-06 16:59:40 +0200 |
commit | cfec7584c5df5dce7d5d950a705b4daca323c445 (patch) | |
tree | 55e210018e4d4f2efb1f566d6f73e58ece7a2e96 | |
parent | 5af1fcd6f329858d757bab0d67cb50af6c820160 (diff) | |
download | gitlab-ce-feature/user-datetime-search-api-mysql.tar.gz |
add finder and users API specfeature/user-datetime-search-api-mysql
-rw-r--r-- | spec/finders/users_finder_spec.rb | 6 | ||||
-rw-r--r-- | spec/requests/api/users_spec.rb | 29 |
2 files changed, 35 insertions, 0 deletions
diff --git a/spec/finders/users_finder_spec.rb b/spec/finders/users_finder_spec.rb index 780b309b45e..a2e5081b8d3 100644 --- a/spec/finders/users_finder_spec.rb +++ b/spec/finders/users_finder_spec.rb @@ -45,6 +45,12 @@ describe UsersFinder do expect(users).to contain_exactly(user, user1, user2, omniauth_user) end + + it 'filters by created_at' do + users = described_class.new(user, created_after: 2.days.ago, created_before: Time.now + 2.days).execute + + expect(users.count).to eq(4) + end end context 'with an admin user' do diff --git a/spec/requests/api/users_spec.rb b/spec/requests/api/users_spec.rb index 8640c16203e..73cdd64bb59 100644 --- a/spec/requests/api/users_spec.rb +++ b/spec/requests/api/users_spec.rb @@ -163,6 +163,35 @@ describe API::Users do expect(response).to have_http_status(400) end + + it "returns an user created before a specific date" do + user = create(:user, created_at: Date.new(2000,1,1)) + + get api("/users?created_before=2000-01-02T00:00:00.060Z", admin) + + expect(response).to have_http_status(200) + expect(json_response.size).to eq(1) + expect(json_response.first['username']).to eq(user.username) + end + + it "returns no users created before a specific date" do + create(:user, created_at: Date.new(2001,1,1)) + + get api("/users?created_before=2000-01-02T00:00:00.060Z", admin) + + expect(response).to have_http_status(200) + expect(json_response.size).to eq(0) + end + + it "returns users created before and after a specific date" do + user = create(:user, created_at: Date.new(2001,1,1)) + + get api("/users?created_before=2001-01-02T00:00:00.060Z&created_after=1999-01-02T00:00:00.060", admin) + + expect(response).to have_http_status(200) + expect(json_response.size).to eq(1) + expect(json_response.first['username']).to eq(user.username) + end end end |