summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Sizov <vsv2711@gmail.com>2015-03-23 16:47:38 +0200
committerValery Sizov <vsv2711@gmail.com>2015-03-26 13:43:29 +0200
commitba9f2ae201cc85dcb3321491b2ba7a4ff102d6b3 (patch)
tree05c4ac878cdb05f1b3534bd2895d70b109956e28
parent790388fe366febd49b48f3df381b5b05d5c2e2ad (diff)
downloadgitlab-ci-ba9f2ae201cc85dcb3321491b2ba7a4ff102d6b3.tar.gz
specs for events
-rw-r--r--app/services/event_service.rb1
-rw-r--r--spec/factories/events.rb11
-rw-r--r--spec/features/admin/events_spec.rb20
-rw-r--r--spec/features/events_spec.rb20
-rw-r--r--spec/services/event_service_spec.rb34
5 files changed, 85 insertions, 1 deletions
diff --git a/app/services/event_service.rb b/app/services/event_service.rb
index e2ec4a7..015a0f7 100644
--- a/app/services/event_service.rb
+++ b/app/services/event_service.rb
@@ -16,7 +16,6 @@ class EventService
end
def change_project_settings(user, project)
- binding.pry
create(
project_id: project.id,
user_id: user.id,
diff --git a/spec/factories/events.rb b/spec/factories/events.rb
new file mode 100644
index 0000000..e2d7608
--- /dev/null
+++ b/spec/factories/events.rb
@@ -0,0 +1,11 @@
+FactoryGirl.define do
+ factory :event, class: Event do
+ sequence :description do |n|
+ "updated project settings#{n}"
+ end
+
+ factory :admin_event do
+ is_admin true
+ end
+ end
+end \ No newline at end of file
diff --git a/spec/features/admin/events_spec.rb b/spec/features/admin/events_spec.rb
new file mode 100644
index 0000000..469c6ed
--- /dev/null
+++ b/spec/features/admin/events_spec.rb
@@ -0,0 +1,20 @@
+require 'spec_helper'
+
+describe "Admin Events" do
+ let(:event) { FactoryGirl.create :admin_event }
+
+ before do
+ skip_admin_auth
+ login_as :user
+ end
+
+ describe "GET /admin/events" do
+ before do
+ event
+ visit admin_events_path
+ end
+
+ it { page.should have_content "Events" }
+ it { page.should have_content event.description }
+ end
+end
diff --git a/spec/features/events_spec.rb b/spec/features/events_spec.rb
new file mode 100644
index 0000000..77d1fba
--- /dev/null
+++ b/spec/features/events_spec.rb
@@ -0,0 +1,20 @@
+require 'spec_helper'
+
+describe "Events" do
+ let(:project) { FactoryGirl.create :project }
+ let(:event) { FactoryGirl.create :admin_event, project: project }
+
+ before do
+ login_as :user
+ end
+
+ describe "GET /project/:id/events" do
+ before do
+ event
+ visit project_events_path(project)
+ end
+
+ it { page.should have_content "Events" }
+ it { page.should have_content event.description }
+ end
+end
diff --git a/spec/services/event_service_spec.rb b/spec/services/event_service_spec.rb
new file mode 100644
index 0000000..f7b9bf5
--- /dev/null
+++ b/spec/services/event_service_spec.rb
@@ -0,0 +1,34 @@
+require 'spec_helper'
+
+describe EventService do
+ let (:project) { FactoryGirl.create :project, name: "GitLab / gitlab-shell" }
+ let (:user) { double(username: "root", id: 1) }
+
+ before do
+ Event.destroy_all
+ end
+
+ describe :remove_project do
+ it "creates event" do
+ EventService.new.remove_project(user, project)
+
+ Event.admin.last.description.should == "Project \"GitLab / gitlab-shell\" has been removed by root"
+ end
+ end
+
+ describe :create_project do
+ it "creates event" do
+ EventService.new.create_project(user, project)
+
+ Event.admin.last.description.should == "Project \"GitLab / gitlab-shell\" has been created by root"
+ end
+ end
+
+ describe :change_project_settings do
+ it "creates event" do
+ EventService.new.change_project_settings(user, project)
+
+ Event.last.description.should == "User \"root\" updated projects settings"
+ end
+ end
+end \ No newline at end of file