forked from bofh/fetsite
51 lines
1.3 KiB
Ruby
51 lines
1.3 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe Gremium do
|
|
let(:gremium) {FactoryBot.build(:gremium)}
|
|
let(:object_variable){gremium}
|
|
it_behaves_like "a valid object"
|
|
|
|
[:name,:typ].each do |attr|
|
|
it "is not valid without #{attr}" do
|
|
g = FactoryBot.build(:gremium,attr.to_sym => nil)
|
|
expect(g).not_to be_valid
|
|
expect(g.errors[attr]).to have_at_least(1).items
|
|
end
|
|
end
|
|
|
|
pending "only accepts valid types"
|
|
pending "only accepts valid geschlecht"
|
|
|
|
it "is not valid with wrong typ" do
|
|
((-5..30).to_a-Gremium::TYPEN.keys()).each do |i|
|
|
g = FactoryBot.build(:gremium, typ: i)
|
|
expect(g).not_to be_valid
|
|
end
|
|
|
|
end
|
|
|
|
it "is in tabs if typ is 1" do
|
|
g = FactoryBot.create(:gremium, typ: 1)
|
|
expect(Gremium.tabs).to eq([g])
|
|
end
|
|
|
|
|
|
it "is not in tabs if typ is not 1 or 3" do
|
|
g = FactoryBot.create(:gremium, typ: 2)
|
|
expect(Gremium.tabs).to eq([])
|
|
end
|
|
it "destroys memberships if its destroyed" do
|
|
g=FactoryBot.create(:gremium)
|
|
fp=FactoryBot.create(:fetprofile)
|
|
m=FactoryBot.create(:membership, gremium_id: g.id, fetprofile_id: fp.id)
|
|
expect{g.destroy}.to change {Membership.count}.by(-1)
|
|
|
|
|
|
end
|
|
|
|
it "responds to title" do
|
|
g=FactoryBot.build(:gremium)
|
|
expect(g.respond_to?(:title)).to be true
|
|
end
|
|
end
|