diff options
author | Steven Day <steve@mysociety.org> | 2014-08-21 16:39:25 +0100 |
---|---|---|
committer | Gareth Rees <gareth@mysociety.org> | 2014-08-22 15:12:39 +0100 |
commit | 3803bfc95c380c85ff523681e2099af5a11e16c4 (patch) | |
tree | 601bfa7ede3a0b1e4d46a1520f8875d57b794797 /spec/models/public_body_spec.rb | |
parent | 447c61405568f3ee5aa81448b9b4b0c0a4df474b (diff) |
Make csv import fields a class attribute that can be overriden
Diffstat (limited to 'spec/models/public_body_spec.rb')
-rw-r--r-- | spec/models/public_body_spec.rb | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/spec/models/public_body_spec.rb b/spec/models/public_body_spec.rb index a7544c218..2ee45836b 100644 --- a/spec/models/public_body_spec.rb +++ b/spec/models/public_body_spec.rb @@ -546,6 +546,58 @@ CSV errors.should include("error: line 3: Url name URL name is already taken for authority 'Foobar Test'") end + it 'has a default list of fields to import' do + expected_fields = [ + ['name', '(i18n)<strong>Existing records cannot be renamed</strong>'], + ['short_name', '(i18n)'], + ['request_email', '(i18n)'], + ['notes', '(i18n)'], + ['publication_scheme', '(i18n)'], + ['disclosure_log', '(i18n)'], + ['home_page', ''], + ['tag_string', '(tags separated by spaces)'], + ] + + expect(PublicBody.csv_import_fields).to eq(expected_fields) + end + + it 'allows you to override the default list of fields to import' do + old_csv_import_fields = PublicBody.csv_import_fields + expected_fields = [ + ['name', '(i18n)<strong>Existing records cannot be renamed</strong>'], + ['short_name', '(i18n)'], + ] + + PublicBody.csv_import_fields = expected_fields + + expect(PublicBody.csv_import_fields).to eq(expected_fields) + + # Reset our change so that we don't affect other specs + PublicBody.csv_import_fields = old_csv_import_fields + end + + it 'allows you to append to the default list of fields to import' do + old_csv_import_fields = PublicBody.csv_import_fields + expected_fields = [ + ['name', '(i18n)<strong>Existing records cannot be renamed</strong>'], + ['short_name', '(i18n)'], + ['request_email', '(i18n)'], + ['notes', '(i18n)'], + ['publication_scheme', '(i18n)'], + ['disclosure_log', '(i18n)'], + ['home_page', ''], + ['tag_string', '(tags separated by spaces)'], + ['a_new_field', ''], + ] + + PublicBody.csv_import_fields << ['a_new_field', ''] + + expect(PublicBody.csv_import_fields).to eq(expected_fields) + + # Reset our change so that we don't affect other specs + PublicBody.csv_import_fields = old_csv_import_fields + end + end describe PublicBody do |