diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/lib/tom_tom_spec.rb | 15 | ||||
| -rw-r--r-- | spec/models/chouette/route/route_base_spec.rb | 18 |
2 files changed, 33 insertions, 0 deletions
diff --git a/spec/lib/tom_tom_spec.rb b/spec/lib/tom_tom_spec.rb new file mode 100644 index 000000000..71584e242 --- /dev/null +++ b/spec/lib/tom_tom_spec.rb @@ -0,0 +1,15 @@ +RSpec.describe TomTom do + describe ".enabled?" do + it "returns true when API key is set" do + TomTom.instance_variable_set(:@api_key, 'fake key') + + expect(TomTom.enabled?).to be true + end + + it "returns false without an API key" do + TomTom.instance_variable_set(:@api_key, '') + + expect(TomTom.enabled?).to be false + end + end +end diff --git a/spec/models/chouette/route/route_base_spec.rb b/spec/models/chouette/route/route_base_spec.rb index 98cb3e358..d24ad6348 100644 --- a/spec/models/chouette/route/route_base_spec.rb +++ b/spec/models/chouette/route/route_base_spec.rb @@ -61,4 +61,22 @@ RSpec.describe Chouette::Route, :type => :model do end end end + + context "callbacks" do + it "calls #calculate_costs! after_save when TomTom is enabled" do + allow(TomTom).to receive(:enabled?).and_return(true) + route = create(:route) + + expect(route).to receive(:calculate_costs!) + route.save + end + + it "doesn't call #calculate_costs! after_save if TomTom is disabled" do + allow(TomTom).to receive(:enabled?).and_return(false) + route = create(:route) + + expect(route).not_to receive(:calculate_costs!) + route.save + end + end end |
