jam-cloud/ruby/spec/jam_ruby/models/feedback_spec.rb

55 lines
1.5 KiB
Ruby

require 'spec_helper'
describe Feedback do
let(:feedback) { Feedback.new }
before(:each) do
CorpMailer.deliveries.clear
end
describe "empty model" do
before(:each) do
feedback.save
end
it { feedback.valid?.should be false }
it { feedback.errors.attribute_names.length.should == 2}
it { feedback.errors["email"].length.should == 2}
it { feedback.errors["email"][0].include?("blank").should be true}
it { feedback.errors["email"][1].include?("invalid").should be true}
it { feedback.errors["body"].length.should == 1}
it { feedback.errors["body"][0].include?("blank").should be true}
it { CorpMailer.deliveries.length.should == 0}
end
describe "bad email" do
before(:each) do
feedback.email = "blarg"
feedback.body = "here's the problem!"
feedback.save
end
it { feedback.valid?.should be false }
it { feedback.errors.attribute_names.length.should == 1}
it { feedback.errors["email"].length.should == 1}
it { feedback.errors["email"][0].include?("invalid").should be true}
it { CorpMailer.deliveries.length.should == 0}
end
describe "populated model" do
before(:each) do
feedback.email = "seth@jamkazam.com"
feedback.body = "here's the problem!"
feedback.save
end
it { feedback.valid?.should be true }
it { feedback.errors.attribute_names.length.should == 0 }
it { CorpMailer.deliveries.length.should == 0} # turned off due to spam
end
end