aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlban Peignier2017-12-18 17:31:07 +0100
committerAlban Peignier2017-12-18 17:31:07 +0100
commit44be936f29f3bacd9403d832df25aaf370af8079 (patch)
treec87bb67910fb53d3f78f4e0ed229bda3f637c5ea
parent4f2a958ff7482fc0f259ff52c13b725181bd6ece (diff)
downloadchouette-core-44be936f29f3bacd9403d832df25aaf370af8079.tar.bz2
Clear Chouette::AreaType caches during specs. Refs #5311
-rw-r--r--app/models/chouette/area_type.rb9
-rw-r--r--spec/models/chouette/area_type_spec.rb4
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]])