BigW Consortium Gitlab

Commit 3c15f0ea by Mark Fletcher

Accept a username for User-level Events API

parent ad3e180e
...@@ -129,7 +129,7 @@ Parameters: ...@@ -129,7 +129,7 @@ Parameters:
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- | | --------- | ---- | -------- | ----------- |
| `id` | integer | yes | The ID of the user | | `id` | integer | yes | The ID or Username of the user |
| `action` | string | no | Include only events of a particular [action type][action-types] | | `action` | string | no | Include only events of a particular [action type][action-types] |
| `target_type` | string | no | Include only events of a particular [target type][target-types] | | `target_type` | string | no | Include only events of a particular [target type][target-types] |
| `before` | date | no | Include only events created before a particular date. Please see [here for the supported format][date-formatting] | | `before` | date | no | Include only events created before a particular date. Please see [here for the supported format][date-formatting] |
......
...@@ -42,7 +42,7 @@ module API ...@@ -42,7 +42,7 @@ module API
end end
params do params do
requires :id, type: Integer, desc: 'The ID of the user' requires :id, type: String, desc: 'The ID or Username of the user'
end end
resource :users do resource :users do
desc 'Get the contribution events of a specified user' do desc 'Get the contribution events of a specified user' do
...@@ -55,7 +55,7 @@ module API ...@@ -55,7 +55,7 @@ module API
use :sort_params use :sort_params
end end
get ':id/events' do get ':id/events' do
user = User.find_by(id: params[:id]) user = find_user(params[:id])
not_found!('User') unless user not_found!('User') unless user
events = EventsFinder.new(params.merge(source: user, current_user: current_user)).execute.preload(:author, :target) events = EventsFinder.new(params.merge(source: user, current_user: current_user)).execute.preload(:author, :target)
......
...@@ -41,6 +41,15 @@ describe API::Events, api: true do ...@@ -41,6 +41,15 @@ describe API::Events, api: true do
end end
context "as a user that can see the event's project" do context "as a user that can see the event's project" do
it 'accepts a username' do
get api("/users/#{user.username}/events", user)
expect(response).to have_http_status(200)
expect(response).to include_pagination_headers
expect(json_response).to be_an Array
expect(json_response.size).to eq(1)
end
it 'returns the events' do it 'returns the events' do
get api("/users/#{user.id}/events", user) get api("/users/#{user.id}/events", user)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment