jam-cloud/ruby/spec/jam_ruby/models/country_spec.rb

47 lines
1.1 KiB
Ruby

require 'spec_helper'
describe Country do
include UsesTempFiles
ISO3166_CSV = 'iso3166.csv'
in_directory_with_file(ISO3166_CSV)
let(:iso3166_data) {tiny_maxmind_dataset[:iso3166]}
before(:each) do
content_for_file(to_csv(iso3166_data))
end
describe "import_from_iso3166" do
after(:all) do
# anything that calls after_maxmind_import seems to break transactions (DatabaseCleaner)
create_phony_database
end
it "succeeds" do
Country.import_from_iso3166(file: ISO3166_CSV)
result = Country.connection.execute("SELECT * FROM countries_copied")
result.ntuples.should == 1
row1 = iso3166_data[0]
result[0]['countrycode'].should == row1[ISO3166_COUNTRYCODE_INDEX]
result[0]['countryname'].should == row1[ISO3166_COUNTRYNAME_INDEX]
list_indexes('countries_copied').should == []
# verify we can swap out tables
Country.after_maxmind_import
table_exists?('countries_copied').should be_false
result = Country.connection.execute("SELECT * FROM countries")
result.ntuples.should == 1
list_indexes('countries').should =~ []
end
end
end