diff options
author | Valery Sizov <vsv2711@gmail.com> | 2015-03-23 16:47:38 +0200 |
---|---|---|
committer | Valery Sizov <vsv2711@gmail.com> | 2015-03-26 13:43:29 +0200 |
commit | ba9f2ae201cc85dcb3321491b2ba7a4ff102d6b3 (patch) | |
tree | 05c4ac878cdb05f1b3534bd2895d70b109956e28 | |
parent | 790388fe366febd49b48f3df381b5b05d5c2e2ad (diff) | |
download | gitlab-ci-ba9f2ae201cc85dcb3321491b2ba7a4ff102d6b3.tar.gz |
specs for events
-rw-r--r-- | app/services/event_service.rb | 1 | ||||
-rw-r--r-- | spec/factories/events.rb | 11 | ||||
-rw-r--r-- | spec/features/admin/events_spec.rb | 20 | ||||
-rw-r--r-- | spec/features/events_spec.rb | 20 | ||||
-rw-r--r-- | spec/services/event_service_spec.rb | 34 |
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 |