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