cartodb/spec/models/visualization/overlays_spec.rb
2020-06-15 10:58:47 +08:00

53 lines
1.7 KiB
Ruby

require 'ostruct'
require 'sequel'
require_relative '../../spec_helper'
require_relative '../../../services/data-repository/backend/sequel'
require_relative '../../../app/models/visualization/member'
require_relative '../../../app/models/visualization/overlays'
require_relative '../../../services/data-repository/repository'
include CartoDB
describe Visualization::Overlays do
before(:each) do
@db = SequelRails.connection
Visualization.repository = DataRepository::Backend::Sequel.new(@db, :visualizations)
member = Visualization::Member.new
map_mock = mock
map_mock.stubs(:scrollwheel=)
map_mock.stubs(:legends=)
map_mock.stubs(:legends)
map_mock.stubs(:scrollwheel)
map_mock.stubs(:id)
map_mock.stubs(:save)
Visualization::Member.any_instance.stubs(:map).returns(map_mock)
@visualization = member
Visualization.repository = DataRepository::Backend::Sequel.new(@db, :visualizations)
end
describe 'default' do
it 'should create all overlays' do
Visualization::Overlays.new(@visualization).create_default_overlays
@visualization.overlays.count.should eq 5
@visualization.overlays.select { |o| o.options['display'] }.count.should eq 5
@visualization.overlays.select { |o| o.type == 'logo' }.count.should eq 1
end
it 'should not create logo if user has disabled_cartodb_logo feature_flag' do
user_mock = mock
user_mock.stubs(:has_feature_flag?).with('disabled_cartodb_logo').returns(true)
@visualization.stubs(:user).returns(user_mock)
Visualization::Overlays.new(@visualization).create_default_overlays
@visualization.overlays.select { |o| o.type == 'logo' }.count.should eq 0
@visualization.overlays.count.should eq 4
end
end
end