Skip to content

Commit

Permalink
allow access to icon files next-l/enju_leaf#1266
Browse files Browse the repository at this point in the history
  • Loading branch information
nabeta committed Mar 25, 2017
1 parent 0504788 commit 1ecfcb4
Show file tree
Hide file tree
Showing 2 changed files with 126 additions and 101 deletions.
6 changes: 5 additions & 1 deletion app/controllers/carrier_types_controller.rb
@@ -1,5 +1,5 @@
class CarrierTypesController < ApplicationController
before_action :set_carrier_type, only: [:show, :edit, :update, :destroy]
before_action :set_carrier_type, only: [:edit, :update, :destroy]
before_action :check_policy, only: [:index, :new, :create]
before_action :prepare_options, only: [:new, :edit]

Expand All @@ -17,6 +17,10 @@ def index
# GET /carrier_types/1
# GET /carrier_types/1.json
def show
@carrier_type = CarrierType.find(params[:id])
unless params[:format] == 'download'
authorize @carrier_type
end
if @carrier_type.attachment.path
if ENV['ENJU_STORAGE'] == 's3'
file = Faraday.get(@carrier_type.attachment.expiring_url).body.force_encoding('UTF-8')
Expand Down
221 changes: 121 additions & 100 deletions spec/controllers/carrier_types_controller_spec.rb
Expand Up @@ -20,7 +20,6 @@

describe CarrierTypesController do
fixtures :all
login_fixture_admin

# This should return the minimal set of attributes required to create a valid
# CarrierType. As you add validations to CarrierType, be sure to
Expand All @@ -29,138 +28,160 @@ def valid_attributes
FactoryGirl.attributes_for(:carrier_type)
end

describe 'GET index' do
it 'assigns all carrier_types as @carrier_types' do
carrier_type = CarrierType.create! valid_attributes
get :index
expect(assigns(:carrier_types)).to eq(CarrierType.order(:position).page(1))
context 'When logged in as Administrator' do
login_fixture_admin
describe 'GET index' do
it 'assigns all carrier_types as @carrier_types' do
carrier_type = CarrierType.create! valid_attributes
get :index
expect(assigns(:carrier_types)).to eq(CarrierType.order(:position).page(1))
end
end
end

describe 'GET show' do
it 'assigns the requested carrier_type as @carrier_type' do
carrier_type = CarrierType.create! valid_attributes
get :show, id: carrier_type.id
expect(assigns(:carrier_type)).to eq(carrier_type)
describe 'GET show' do
it 'assigns the requested carrier_type as @carrier_type' do
carrier_type = CarrierType.create! valid_attributes
get :show, id: carrier_type.id
expect(assigns(:carrier_type)).to eq(carrier_type)
end
end
end

describe 'GET new' do
it 'assigns a new carrier_type as @carrier_type' do
get :new
expect(assigns(:carrier_type)).to be_a_new(CarrierType)
describe 'GET new' do
it 'assigns a new carrier_type as @carrier_type' do
get :new
expect(assigns(:carrier_type)).to be_a_new(CarrierType)
end
end
end

describe 'GET edit' do
it 'assigns the requested carrier_type as @carrier_type' do
carrier_type = CarrierType.create! valid_attributes
get :edit, id: carrier_type.id
expect(assigns(:carrier_type)).to eq(carrier_type)
describe 'GET edit' do
it 'assigns the requested carrier_type as @carrier_type' do
carrier_type = CarrierType.create! valid_attributes
get :edit, id: carrier_type.id
expect(assigns(:carrier_type)).to eq(carrier_type)
end
end
end

describe 'POST create' do
describe 'with valid params' do
it 'creates a new CarrierType' do
expect do
describe 'POST create' do
describe 'with valid params' do
it 'creates a new CarrierType' do
expect do
post :create, carrier_type: valid_attributes
end.to change(CarrierType, :count).by(1)
end

it 'assigns a newly created carrier_type as @carrier_type' do
post :create, carrier_type: valid_attributes
end.to change(CarrierType, :count).by(1)
end
expect(assigns(:carrier_type)).to be_a(CarrierType)
expect(assigns(:carrier_type)).to be_persisted
end

it 'assigns a newly created carrier_type as @carrier_type' do
post :create, carrier_type: valid_attributes
expect(assigns(:carrier_type)).to be_a(CarrierType)
expect(assigns(:carrier_type)).to be_persisted
it 'redirects to the created carrier_type' do
post :create, carrier_type: valid_attributes
expect(response).to redirect_to(CarrierType.last)
end
end

it 'redirects to the created carrier_type' do
post :create, carrier_type: valid_attributes
expect(response).to redirect_to(CarrierType.last)
describe 'with invalid params' do
it 'assigns a newly created but unsaved carrier_type as @carrier_type' do
# Trigger the behavior that occurs when invalid params are submitted
CarrierType.any_instance.stub(:save).and_return(false)
post :create, carrier_type: { name: 'test' }
expect(assigns(:carrier_type)).to be_a_new(CarrierType)
end

it "re-renders the 'new' template" do
# Trigger the behavior that occurs when invalid params are submitted
CarrierType.any_instance.stub(:save).and_return(false)
post :create, carrier_type: { name: 'test' }
expect(response).to render_template('new')
end
end
end

describe 'with invalid params' do
it 'assigns a newly created but unsaved carrier_type as @carrier_type' do
# Trigger the behavior that occurs when invalid params are submitted
CarrierType.any_instance.stub(:save).and_return(false)
post :create, carrier_type: { name: 'test' }
expect(assigns(:carrier_type)).to be_a_new(CarrierType)
describe 'PUT update' do
describe 'with valid params' do
it 'updates the requested carrier_type' do
carrier_type = CarrierType.create! valid_attributes
# Assuming there are no other carrier_types in the database, this
# specifies that the CarrierType created on the previous line
# receives the :update_attributes message with whatever params are
# submitted in the request.
CarrierType.any_instance.should_receive(:update_attributes).with('name' => 'test')
put :update, id: carrier_type.id, carrier_type: { 'name' => 'test' }
end

it 'assigns the requested carrier_type as @carrier_type' do
carrier_type = CarrierType.create! valid_attributes
put :update, id: carrier_type.id, carrier_type: valid_attributes
expect(assigns(:carrier_type)).to eq(carrier_type)
end

it 'redirects to the carrier_type' do
carrier_type = CarrierType.create! valid_attributes
put :update, id: carrier_type.id, carrier_type: valid_attributes
expect(response).to redirect_to(carrier_type)
end

it 'moves its position when specified' do
carrier_type = CarrierType.create! valid_attributes
position = carrier_type.position
put :update, id: carrier_type.id, move: 'higher'
expect(response).to redirect_to carrier_types_url
assigns(:carrier_type).reload.position.should eq position - 1
end
end

it "re-renders the 'new' template" do
# Trigger the behavior that occurs when invalid params are submitted
CarrierType.any_instance.stub(:save).and_return(false)
post :create, carrier_type: { name: 'test' }
expect(response).to render_template('new')
describe 'with invalid params' do
it 'assigns the carrier_type as @carrier_type' do
carrier_type = CarrierType.create! valid_attributes
# Trigger the behavior that occurs when invalid params are submitted
CarrierType.any_instance.stub(:save).and_return(false)
put :update, id: carrier_type.id, carrier_type: { name: 'test' }
expect(assigns(:carrier_type)).to eq(carrier_type)
end

it "re-renders the 'edit' template" do
carrier_type = CarrierType.create! valid_attributes
# Trigger the behavior that occurs when invalid params are submitted
CarrierType.any_instance.stub(:save).and_return(false)
put :update, id: carrier_type.id, carrier_type: { name: 'test' }
expect(response).to render_template('edit')
end
end
end
end

describe 'PUT update' do
describe 'with valid params' do
it 'updates the requested carrier_type' do
carrier_type = CarrierType.create! valid_attributes
# Assuming there are no other carrier_types in the database, this
# specifies that the CarrierType created on the previous line
# receives the :update_attributes message with whatever params are
# submitted in the request.
CarrierType.any_instance.should_receive(:update_attributes).with('name' => 'test')
put :update, id: carrier_type.id, carrier_type: { 'name' => 'test' }
end

it 'assigns the requested carrier_type as @carrier_type' do
carrier_type = CarrierType.create! valid_attributes
put :update, id: carrier_type.id, carrier_type: valid_attributes
expect(assigns(:carrier_type)).to eq(carrier_type)
end

it 'redirects to the carrier_type' do
describe 'DELETE destroy' do
it 'destroys the requested carrier_type' do
carrier_type = CarrierType.create! valid_attributes
put :update, id: carrier_type.id, carrier_type: valid_attributes
expect(response).to redirect_to(carrier_type)
expect do
delete :destroy, id: carrier_type.id
end.to change(CarrierType, :count).by(-1)
end

it 'moves its position when specified' do
it 'redirects to the carrier_types list' do
carrier_type = CarrierType.create! valid_attributes
position = carrier_type.position
put :update, id: carrier_type.id, move: 'higher'
expect(response).to redirect_to carrier_types_url
assigns(:carrier_type).reload.position.should eq position - 1
delete :destroy, id: carrier_type.id
expect(response).to redirect_to(carrier_types_url)
end
end
end

describe 'with invalid params' do
it 'assigns the carrier_type as @carrier_type' do
context 'When not logged in' do
describe 'GET show' do
it 'assigns the requested carrier_type as @carrier_type' do
carrier_type = CarrierType.create! valid_attributes
# Trigger the behavior that occurs when invalid params are submitted
CarrierType.any_instance.stub(:save).and_return(false)
put :update, id: carrier_type.id, carrier_type: { name: 'test' }
get :show, id: carrier_type.id
expect(assigns(:carrier_type)).to eq(carrier_type)
expect(response).to redirect_to(new_user_session_url)
end

it "re-renders the 'edit' template" do
it 'assigns the requested carrier_type as @carrier_type when the format is download' do
carrier_type = CarrierType.create! valid_attributes
# Trigger the behavior that occurs when invalid params are submitted
CarrierType.any_instance.stub(:save).and_return(false)
put :update, id: carrier_type.id, carrier_type: { name: 'test' }
expect(response).to render_template('edit')
expect{
get :show, id: carrier_type.id, format: :download
}.to raise_error(ActionView::MissingTemplate)
#expect(assigns(:carrier_type)).to raise_error(ActionView::MissingTemplate)
end
end
end

describe 'DELETE destroy' do
it 'destroys the requested carrier_type' do
carrier_type = CarrierType.create! valid_attributes
expect do
delete :destroy, id: carrier_type.id
end.to change(CarrierType, :count).by(-1)
end

it 'redirects to the carrier_types list' do
carrier_type = CarrierType.create! valid_attributes
delete :destroy, id: carrier_type.id
expect(response).to redirect_to(carrier_types_url)
end
end
end

0 comments on commit 1ecfcb4

Please sign in to comment.