mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-10 21:26:07 +10:00
Expose notification setting events in API
This commit is contained in:
+2
-1
@@ -275,7 +275,8 @@ module API
|
||||
expose :access_level
|
||||
expose :notification_level do |member, options|
|
||||
if member.notification_setting
|
||||
NotificationSetting.levels[member.notification_setting.level]
|
||||
setting = member.notification_setting
|
||||
{ level: NotificationSetting.levels[setting.level], events: setting.events }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -428,8 +428,9 @@ describe API::API, api: true do
|
||||
|
||||
describe 'permissions' do
|
||||
context 'all projects' do
|
||||
it 'Contains permission information' do
|
||||
project.team << [user, :master]
|
||||
before { project.team << [user, :master] }
|
||||
|
||||
it 'contains permission information' do
|
||||
get api("/projects", user)
|
||||
|
||||
expect(response.status).to eq(200)
|
||||
@@ -437,10 +438,18 @@ describe API::API, api: true do
|
||||
to eq(Gitlab::Access::MASTER)
|
||||
expect(json_response.first['permissions']['group_access']).to be_nil
|
||||
end
|
||||
|
||||
it 'contains notification level information' do
|
||||
get api("/projects", user)
|
||||
|
||||
expect(response.status).to eq(200)
|
||||
expect(json_response.first['permissions']['project_access']['notification_level']['level']).to eq(NotificationSetting.levels[:global])
|
||||
expect(json_response.first['permissions']['project_access']['notification_level'].keys).to include('events')
|
||||
end
|
||||
end
|
||||
|
||||
context 'personal project' do
|
||||
it 'Sets project access and returns 200' do
|
||||
it 'sets project access and returns 200' do
|
||||
project.team << [user, :master]
|
||||
get api("/projects/#{project.id}", user)
|
||||
|
||||
@@ -452,9 +461,11 @@ describe API::API, api: true do
|
||||
end
|
||||
|
||||
context 'group project' do
|
||||
let(:project2) { create(:project, group: create(:group)) }
|
||||
|
||||
before { project2.group.add_owner(user) }
|
||||
|
||||
it 'should set the owner and return 200' do
|
||||
project2 = create(:project, group: create(:group))
|
||||
project2.group.add_owner(user)
|
||||
get api("/projects/#{project2.id}", user)
|
||||
|
||||
expect(response.status).to eq(200)
|
||||
@@ -462,6 +473,14 @@ describe API::API, api: true do
|
||||
expect(json_response['permissions']['group_access']['access_level']).
|
||||
to eq(Gitlab::Access::OWNER)
|
||||
end
|
||||
|
||||
it 'shows notification level information' do
|
||||
get api("/projects/#{project2.id}", user)
|
||||
|
||||
expect(response.status).to eq(200)
|
||||
expect(json_response['permissions']['group_access']['notification_level']['level']).to eq(NotificationSetting.levels[:global])
|
||||
expect(json_response['permissions']['group_access']['notification_level'].keys).to include('events')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user