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
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,
type: 'source',
params: { query: "select * from #{table_name}" },
params: { query: query },
options: { table_name: table_name }
}
end
@ -19,9 +20,10 @@ FactoryGirl.define do
factory :source_analysis, class: Carto::Analysis do
ignore do
source_table 'subway_stops'
query nil
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
created_at { Time.now }
@ -32,6 +34,7 @@ FactoryGirl.define do
factory :analysis_with_source, class: Carto::Analysis do
ignore do
source_table 'subway_stops'
query nil
end
analysis_definition do
@ -39,7 +42,7 @@ FactoryGirl.define do
id: unique_string,
type: "buffer",
params: {
source: AnalysisFactoryHelper.source_analysis_for_table(source_table)
source: AnalysisFactoryHelper.source_analysis_for_table(source_table, query)
}
}
end

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

Loading…
Cancel
Save