aboutsummaryrefslogtreecommitdiffstats
path: root/spec/support/referential.rb
blob: 6a664bfa5a975c6aa533fdf5df74699c5b1ceeca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
module ReferentialHelper

  def first_referential
    Organisation.find_by_name("first").referentials.find_by_slug("first")
  end

  def self.included(base)
    base.class_eval do
      extend ClassMethods
      alias_method :referential, :first_referential
    end
  end

  module ClassMethods

    def assign_referential
      before(:each) do
        assign :referential, referential
      end
    end

  end

end

RSpec.configure do |config|
  config.include ReferentialHelper

  config.before(:suite) do
    organisation = Organisation.find_or_create_by_name :name => "first"
    organisation.referentials.find_by_slug("first" ) ||
      ::FactoryGirl.create(:referential, :slug => "first", :organisation => organisation) 
    # FIXME in Rails 3.2 :
    # Referential.where(:slug => 'first').first_or_create(attributes_for(:referential))
  end

  config.before(:each) do
    first_referential.switch
  end

end