added tests

This commit is contained in:
Hauke Klement
2015-02-23 12:44:22 +01:00
parent 11a0679b3a
commit f337f1c1a3
2 changed files with 30 additions and 11 deletions

View File

@ -7,6 +7,8 @@ describe ExercisesController do
describe 'POST #clone' do describe 'POST #clone' do
let(:request) { proc { post :clone, id: exercise.id } } let(:request) { proc { post :clone, id: exercise.id } }
context 'when saving succeeds' do
before(:each) { request.call } before(:each) { request.call }
expect_assigns(exercise: Exercise) expect_assigns(exercise: Exercise)
@ -23,6 +25,19 @@ describe ExercisesController do
expect_redirect expect_redirect
end end
context 'when saving fails' do
before(:each) do
expect_any_instance_of(Exercise).to receive(:save).and_return(false)
request.call
end
expect_assigns(exercise: Exercise)
expect_flash_message(:danger)
expect_redirect(:exercise)
end
end
describe 'POST #create' do describe 'POST #create' do
let(:exercise_attributes) { FactoryGirl.build(:dummy).attributes } let(:exercise_attributes) { FactoryGirl.build(:dummy).attributes }

View File

@ -21,9 +21,13 @@ def expect_content_type(content_type)
end end
end end
def expect_flash_message(type, message) def expect_flash_message(type, message = nil)
it 'displays a flash message' do it 'displays a flash message' do
if message
expect(flash[type]).to eq(message.is_a?(String) ? message : I18n.t(message)) expect(flash[type]).to eq(message.is_a?(String) ? message : I18n.t(message))
else
expect(flash[type]).to be_present
end
end end
end end