diff options
| author | Alban Peignier | 2017-12-18 17:31:07 +0100 | 
|---|---|---|
| committer | Alban Peignier | 2017-12-18 17:31:07 +0100 | 
| commit | 44be936f29f3bacd9403d832df25aaf370af8079 (patch) | |
| tree | c87bb67910fb53d3f78f4e0ed229bda3f637c5ea | |
| parent | 4f2a958ff7482fc0f259ff52c13b725181bd6ece (diff) | |
| download | chouette-core-44be936f29f3bacd9403d832df25aaf370af8079.tar.bz2 | |
Clear Chouette::AreaType caches during specs. Refs #5311
| -rw-r--r-- | app/models/chouette/area_type.rb | 9 | ||||
| -rw-r--r-- | spec/models/chouette/area_type_spec.rb | 4 | 
2 files changed, 10 insertions, 3 deletions
| diff --git a/app/models/chouette/area_type.rb b/app/models/chouette/area_type.rb index 183092e50..f295fe7ae 100644 --- a/app/models/chouette/area_type.rb +++ b/app/models/chouette/area_type.rb @@ -7,9 +7,7 @@ class Chouette::AreaType    def self.all=(values)      @@all = ALL & values - -    @@instances = {} -    @@options = nil +    reset_caches!    end    @@instances = {} @@ -18,6 +16,11 @@ class Chouette::AreaType      @@instances[code] ||= new(code) if ALL.include? code    end +  def self.reset_caches! +    @@instances = {} +    @@options = nil +  end +    def self.options      @@options ||= all.map { |c| find(c) }.map { |t| [ t.label, t.code ] }    end diff --git a/spec/models/chouette/area_type_spec.rb b/spec/models/chouette/area_type_spec.rb index 6ae40ab1e..82003b0ee 100644 --- a/spec/models/chouette/area_type_spec.rb +++ b/spec/models/chouette/area_type_spec.rb @@ -19,6 +19,10 @@ RSpec.describe Chouette::AreaType do    end    describe ".options" do +    before do +      Chouette::AreaType.reset_caches! +    end +      it "returns an array with label and code for each type" do        allow(Chouette::AreaType).to receive(:all).and_return(%i{zdep lda})        expect(Chouette::AreaType.options).to eq([["ZDEp", :zdep], ["LDA", :lda]]) | 
