aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers/referentials_controller_spec.rb
diff options
context:
space:
mode:
authorVlatka Pavisic2017-03-22 15:34:05 +0100
committerVlatka Pavisic2017-03-22 15:34:11 +0100
commitb9b8abc826fb542c1b4f65a796e2381f56cfe411 (patch)
treeb2e0d099f5da61f900275f3407d1bf3eee675218 /spec/controllers/referentials_controller_spec.rb
parentaf71d3fbbf93cb4da1d2ebd1a1b705019f6cddb5 (diff)
downloadchouette-core-b9b8abc826fb542c1b4f65a796e2381f56cfe411.tar.bz2
Refs #2902 : Referential#(un)archive policy check
Diffstat (limited to 'spec/controllers/referentials_controller_spec.rb')
-rw-r--r--spec/controllers/referentials_controller_spec.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/controllers/referentials_controller_spec.rb b/spec/controllers/referentials_controller_spec.rb
index 442a10bbd..1b4533fca 100644
--- a/spec/controllers/referentials_controller_spec.rb
+++ b/spec/controllers/referentials_controller_spec.rb
@@ -4,4 +4,23 @@ describe ReferentialsController, :type => :controller do
login_user
+ let(:referential) { Referential.first }
+ let(:organisation) { create :organisation }
+ let(:other_referential) { create :referential, organisation: organisation }
+
+ describe 'PUT archive' do
+ context "user's organisation matches referential's organisation" do
+ it 'returns http success' do
+ put :archive, id: referential.id
+ expect(response).to have_http_status(302)
+ end
+ end
+
+ context "user's organisation doesn't match referential's organisation" do
+ it 'raises a ActiveRecord::RecordNotFound' do
+ expect { put :archive, id: other_referential.id }.to raise_error(ActiveRecord::RecordNotFound)
+ end
+ end
+ end
+
end