aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/models/censor_rule_spec.rb33
-rw-r--r--spec/models/public_body_spec.rb52
2 files changed, 79 insertions, 6 deletions
diff --git a/spec/models/censor_rule_spec.rb b/spec/models/censor_rule_spec.rb
index 5b41cc0d4..4ecd2d3e1 100644
--- a/spec/models/censor_rule_spec.rb
+++ b/spec/models/censor_rule_spec.rb
@@ -90,17 +90,32 @@ end
describe 'when validating rules' do
- it 'should be invalid without text' do
+ it 'must have the text to redact' do
censor_rule = CensorRule.new
- censor_rule.valid?.should == false
- censor_rule.errors[:text].should == ["can't be blank"]
+ expect(censor_rule).to have(1).error_on(:text)
+ expect(censor_rule.errors[:text]).to eql(["can't be blank"])
+ end
+
+ it 'must have a replacement' do
+ expect(CensorRule.new).to have(1).error_on(:replacement)
+ end
+
+ it 'must have a last_edit_editor' do
+ expect(CensorRule.new).to have(1).error_on(:last_edit_editor)
+ end
+
+ it 'must have a last_edit_comment' do
+ expect(CensorRule.new).to have(1).error_on(:last_edit_comment)
end
describe 'when validating a regexp rule' do
before do
@censor_rule = CensorRule.new(:regexp => true,
- :text => '*')
+ :text => '*',
+ :replacement => '---',
+ :last_edit_comment => 'test',
+ :last_edit_editor => 'rspec')
end
it 'should try to create a regexp from the text' do
@@ -133,7 +148,10 @@ describe 'when validating rules' do
describe 'when the allow_global flag has been set' do
before do
- @censor_rule = CensorRule.new(:text => 'some text')
+ @censor_rule = CensorRule.new(:text => 'some text',
+ :replacement => '---',
+ :last_edit_comment => 'test',
+ :last_edit_editor => 'rspec')
@censor_rule.allow_global = true
end
@@ -146,7 +164,10 @@ describe 'when validating rules' do
describe 'when the allow_global flag has not been set' do
before do
- @censor_rule = CensorRule.new(:text => '/./')
+ @censor_rule = CensorRule.new(:text => '/./',
+ :replacement => '---',
+ :last_edit_comment => 'test',
+ :last_edit_editor => 'rspec')
end
it 'should not allow a global text censor rule (without user_id, request_id or public_body_id)' do
diff --git a/spec/models/public_body_spec.rb b/spec/models/public_body_spec.rb
index a7544c218..225958cac 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.clone
+ 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.clone
+ 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