readings_controller_spec.rb
1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
require 'spec_helper'
describe ReadingsController do
let(:reading_group) { FactoryGirl.build(:reading_group) }
describe 'new' do
before :each do
sign_in FactoryGirl.create(:user)
get :new, reading_group_id: reading_group.id
end
it { should respond_with(:success) }
it { should render_template(:new) }
end
describe 'create' do
let(:reading) { FactoryGirl.build(:reading) }
let(:reading_params) { Hash[FactoryGirl.attributes_for(:reading).map { |k,v| [k.to_s, v.to_s] }] } #FIXME: Mocha is creating the expectations with strings, but FactoryGirl returns everything with symbols and integers
before do
sign_in FactoryGirl.create(:user)
end
context 'with valid fields' do
before :each do
Reading.any_instance.expects(:save).returns(true)
post :create, reading_group_id: reading_group.id, reading: reading_params
end
it { should respond_with(:redirect) }
end
context 'with invalid fields' do
before :each do
Reading.any_instance.expects(:save).returns(false)
post :create, reading_group_id: reading_group.id, reading: reading_params
end
it { should render_template(:new) }
end
end
end