require 'spec_helper' describe Beispiel, :type=>:model do let_studium_lva # before(:each) do # s=FactoryBot.create(:studium) # mg=FactoryBot.create(:modulgruppe, studium_id: s.id)# # m=FactoryBot.build(:other_modul) # m.modulgruppen << mg # m.save! # @l=FactoryBot.build(:lva) # @l.modul << m # @l.save! # end let(:lva){FactoryBot.build_stubbed(:lva)} let(:beispiel){FactoryBot.build(:beispiel, lva: lva)} it "should be created" do expect{beispiel.save!; Sunspot.commit}.to change{Beispiel.count}.by(1) end it "is not valid without lva" do b=FactoryBot.build(:beispiel) expect(b.valid?).to be false end it "responds to comments" do expect(beispiel.respond_to?(:comments)).to be true end it "responds to get_flag" do expect(beispiel.respond_to?(:get_flag)).to be true end [:delete, :goodquality, :badquality].each do |flg| it " has default false for flag #{flg}" do b=beispiel expect(b.respond_to?(:get_flag)).to be true expect(b.get_flag(flg)).to be false end it "responds to flag setter #{flg}" do expect(beispiel.respond_to?("flag_#{flg.to_s}".to_sym)).to be true end end it "should be in not_flag beispiele" do beispiel.save! bsp= Beispiel.not_flag_delete expect(bsp).to include beispiel end it "should not be in not_flag" do beispiel.save! bsp= Beispiel.not_flag_delete expect{beispiel.flag_delete=true; beispiel.save!}.to change{ Beispiel.not_flag_delete.count }.by(-1) expect{beispiel.flag_delete=nil; beispiel.save!}.to change{ Beispiel.not_flag_delete.count }.by(1) end end