Event & Wiki models specs

This commit is contained in:
Dmitriy Zaporozhets 2012-03-28 22:53:45 +03:00
parent ef32e01b4c
commit 8ee0993fdf
4 changed files with 78 additions and 2 deletions

View file

@ -7,7 +7,6 @@ class Wiki < ActiveRecord::Base
before_update :set_slug
def to_param
slug
end

View file

@ -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|

View file

@ -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

31
spec/models/wiki_spec.rb Normal file
View file

@ -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
#