summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2017-07-06 16:59:40 +0200
committerJames Lopez <james@jameslopez.es>2017-07-06 16:59:40 +0200
commitcfec7584c5df5dce7d5d950a705b4daca323c445 (patch)
tree55e210018e4d4f2efb1f566d6f73e58ece7a2e96
parent5af1fcd6f329858d757bab0d67cb50af6c820160 (diff)
downloadgitlab-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.rb6
-rw-r--r--spec/requests/api/users_spec.rb29
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