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