spec/models/refinery/inquiries/inquiry_spec.rb in refinerycms-inquiries-2.1.0 vs spec/models/refinery/inquiries/inquiry_spec.rb in refinerycms-inquiries-3.0.0
- old
+ new
@@ -1,50 +1,92 @@
require 'spec_helper'
module Refinery
module Inquiries
- describe Inquiry do
+ describe Inquiry, :type => :model do
describe "validations" do
subject do
- FactoryGirl.build(:inquiry,
- :name => "Ugis Ozols",
- :email => "ugis.ozols@refinerycms.com",
- :message => "Hey, I'm testing!")
+ FactoryGirl.build(:inquiry, {
+ name: "Ugis Ozols",
+ email: "ugis.ozols@example.com",
+ message: "Hey, I'm testing!"
+ })
end
- it { should be_valid }
- its(:errors) { should be_empty }
- its(:name) { should == "Ugis Ozols" }
- its(:email) { should == "ugis.ozols@refinerycms.com" }
- its(:message) { should == "Hey, I'm testing!" }
+ it { is_expected.to be_valid }
+
+ describe '#errors' do
+ subject { super().errors }
+ it { is_expected.to be_empty }
+ end
+
+ describe '#name' do
+ subject { super().name }
+ it { is_expected.to eq("Ugis Ozols") }
+ end
+
+ describe '#email' do
+ subject { super().email }
+ it { is_expected.to eq("ugis.ozols@example.com") }
+ end
+
+ describe '#message' do
+ subject { super().message }
+ it { is_expected.to eq("Hey, I'm testing!") }
+ end
+
+ it "validates name length" do
+ expect(FactoryGirl.build(:inquiry, {
+ name: "a"*255,
+ email: "ugis.ozols@example.com",
+ message: "This Text Is OK"
+ })).to be_valid
+ expect(FactoryGirl.build(:inquiry, {
+ name: "a"*256,
+ email: "ugis.ozols@example.com",
+ message: "This Text Is OK"
+ })).not_to be_valid
+ end
+ it "validates email length" do
+ expect(FactoryGirl.build(:inquiry, {
+ name: "Ugis Ozols",
+ email: "a"*243 + "@example.com",
+ message: "This Text Is OK"
+ })).to be_valid
+ expect(FactoryGirl.build(:inquiry, {
+ name: "Ugis Ozols",
+ email: "a"*244 + "@example.com",
+ message: "This Text Is OK"
+ })).not_to be_valid
+ end
end
describe "default scope" do
it "orders by created_at in desc" do
- inquiry1 = FactoryGirl.create(:inquiry, :created_at => 1.hour.ago)
- inquiry2 = FactoryGirl.create(:inquiry, :created_at => 2.hours.ago)
- inquiries = Refinery::Inquiries::Inquiry.all
- inquiries.first.should == inquiry1
- inquiries.second.should == inquiry2
+ inquiry1 = FactoryGirl.create(:inquiry, created_at: 1.hour.ago)
+ inquiry2 = FactoryGirl.create(:inquiry, created_at: 2.hours.ago)
+ inquiries = Inquiry.all
+ expect(inquiries.first).to eq(inquiry1)
+ expect(inquiries.second).to eq(inquiry2)
end
end
describe ".latest" do
it "returns latest 7 non-spam inquiries by default" do
8.times { FactoryGirl.create(:inquiry) }
- Refinery::Inquiries::Inquiry.last.toggle!(:spam)
- Refinery::Inquiries::Inquiry.latest.length.should == 7
+ Inquiry.last.toggle!(:spam)
+ expect(Inquiry.latest.length).to eq(7)
end
it "returns latest 7 inquiries including spam ones" do
7.times { FactoryGirl.create(:inquiry) }
- Refinery::Inquiries::Inquiry.all[0..2].each { |inquiry| inquiry.toggle!(:spam) }
- Refinery::Inquiries::Inquiry.latest(7, true).length.should == 7
+ Inquiry.all[0..2].each { |inquiry| inquiry.toggle!(:spam) }
+ expect(Inquiry.latest(7, true).length).to eq(7)
end
it "returns latest n inquiries" do
4.times { FactoryGirl.create(:inquiry) }
- Refinery::Inquiries::Inquiry.latest(3).length.should == 3
+ expect(Inquiry.latest(3).length).to eq(3)
end
end
end
end
end