IZ using factories for the spec
This commit is contained in:
parent
3c3c194ed5
commit
ee295d01ff
6 changed files with 38 additions and 21 deletions
1
Gemfile
1
Gemfile
|
|
@ -16,6 +16,7 @@ group :test do
|
||||||
gem 'webrat'
|
gem 'webrat'
|
||||||
gem 'redgreen'
|
gem 'redgreen'
|
||||||
gem 'autotest'
|
gem 'autotest'
|
||||||
|
gem 'factory_girl_rails'
|
||||||
end
|
end
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ class StatusMessage
|
||||||
before_create :add_owner
|
before_create :add_owner
|
||||||
|
|
||||||
def self.newest(owner_email)
|
def self.newest(owner_email)
|
||||||
|
|
||||||
StatusMessage.last(:conditions => {:owner => owner_email})
|
StatusMessage.last(:conditions => {:owner => owner_email})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
17
spec/factories.rb
Normal file
17
spec/factories.rb
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
#For Guidance
|
||||||
|
#http://github.com/thoughtbot/factory_girl
|
||||||
|
#http://railscasts.com/episodes/158-factories-not-fixtures
|
||||||
|
Factory.define :friend do |f|
|
||||||
|
f.username 'max'
|
||||||
|
f.url 'http://max.com/'
|
||||||
|
end
|
||||||
|
|
||||||
|
Factory.define :status_message do |m|
|
||||||
|
m.sequence(:message) {|n| "jimmy's #{n} whales"}
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
Factory.define :user do |u|
|
||||||
|
u.sequence(:email) {|n| "bob#{n}@aol.com"}
|
||||||
|
u.password "bluepin7"
|
||||||
|
end
|
||||||
|
|
@ -2,7 +2,8 @@ require File.dirname(__FILE__) + '/../spec_helper'
|
||||||
|
|
||||||
describe Friend do
|
describe Friend do
|
||||||
it 'should have a diaspora username and diaspora url' do
|
it 'should have a diaspora username and diaspora url' do
|
||||||
n = Friend.new(:username => 'max')
|
n = Factory.build(:friend, :url => nil)
|
||||||
|
#n = Friend.new(:username => 'max')
|
||||||
n.valid?.should be false
|
n.valid?.should be false
|
||||||
n.url = "http://max.com/"
|
n.url = "http://max.com/"
|
||||||
n.valid?.should be true
|
n.valid?.should be true
|
||||||
|
|
|
||||||
|
|
@ -1,38 +1,34 @@
|
||||||
require File.dirname(__FILE__) + '/../spec_helper'
|
require File.dirname(__FILE__) + '/../spec_helper'
|
||||||
|
|
||||||
describe StatusMessage do
|
describe StatusMessage do
|
||||||
|
before do
|
||||||
|
@usr = Factory.create(:user,:email => "bob@aol.com", :password => "diggity")
|
||||||
|
end
|
||||||
it "should have a message" do
|
it "should have a message" do
|
||||||
n = StatusMessage.new
|
n = Factory.build(:status_message, :message => nil)
|
||||||
n.valid?.should be false
|
n.valid?.should be false
|
||||||
n.message = "wales"
|
n.message = "wales"
|
||||||
n.valid?.should be true
|
n.valid?.should be true
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should add an owner if none is present" do
|
it "should add an owner if none is present" do
|
||||||
User.create(:email => "bob@aol.com", :password => "big bux")
|
n = Factory.create(:status_message)
|
||||||
n = StatusMessage.create(:message => "puppies!")
|
|
||||||
n.owner.should == "bob@aol.com"
|
n.owner.should == "bob@aol.com"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
describe "newest" do
|
describe "newest" do
|
||||||
before do
|
before do
|
||||||
User.create(:email => "bob@aol.com", :password => "diggity")
|
(1..5).each { Factory.create(:status_message, :owner => "some@dudes.com") }
|
||||||
StatusMessage.create(:message => "wale for jimmy", :owner => "xzibit@dawgz.com")
|
(6..10).each { Factory.create(:status_message) }
|
||||||
StatusMessage.create(:message => "jimmy wales")
|
|
||||||
StatusMessage.create(:message => "jimmy your wales", :owner => "some@dudes.com")
|
|
||||||
StatusMessage.create(:message => "lions", :owner => "xzibit@dawgz.com")
|
|
||||||
StatusMessage.create(:message => "bears")
|
|
||||||
StatusMessage.create(:message => "sharks", :owner => "some@dudes.com")
|
|
||||||
StatusMessage.create(:message => "roar")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should give the most recent message from owner" do
|
it "should give the most recent message from owner" do
|
||||||
StatusMessage.my_newest.message.should == "roar"
|
#puts StatusMessage.newest("sam@cool.com")
|
||||||
|
StatusMessage.my_newest.message.should == "jimmy's 11 whales"
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should give the most recent message for a given email" do
|
it "should give the most recent message for a given email" do
|
||||||
StatusMessage.newest("some@dudes.com").message.should == "sharks"
|
StatusMessage.newest("some@dudes.com").message.should == "jimmy's 16 whales"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -42,7 +38,7 @@ describe StatusMessage do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should serialize to XML' do
|
it 'should serialize to XML' do
|
||||||
message = StatusMessage.create(:message => "I hate WALRUSES!", :owner => "Bob")
|
message = Factory.create(:status_message, :message => "I hate WALRUSES!", :owner => "Bob")
|
||||||
message.to_xml.to_s.should == @xml
|
message.to_xml.to_s.should == @xml
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
ENV["RAILS_ENV"] ||= 'test'
|
ENV["RAILS_ENV"] ||= 'test'
|
||||||
require File.dirname(__FILE__) + "/../config/environment" unless defined?(Rails)
|
require File.dirname(__FILE__) + "/../config/environment" unless defined?(Rails)
|
||||||
require 'rspec/rails'
|
require 'rspec/rails'
|
||||||
|
#require File.dirname(__FILE__) + "/factories"
|
||||||
include Devise::TestHelpers
|
include Devise::TestHelpers
|
||||||
|
|
||||||
# Requires supporting files with custom matchers and macros, etc,
|
# Requires supporting files with custom matchers and macros, etc,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue