diff options
| author | Teddy Wing | 2018-03-15 11:52:16 +0100 |
|---|---|---|
| committer | Teddy Wing | 2018-03-15 11:53:39 +0100 |
| commit | 9291d45e825edbaf52cb556c102498366985496f (patch) | |
| tree | 5097c7510df8cb00dcd4e326ff800f54da7a22b4 /spec/models/chouette | |
| parent | 9dc7c942fd7e0c0b298bfff08088c830841f666c (diff) | |
| download | chouette-core-9291d45e825edbaf52cb556c102498366985496f.tar.bz2 | |
Route: Don't run `#calculate_costs!` on callback if TomTom disabled
We say `TomTom` is disabled when no API key is present. If this is the
case, the `after_save` callback that uses it shouldn't be executed.
I had to change my `API_KEY` constant to an instance variable to be able
to change it for testing.
Refs #6095
Diffstat (limited to 'spec/models/chouette')
| -rw-r--r-- | spec/models/chouette/route/route_base_spec.rb | 18 |
1 files changed, 18 insertions, 0 deletions
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 |
