Initial commit

This commit is contained in:
zhongjin
2020-06-15 10:58:47 +08:00
commit 4f1dfe7564
8590 changed files with 1516878 additions and 0 deletions
@@ -0,0 +1,48 @@
require_relative '../../simplecov_helper'
require_relative '../../rspec_configuration'
require_relative '../../../app/models/table/column_typecaster'
describe CartoDB::ColumnTypecaster do
describe '#pg_replace_expression' do
before(:all) do
@column_typecaster = CartoDB::ColumnTypecaster.new({
user_database: nil,
schema: nil,
table_name: nil,
column_name: nil,
new_type: nil
})
end
it 'takes a column_name and a set of replacements and returns a postgres expression that implements them' do
# e.g.: as it if where in spanish locale
thousand_separator = '.'
decimal_separator = ','
# order matters, the innermost expression will be applied first
replacements = [
[thousand_separator, ''],
[decimal_separator, '.'],
['$', '']
]
@column_typecaster.send(:pg_replace_expression, 'my_column', replacements)
.should == %Q{replace(replace(replace("my_column", '.', ''), ',', '.'), '$', '')}
end
it 'returns an expression quasi-equivalent to the previous implementation' do
# us locale
thousand_separator = ','
decimal_separator = '.'
replacements = [
[thousand_separator, ''],
[decimal_separator, '.']
]
@column_typecaster.send(:pg_replace_expression, 'my_column', replacements)
.should == %Q{replace(replace("my_column", ',', ''), '.', '.')}
end
end
end