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]]) |
