dawarich/spec/lib/dawarich_settings_spec.rb
2025-01-07 13:41:09 +01:00

100 lines
2.7 KiB
Ruby

# frozen_string_literal: true
require 'rails_helper'
RSpec.describe DawarichSettings do
before do
described_class.instance_variables.each do |ivar|
described_class.remove_instance_variable(ivar)
end
end
describe '.reverse_geocoding_enabled?' do
context 'when photon is enabled' do
before do
allow(described_class).to receive(:photon_enabled?).and_return(true)
allow(described_class).to receive(:geoapify_enabled?).and_return(false)
end
it 'returns true' do
expect(described_class.reverse_geocoding_enabled?).to be true
end
end
context 'when geoapify is enabled' do
before do
allow(described_class).to receive(:photon_enabled?).and_return(false)
allow(described_class).to receive(:geoapify_enabled?).and_return(true)
end
it 'returns true' do
expect(described_class.reverse_geocoding_enabled?).to be true
end
end
context 'when neither service is enabled' do
before do
allow(described_class).to receive(:photon_enabled?).and_return(false)
allow(described_class).to receive(:geoapify_enabled?).and_return(false)
end
it 'returns false' do
expect(described_class.reverse_geocoding_enabled?).to be false
end
end
end
describe '.photon_enabled?' do
context 'when PHOTON_API_HOST is present' do
before { stub_const('PHOTON_API_HOST', 'photon.example.com') }
it 'returns true' do
expect(described_class.photon_enabled?).to be true
end
end
context 'when PHOTON_API_HOST is blank' do
before { stub_const('PHOTON_API_HOST', '') }
it 'returns false' do
expect(described_class.photon_enabled?).to be false
end
end
end
describe '.photon_uses_komoot_io?' do
context 'when PHOTON_API_HOST is komoot.io' do
before { stub_const('PHOTON_API_HOST', 'photon.komoot.io') }
it 'returns true' do
expect(described_class.photon_uses_komoot_io?).to be true
end
end
context 'when PHOTON_API_HOST is different' do
before { stub_const('PHOTON_API_HOST', 'photon.example.com') }
it 'returns false' do
expect(described_class.photon_uses_komoot_io?).to be false
end
end
end
describe '.geoapify_enabled?' do
context 'when GEOAPIFY_API_KEY is present' do
before { stub_const('GEOAPIFY_API_KEY', 'some-api-key') }
it 'returns true' do
expect(described_class.geoapify_enabled?).to be true
end
end
context 'when GEOAPIFY_API_KEY is blank' do
before { stub_const('GEOAPIFY_API_KEY', '') }
it 'returns false' do
expect(described_class.geoapify_enabled?).to be false
end
end
end
end