72 lines
2.1 KiB
Ruby
72 lines
2.1 KiB
Ruby
require 'spec_helper_min'
|
|
require 'carto/visualization_migrator'
|
|
|
|
describe Carto::VisualizationMigrator do
|
|
include Carto::Factories::Visualizations
|
|
include_context 'visualization creation helpers'
|
|
|
|
class VizMigrator
|
|
include Carto::VisualizationMigrator
|
|
end
|
|
|
|
let(:migrator) { VizMigrator.new }
|
|
|
|
shared_context 'full visualization' do
|
|
before(:all) do
|
|
@user_1 = FactoryGirl.create(:carto_user, private_tables_enabled: false)
|
|
end
|
|
|
|
before(:each) do
|
|
@map, @table, @table_visualization, @visualization = create_full_visualization(Carto::User.find(@user_1.id), visualization_attributes: { version: 3 })
|
|
end
|
|
|
|
after(:each) do
|
|
destroy_full_visualization(@map, @table, @table_visualization, @visualization)
|
|
end
|
|
|
|
after(:all) do
|
|
@user_1.destroy
|
|
end
|
|
end
|
|
|
|
describe '#migrate_visualization_to_v3' do
|
|
include_context 'full visualization'
|
|
|
|
it 'migrates layer selector for ActiveRecord model' do
|
|
@visualization.overlays << Carto::Overlay.new(type: 'layer_selector')
|
|
@visualization.reload
|
|
|
|
migrator.migrate_visualization_to_v3(@visualization)
|
|
|
|
@visualization.reload
|
|
@visualization.overlays.any? { |o| o.type == 'layer_selector' }.should be_false
|
|
@visualization.map.options['layer_selector'].should be_true
|
|
end
|
|
|
|
it 'fixes GMaps options' do
|
|
basemap = @visualization.layers.first
|
|
basemap.kind = 'gmapsbase'
|
|
basemap.options = { "type" => "GMapsBase", "base_type" => "roadmap" }
|
|
basemap.save!
|
|
|
|
migrator.migrate_visualization_to_v3(@visualization)
|
|
|
|
@visualization.reload
|
|
@visualization.layers.first.options.should have_key(:baseType)
|
|
@visualization.layers.first.options.should_not have_key(:base_type)
|
|
end
|
|
|
|
it 'adds analyses' do
|
|
# Fixture check
|
|
expect(@visualization.analyses.none?).to be_true
|
|
expect(@visualization.data_layers.none?(&:source_id)).to be_true
|
|
|
|
migrator.migrate_visualization_to_v3(@visualization)
|
|
|
|
@visualization.reload
|
|
expect(@visualization.analyses.any?).to be_true
|
|
expect(@visualization.data_layers.all?(&:source_id)).to be_true
|
|
end
|
|
end
|
|
end
|