aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/views/request/_after_actions.rhtml_spec.rb59
1 files changed, 53 insertions, 6 deletions
diff --git a/spec/views/request/_after_actions.rhtml_spec.rb b/spec/views/request/_after_actions.rhtml_spec.rb
index 7893d2e49..a92ef2dda 100644
--- a/spec/views/request/_after_actions.rhtml_spec.rb
+++ b/spec/views/request/_after_actions.rhtml_spec.rb
@@ -18,17 +18,64 @@ describe 'when displaying actions that can be taken with regard to a request' do
render :partial => 'request/after_actions'
end
- def expect_owner_link(text)
+ def expect_owner_div
do_render
- response.should have_tag('div#owner_actions') do
- with_tag('a', :text => text)
- end
+ response.should have_tag('div#owner_actions'){ yield }
+ end
+
+ def expect_anyone_div
+ do_render
+ response.should have_tag('div#anyone_actions'){ yield }
+ end
+
+ def expect_owner_link(text)
+ expect_owner_div{ with_tag('a', :text => text) }
end
- it 'should display a link for the request owner to update the status of the request' do
- expect_owner_link('Update the status of this request')
+ def expect_no_owner_link(text)
+ expect_owner_div{ without_tag('a', :text => text) }
+ end
+
+ def expect_anyone_link(text)
+ expect_anyone_div{ with_tag('a', :text => text) }
+ end
+
+ def expect_no_anyone_link(text)
+ expect_anyone_div{ without_tag('a', :text => text) }
+ end
+
+ describe 'if the request is old and unclassified' do
+
+ before do
+ assigns[:old_unclassified] = true
+ end
+
+ it 'should not display a link for the request owner to update the status of the request' do
+ expect_no_owner_link('Update the status of this request')
+ end
+
+ it 'should display a link for anyone to update the status of the request' do
+ expect_anyone_link('Update the status of this request')
+ end
+
end
+ describe 'if the request is not old and unclassified' do
+
+ before do
+ assigns[:old_unclassified] = false
+ end
+
+ it 'should display a link for the request owner to update the status of the request' do
+ expect_owner_link('Update the status of this request')
+ end
+
+ it 'should not display a link for anyone to update the status of the request' do
+ expect_no_anyone_link('Update the status of this request')
+ end
+
+ end
+
it 'should display a link for the request owner to request a review' do
expect_owner_link('Request an internal review')
end