aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/public_body.rb22
-rw-r--r--spec/models/public_body_spec.rb12
2 files changed, 13 insertions, 21 deletions
diff --git a/app/models/public_body.rb b/app/models/public_body.rb
index f26246660..c2078d02d 100644
--- a/app/models/public_body.rb
+++ b/app/models/public_body.rb
@@ -237,24 +237,16 @@ class PublicBody < ActiveRecord::Base
# Can an FOI (etc.) request be made to this body?
def is_requestable?
- if self.defunct?
- return false
- end
- if self.not_apply?
- return false
- end
- if self.request_email.nil?
- return false
- end
- return !self.request_email.empty? && self.request_email != 'blank'
+ has_request_email? && !defunct? && !not_apply?
end
# Strict superset of is_requestable?
def is_followupable?
- if self.request_email.nil?
- return false
- end
- return !self.request_email.empty? && self.request_email != 'blank'
+ has_request_email?
+ end
+
+ def has_request_email?
+ !request_email.blank? && request_email != 'blank'
end
# Also used as not_followable_reason
@@ -263,7 +255,7 @@ class PublicBody < ActiveRecord::Base
return 'defunct'
elsif self.not_apply?
return 'not_apply'
- elsif self.request_email.nil? or self.request_email.empty? or self.request_email == 'blank'
+ elsif !has_request_email?
return 'bad_contact'
else
raise "requestable_failure_reason called with type that has no reason"
diff --git a/spec/models/public_body_spec.rb b/spec/models/public_body_spec.rb
index c500e8e61..91340a12c 100644
--- a/spec/models/public_body_spec.rb
+++ b/spec/models/public_body_spec.rb
@@ -1008,21 +1008,21 @@ describe PublicBody do
it 'should return false if request_email is nil' do
@body.request_email = nil
- @body.is_requestable?.should == false
+ @body.is_followupable?.should == false
end
it 'should return false if the request email is "blank"' do
- @body.request_email = "blank"
- @body.is_requestable?.should == false
+ @body.request_email = 'blank'
+ @body.is_followupable?.should == false
end
it 'should return false if the request email is an empty string' do
- @body.request_email = ""
- @body.is_requestable?.should == false
+ @body.request_email = ''
+ @body.is_followupable?.should == false
end
it 'should return true if the request email is an email address' do
- @body.is_requestable?.should == true
+ @body.is_followupable?.should == true
end
end