54 lines
1.5 KiB
Ruby
54 lines
1.5 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe Retailer do
|
|
|
|
it "created by factory" do
|
|
FactoryGirl.create(:retailer)
|
|
end
|
|
|
|
it "doesn't match uuid password" do
|
|
retailer= FactoryGirl.create(:retailer)
|
|
retailer.reload
|
|
retailer.matches_password('hha').should be false
|
|
end
|
|
|
|
it "automatic slug creation" do
|
|
retailer= FactoryGirl.create(:retailer, slug: nil)
|
|
retailer.id.should_not be_blank
|
|
retailer.slug.should eql retailer.id.to_s
|
|
|
|
end
|
|
it "has correct associations" do
|
|
retailer = FactoryGirl.create(:retailer)
|
|
retailer.slug.should eql retailer.id
|
|
|
|
retailer.should eql retailer.user.owned_retailer
|
|
|
|
teacher = FactoryGirl.create(:teacher, retailer: retailer)
|
|
|
|
retailer.reload
|
|
retailer.teachers.to_a.should eql [teacher]
|
|
|
|
teacher.retailer.should eql retailer
|
|
end
|
|
|
|
it "updates" do
|
|
retailer = FactoryGirl.create(:retailer)
|
|
retailer.update_from_params({name: 'hahah'})
|
|
retailer.errors.any?.should be false
|
|
end
|
|
|
|
it "updates password" do
|
|
retailer = FactoryGirl.create(:retailer)
|
|
retailer.update_from_params({name: 'hahah', password: 'abc'})
|
|
retailer.errors.any?.should be true
|
|
retailer.errors[:password].should eql ['is too short (minimum is 6 characters)']
|
|
|
|
retailer.update_from_params({name: 'hahah', password: 'abcdef'})
|
|
retailer.errors.any?.should be false
|
|
retailer.matches_password('abcdef').should be true
|
|
|
|
retailer = Retailer.find_by_id(retailer.id)
|
|
retailer.matches_password('abcdef').should be true
|
|
end
|
|
end |