Sha256: 4ac722420bcdb370b36d9cc1795b47029bca4fc644c361a8be3e796fb1ae8cd9
Contents?: true
Size: 1.56 KB
Versions: 3
Compression:
Stored size: 1.56 KB
Contents
require 'spec_helper' describe Gaku::Campus do describe 'concerns' do it_behaves_like 'contactable' it_behaves_like 'avatarable' end describe 'relations' do it { should belong_to :school } it { should have_one :address } end describe 'validations' do it { should validate_presence_of :name } it { should validate_presence_of :school } end describe '#to_s' do let(:campus) { build(:campus) } specify { campus.to_s.should eq campus.name } end context 'counter_cache' do let!(:campus) { create(:campus) } context 'addresses_count' do let(:address) { build(:address) } let(:campus_with_address) { create(:campus, :with_one_address) } it 'increments addresses_count' do expect do campus.address = address end.to change { campus.reload.addresses_count }.by(1) end it 'decrements addresses_count' do expect do campus_with_address.address.destroy end.to change { campus_with_address.reload.addresses_count }.by(-1) end end context 'contacts_count' do let(:contact) { build(:contact) } let(:campus_with_contact) { create(:campus, :with_contact) } it 'increments contacts_count' do expect do campus.contacts << contact end.to change { campus.reload.contacts_count }.by(1) end it 'decrements contacts_count' do expect do campus_with_contact.contacts.last.destroy end.to change { campus_with_contact.reload.contacts_count }.by(-1) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gaku-0.0.3 | core/spec/models/campus_spec.rb |
gaku-0.0.2 | core/spec/models/campus_spec.rb |
gaku-0.0.1 | core/spec/models/campus_spec.rb |