diff options
-rw-r--r-- | app/models/wiki.rb | 1 | ||||
-rw-r--r-- | spec/factories.rb | 4 | ||||
-rw-r--r-- | spec/models/event_spec.rb | 44 | ||||
-rw-r--r-- | spec/models/wiki_spec.rb | 31 |
4 files changed, 78 insertions, 2 deletions
diff --git a/app/models/wiki.rb b/app/models/wiki.rb index ad3e4a38125..3315488cfe1 100644 --- a/app/models/wiki.rb +++ b/app/models/wiki.rb @@ -7,7 +7,6 @@ class Wiki < ActiveRecord::Base before_update :set_slug - def to_param slug end diff --git a/spec/factories.rb b/spec/factories.rb index ac1ea051766..af0b8acb2cb 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -64,9 +64,11 @@ Factory.add(:web_hook, WebHook) do |obj| obj.url = Faker::Internet.url end -Factory.add(:wikis, WebHook) do |obj| +Factory.add(:wiki, Wiki) do |obj| obj.title = Faker::Lorem.sentence obj.content = Faker::Lorem.sentence + obj.user = Factory(:user) + obj.project = Factory(:project) end Factory.add(:event, Event) do |obj| diff --git a/spec/models/event_spec.rb b/spec/models/event_spec.rb index 50266fcf8ed..ee3bc40e354 100644 --- a/spec/models/event_spec.rb +++ b/spec/models/event_spec.rb @@ -20,6 +20,14 @@ describe Event do it { should belong_to(:project) } end + describe "Respond to" do + it { should respond_to(:author_name) } + it { should respond_to(:author_email) } + it { should respond_to(:issue_title) } + it { should respond_to(:merge_request_title) } + it { should respond_to(:commits) } + end + describe "Creation" do before do @event = Factory :event @@ -29,4 +37,40 @@ describe Event do @event.should be_valid end end + + describe "Push event" do + before do + project = Factory :project + @user = project.owner + + data = { + :before => "0000000000000000000000000000000000000000", + :after => "0220c11b9a3e6c69dc8fd35321254ca9a7b98f7e", + :ref => "refs/heads/master", + :user_id => @user.id, + :user_name => @user.name, + :repository => { + :name => project.name, + :url => "localhost/rubinius", + :description => "", + :homepage => "localhost/rubinius", + :private => true + } + } + + @event = Event.create( + :project => project, + :action => Event::Pushed, + :data => data, + :author_id => @user.id + ) + end + + it { @event.push?.should be_true } + it { @event.allowed?.should be_true } + it { @event.new_branch?.should be_true } + it { @event.new_tag?.should be_false } + it { @event.branch_name.should == "master" } + it { @event.author.should == @user } + end end diff --git a/spec/models/wiki_spec.rb b/spec/models/wiki_spec.rb new file mode 100644 index 00000000000..05dbc972350 --- /dev/null +++ b/spec/models/wiki_spec.rb @@ -0,0 +1,31 @@ +require 'spec_helper' + +describe Wiki do + describe "Associations" do + it { should belong_to(:project) } + it { should belong_to(:user) } + end + + describe "Validation" do + it { should validate_presence_of(:title) } + it { should validate_presence_of(:content) } + it { should validate_presence_of(:user_id) } + end + + it { Factory(:wiki).should be_valid } +end +# == Schema Information +# +# Table name: snippets +# +# id :integer not null, primary key +# title :string(255) +# content :text +# author_id :integer not null +# project_id :integer not null +# created_at :datetime +# updated_at :datetime +# file_name :string(255) +# expires_at :datetime +# + |