admin/spec/controllers/gaku/admin/schools/campuses/campuses_controller_spec.rb in gaku-0.1.1 vs admin/spec/controllers/gaku/admin/schools/campuses/campuses_controller_spec.rb in gaku-0.2.0
- old
+ new
@@ -1,8 +1,8 @@
require 'spec_helper_controllers'
-describe Gaku::Admin::Schools::CampusesController do
+describe Gaku::Admin::CampusesController do
let!(:school) { create(:school) }
let(:campus) { create(:campus, school_id: school.id) }
let(:invalid_campus) { create(:ivalid_campus) }
@@ -17,55 +17,25 @@
it { should respond_with 200 }
it('assigns @campus') { expect(assigns(:campus)).to eq campus }
it('renders the :edit template') { template? :edit }
end
- describe 'GET #show' do
- before { gaku_get :show, id: campus, school_id: school.id }
+ end
- it { should respond_with 200 }
- it('assigns @campus') { expect(assigns(:campus)).to eq campus }
- it('renders the :show template') { template? :show }
- end
-
-
- describe 'PATCH #update' do
- context 'with valid attributes' do
- before do
- gaku_patch :update, id: campus, school_id: school.id, campus: attributes_for(:campus, name: 'test')
- end
-
- it { should respond_with 302 }
- it('redirects to :edit view') { redirect_to? "/admin/schools/#{school.id}/campuses/#{campus.id}/edit"}
- it('assigns @campus') { expect(assigns(:campus)).to eq campus }
- it('sets flash') { flash_updated? }
- it "changes campus's attributes" do
- campus.reload
- expect(campus.name).to eq 'test'
- end
+ context 'js' do
+ describe 'JS GET #index' do
+ before do
+ campus
+ gaku_js_get :index, school_id: school.id
end
- context 'with invalid attributes' do
- before do
- gaku_patch :update, id: campus, school_id: school.id, campus: attributes_for(:campus, name: '')
- end
-
- it { should respond_with 200 }
- it('assigns @campus') { expect(assigns(:campus)).to eq campus }
-
- it "does not change campus's attributes" do
- campus.reload
- expect(campus.name).not_to eq ''
- end
- end
+ it { should respond_with 200 }
+ it('assigns @campuses') { expect(assigns(:campuses)).to eq [school.master_campus, campus] }
+ it('renders the :index template') { template? :index }
end
- end
-
- context 'js' do
-
- describe 'JS #new' do
+ describe 'JS GET #new' do
before { gaku_js_get :new, school_id: school.id }
it { should respond_with 200 }
it('assigns @campus') { expect(assigns(:campus)).to be_a_new(Gaku::Campus) }
it('renders the :new template') { template? :new }
@@ -111,9 +81,39 @@
end
it "doesn't increment @count" do
invalid_js_create
expect(assigns(:count)).to eq 1
+ end
+ end
+ end
+
+ describe 'JS PATCH #update' do
+ context 'with valid attributes' do
+ before do
+ gaku_js_patch :update, id: campus, school_id: school.id, campus: attributes_for(:campus, name: 'test')
+ end
+
+ it { should respond_with 200 }
+ it('assigns @campus') { expect(assigns(:campus)).to eq campus }
+ it('sets flash') { flash_updated? }
+ it "changes campus's attributes" do
+ campus.reload
+ expect(campus.name).to eq 'test'
+ end
+ end
+
+ context 'with invalid attributes' do
+ before do
+ gaku_js_patch :update, id: campus, school_id: school.id, campus: attributes_for(:campus, name: '')
+ end
+
+ it { should respond_with 200 }
+ it('assigns @campus') { expect(assigns(:campus)).to eq campus }
+
+ it "does not change campus's attributes" do
+ campus.reload
+ expect(campus.name).not_to eq ''
end
end
end
describe 'JS DELETE #destroy' do