working on categories for schools

pull/1/head
Jared Cosulich 9 years ago
parent a9335059ff
commit c0400700fc

@ -1,4 +1,5 @@
class CategoriesController < ApplicationController
before_action :set_school, only: [:show]
before_action :set_category, only: [:show, :edit, :update, :destroy]
# GET /categories
@ -62,7 +63,12 @@ class CategoriesController < ApplicationController
end
private
# Use callbacks to share common setup or constraints between actions.
def set_school
redirect_to root_path and return false unless params.include?(:school_id)
@school = School.find(params[:school_id])
redirect_to root_path and return false if @school.nil?
end
def set_category
@category = Category.find(params[:id])
end

@ -13,6 +13,7 @@ Rails.application.routes.draw do
end
end
resources :schedules
resources :categories, only: [:show]
end
# resources :attempts, only: [:get, :update]

@ -45,10 +45,18 @@ RSpec.describe CategoriesController, type: :controller do
end
describe "GET #show" do
it "assigns the requested category as @category" do
it "assigns the requested school and category as @school and @category" do
school = School.create! name: 'School'
category = Category.create! valid_attributes
get :show, params: {id: category.to_param}, session: valid_session
get :show, params: {school_id: school.id, id: category.to_param}, session: valid_session
expect(assigns(:category)).to eq(category)
expect(assigns(:school)).to eq(school)
end
it "redirects to root_path if school is not provided" do
category = Category.create! valid_attributes
get :show, params: {id: category.to_param}, session: valid_session
expect(response).to redirect_to(root_path)
end
end

Loading…
Cancel
Save