Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoyan Tabakov <boyan.tabakov@futurice.com>2014-08-21 14:53:32 +0400
committerBoyan Tabakov <boyan.tabakov@futurice.com>2015-01-27 10:25:28 +0300
commit93bc2d5202e5802bd31419d05232b62355516a53 (patch)
treea1b2f38faa6470b8df2f0047115a22fbe8361f57 /spec/services/system_hooks_service_spec.rb
parenta4dad7085850aa62134ed23b90f3a045c3569663 (diff)
Added support for firing system hooks on group create/destroy and adding/removing users to group.
Added tests and updated docs. Also adding 'user_id' field in the hooks for adding/removing user from team.
Diffstat (limited to 'spec/services/system_hooks_service_spec.rb')
-rw-r--r--spec/services/system_hooks_service_spec.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/services/system_hooks_service_spec.rb b/spec/services/system_hooks_service_spec.rb
index 573446d3a19..a45e9d0575c 100644
--- a/spec/services/system_hooks_service_spec.rb
+++ b/spec/services/system_hooks_service_spec.rb
@@ -5,6 +5,8 @@ describe SystemHooksService do
let (:project) { create :project }
let (:project_member) { create :project_member }
let (:key) { create(:key, user: user) }
+ let (:group) { create(:group) }
+ let (:group_member) { create(:group_member) }
context 'event data' do
it { event_data(user, :create).should include(:event_name, :name, :created_at, :email, :user_id) }
@@ -15,6 +17,31 @@ describe SystemHooksService do
it { event_data(project_member, :destroy).should include(:event_name, :created_at, :project_name, :project_path, :project_id, :user_name, :user_email, :access_level, :project_visibility) }
it { event_data(key, :create).should include(:username, :key, :id) }
it { event_data(key, :destroy).should include(:username, :key, :id) }
+
+ it do
+ event_data(group, :create).should include(
+ :event_name, :name, :created_at, :path, :group_id, :owner_name,
+ :owner_email
+ )
+ end
+ it do
+ event_data(group, :destroy).should include(
+ :event_name, :name, :created_at, :path, :group_id, :owner_name,
+ :owner_email
+ )
+ end
+ it do
+ event_data(group_member, :create).should include(
+ :event_name, :created_at, :group_name, :group_path, :group_id, :user_id,
+ :user_name, :user_email, :group_access
+ )
+ end
+ it do
+ event_data(group_member, :destroy).should include(
+ :event_name, :created_at, :group_name, :group_path, :group_id, :user_id,
+ :user_name, :user_email, :group_access
+ )
+ end
end
context 'event names' do
@@ -26,6 +53,10 @@ describe SystemHooksService do
it { event_name(project_member, :destroy).should eq "user_remove_from_team" }
it { event_name(key, :create).should eq 'key_create' }
it { event_name(key, :destroy).should eq 'key_destroy' }
+ it { event_name(group, :create).should eq 'group_create' }
+ it { event_name(group, :destroy).should eq 'group_destroy' }
+ it { event_name(group_member, :create).should eq 'user_add_to_group' }
+ it { event_name(group_member, :destroy).should eq 'user_remove_from_group' }
end
def event_data(*args)