56 lines
1.8 KiB
Ruby
56 lines
1.8 KiB
Ruby
require 'spec_helper_min'
|
|
require 'carto/mapcapped_visualization_updater'
|
|
|
|
module Carto
|
|
describe MapcappedVisualizationUpdater do
|
|
include Factories::Visualizations
|
|
include MapcappedVisualizationUpdater
|
|
|
|
before(:all) do
|
|
@user = FactoryGirl.create(:carto_user)
|
|
@map, @table, @table_visualization, @visualization = create_full_visualization(@user)
|
|
end
|
|
|
|
after(:all) do
|
|
destroy_full_visualization(@map, @table, @table_visualization, @visualization)
|
|
@user.destroy
|
|
end
|
|
|
|
it 'updates a non-mapcapped visualization' do
|
|
Map.any_instance.stubs(:notify_map_change).once
|
|
|
|
success = update_visualization_and_mapcap(@visualization) do |visualization, persisted|
|
|
layer = visualization.layers.first
|
|
layer.options[:wadus] = 'wadus!'
|
|
layer.save if persisted
|
|
end
|
|
success.should be_true
|
|
|
|
@visualization.reload
|
|
@visualization.mapcapped?.should be_false
|
|
@visualization.layers.first.options[:wadus].should eq 'wadus!'
|
|
end
|
|
|
|
it 'updates a mapcapped visualization' do
|
|
@visualization.create_mapcap!
|
|
@visualization.layers.first.update_attribute(:tooltip, do_not_publish_this: true)
|
|
Map.any_instance.stubs(:notify_map_change).once
|
|
|
|
success = update_visualization_and_mapcap(@visualization) do |visualization, persisted|
|
|
layer = visualization.layers.first
|
|
layer.options[:something] = 'else'
|
|
layer.save if persisted
|
|
end
|
|
success.should be_true
|
|
|
|
@visualization.reload
|
|
@visualization.mapcapped?.should be_true
|
|
@visualization.layers.first.options[:something].should eq 'else'
|
|
|
|
mapcap_visualization = @visualization.latest_mapcap.regenerate_visualization
|
|
mapcap_visualization.layers.first.options[:something].should eq 'else'
|
|
mapcap_visualization.layers.first.tooltip.should be_nil
|
|
end
|
|
end
|
|
end
|