Fix tests for nested analyses query rewriting

pull/8862/head
Javier Torres 8 years ago
parent 282ee9dc0a
commit d8981158c8

@ -5,11 +5,12 @@ require 'helpers/unique_names_helper'
include UniqueNamesHelper include UniqueNamesHelper
module AnalysisFactoryHelper module AnalysisFactoryHelper
def self.source_analysis_for_table(table_name) def self.source_analysis_for_table(table_name, query)
query ||= "select * from #{table_name}"
{ {
id: unique_string, id: unique_string,
type: 'source', type: 'source',
params: { query: "select * from #{table_name}" }, params: { query: query },
options: { table_name: table_name } options: { table_name: table_name }
} }
end end
@ -19,9 +20,10 @@ FactoryGirl.define do
factory :source_analysis, class: Carto::Analysis do factory :source_analysis, class: Carto::Analysis do
ignore do ignore do
source_table 'subway_stops' source_table 'subway_stops'
query nil
end end
analysis_definition { AnalysisFactoryHelper.source_analysis_for_table(source_table) } analysis_definition { AnalysisFactoryHelper.source_analysis_for_table(source_table, query) }
factory :analysis, class: Carto::Analysis do factory :analysis, class: Carto::Analysis do
created_at { Time.now } created_at { Time.now }
@ -32,6 +34,7 @@ FactoryGirl.define do
factory :analysis_with_source, class: Carto::Analysis do factory :analysis_with_source, class: Carto::Analysis do
ignore do ignore do
source_table 'subway_stops' source_table 'subway_stops'
query nil
end end
analysis_definition do analysis_definition do
@ -39,7 +42,7 @@ FactoryGirl.define do
id: unique_string, id: unique_string,
type: "buffer", type: "buffer",
params: { params: {
source: AnalysisFactoryHelper.source_analysis_for_table(source_table) source: AnalysisFactoryHelper.source_analysis_for_table(source_table, query)
} }
} }
end end

@ -781,11 +781,15 @@ describe Carto::VisualizationsExportService2 do
imported_layer_options['query'].should eq expected_query imported_layer_options['query'].should eq expected_query
imported_layer_options['table_name'].should eq expected_table_name imported_layer_options['table_name'].should eq expected_table_name
imported_viz.analyses.each do |analysis| source_analysis = imported_viz.analyses.find { |a| a.analysis_node.source? }.analysis_definition
analysis_definition = analysis.analysis_definition check_analysis_defition(source_analysis, expected_table_name, expected_query)
analysis_definition[:options][:table_name].should eq expected_table_name nested_analysis = imported_viz.analyses.find { |a| !a.analysis_node.source? }.analysis_definition
analysis_definition[:params][:query].should eq expected_query check_analysis_defition(nested_analysis[:params][:source], expected_table_name, expected_query)
end end
def check_analysis_defition(analysis_definition, expected_table_name, expected_query)
analysis_definition[:options][:table_name].should eq expected_table_name
analysis_definition[:params][:query].should eq expected_query
end end
it 'replaces table name in default queries on import (with schema)' do it 'replaces table name in default queries on import (with schema)' do

Loading…
Cancel
Save