From 13f852cf4834bd4ba5b71251c84c4b1285fced29 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 5 Sep 2015 19:03:01 +0200 Subject: [PATCH] AutoCommit Sam Sep 5 19:03:01 CEST 2015 --- app/models/gremium.rb | 1 + spec/factories/gremien.rb | 3 +++ spec/factories/memberships.rb | 9 +++++++-- spec/models/gremium_spec.rb | 36 ++++++++++++++++++++++++++++++++++- 4 files changed, 46 insertions(+), 3 deletions(-) diff --git a/app/models/gremium.rb b/app/models/gremium.rb index 8fd3c7e..8ee1800 100644 --- a/app/models/gremium.rb +++ b/app/models/gremium.rb @@ -23,6 +23,7 @@ class Gremium < ActiveRecord::Base has_many :memberships, dependent: :destroy # Mitgliedschaften bei dem Gremium has_many :nlinks, as: :link, dependent: :destroy # scope :search, ->(query) {where("gremien.name like ? or gremien.desc like ?", "%#{query}%", "%#{query}%")} +# has_many :members, through: :memberships searchable do text :desc text :name, :boost=>4.0 diff --git a/spec/factories/gremien.rb b/spec/factories/gremien.rb index 7e0dba0..ba025c0 100644 --- a/spec/factories/gremien.rb +++ b/spec/factories/gremien.rb @@ -7,5 +7,8 @@ FactoryGirl.define do name "Kommission" desc "Das ist eine Kommission die sich mit irgendwas beschäftigt" typ 1 + factory :gremium_with_fetprofile do + association :memberships, factory: :membership_with_fetprofile + end end end diff --git a/spec/factories/memberships.rb b/spec/factories/memberships.rb index aa3968a..e73392a 100644 --- a/spec/factories/memberships.rb +++ b/spec/factories/memberships.rb @@ -2,10 +2,15 @@ FactoryGirl.define do factory :membership do - fetprofile_id 1 - gremium_id 1 + start "2013-08-19" stop "2013-08-23" typ 1 + factory :membership_with_fetprofile do + association :fetprofile + end + factory :membership_with_gremium do + association :gremium + end end end diff --git a/spec/models/gremium_spec.rb b/spec/models/gremium_spec.rb index 8f34f2a..08bfae2 100644 --- a/spec/models/gremium_spec.rb +++ b/spec/models/gremium_spec.rb @@ -1,5 +1,39 @@ require 'spec_helper' describe Gremium do - pending "add some examples to (or delete) #{__FILE__}" + it "can be created" do + g=FactoryGirl.build(:gremium) + expect(g.save).to be true + end + it "is valid with all attributes" do + g = FactoryGirl.build(:gremium) + g.should be_valid + end + [:name,:typ].each do |attr| + it "should not be valid without #{attr}" do + g = FactoryGirl.build(:gremium) + g.send("#{attr}=".to_sym,nil) + expect(g).not_to be_valid + end + end + it "is in tabs if typ is 1 or 3" do + g = FactoryGirl.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 = FactoryGirl.create(:gremium, typ: 2) + expect(Gremium.tabs).to eq([]) + end + it "destroys memberships if its destroyed" do + g=FactoryGirl.create(:gremium_with_fetprofile) + expect(Membership.count).to be(1) + g.delete + expect(Membership.count).to be(0) + + end + + it "responds to title" do + g=FactoryGirl.build(:gremium) + expect(g.responds_to?(:title)).to be true + end end