cartodb-4.42/services/importer/spec/unit/shp_helper_spec.rb
2024-04-06 05:25:13 +00:00

41 lines
1.5 KiB
Ruby

require 'fileutils'
require_relative '../../lib/importer/shp_helper'
require_relative '../../lib/importer/exceptions'
require_relative '../../../../spec/rspec_configuration.rb'
include CartoDB::Importer2
describe CartoDB::Importer2::ShpHelper do
describe '#row_count' do
it 'return total of rows correctly' do
path = File.expand_path(File.join(File.dirname(__FILE__), "../fixtures/county_usa/county_usa.shp"))
shp_helper = CartoDB::Importer2::ShpHelper.new(path)
shp_helper.total_rows.should eq 3233
end
it 'verify correct shp file has prj, shx and dbf files in the same folder' do
path = File.expand_path(File.join(File.dirname(__FILE__), "../fixtures/county_usa/county_usa.shp"))
shp_helper = CartoDB::Importer2::ShpHelper.new(path)
shp_helper.verify_file.should eq true
end
it 'verify return exception if shp file doesnt has shx or dbf file in the same folder' do
path = File.expand_path(File.join(File.dirname(__FILE__), "../fixtures/shp_no_dbf.shp"))
expect{
shp_helper = CartoDB::Importer2::ShpHelper.new(path)
}.to raise_error InvalidShpError
end
it 'verify return exception if shp file doesnt has prj file in the same folder' do
pending("removed method to give a default projection to file") do
path = File.expand_path(File.join(File.dirname(__FILE__), "../fixtures/shp_no_prj.shp"))
expect{
shp_helper = CartoDB::Importer2::ShpHelper.new(path)
}.to raise_error MissingProjectionError
end
end
end
end