From 74ea2f5d6e5b528966facf6ce38b8360ed62fa98 Mon Sep 17 00:00:00 2001 From: Enrico Stano Date: Wed, 20 Jun 2018 23:44:27 +0200 Subject: [PATCH 1/2] Doc++ --- app/controllers/organizations_controller.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 0a394f172..e4cdca24e 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -41,6 +41,8 @@ def destroy redirect_to organizations_path, notice: "deleted" end + # POST /organizations/:organization_id/set_current + # def set_current if current_user session[:current_organization_id] = @organization.id From 54f0ead79f0dc9b0f2c8c5c34604139b6ce364d2 Mon Sep 17 00:00:00 2001 From: Enrico Stano Date: Wed, 20 Jun 2018 23:44:52 +0200 Subject: [PATCH 2/2] Add set_current action to load resource before filter whitelist --- app/controllers/organizations_controller.rb | 2 +- .../organizations_controller_spec.rb | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index e4cdca24e..3bd9abf9b 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -1,5 +1,5 @@ class OrganizationsController < ApplicationController - before_filter :load_resource, only: [:show, :edit, :update, :destroy] + before_filter :load_resource, only: [:show, :edit, :update, :destroy, :set_current] def new @organization = Organization.new diff --git a/spec/controllers/organizations_controller_spec.rb b/spec/controllers/organizations_controller_spec.rb index f56b7950a..7dcbffed3 100644 --- a/spec/controllers/organizations_controller_spec.rb +++ b/spec/controllers/organizations_controller_spec.rb @@ -1,9 +1,11 @@ require 'spec_helper' -describe OrganizationsController do - describe '#show' do - let(:organization) { Fabricate(:organization) } +RSpec.describe OrganizationsController do + let(:organization) { Fabricate(:organization) } + let(:member) { Fabricate(:member, organization: organization) } + let(:user) { member.user } + describe '#show' do it 'links to new_transfer_path' do get 'show', id: organization.id expect(response.body).to include( @@ -11,4 +13,14 @@ ) end end + + describe '#set_current' do + before { login(user) } + + it 'stores the given organization as current organization in session' do + post 'set_current', id: organization.id + + expect(session[:current_organization_id]).to eq(organization.id) + end + end end