errs_controller_spec.rb
1.23 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
require 'spec_helper'
describe ErrsController do
let(:project) { Factory(:project) }
let(:err) { Factory(:err, :project => project) }
describe "GET /errs" do
it "gets a paginated list of unresolved errors" do
errors = WillPaginate::Collection.new(1,30)
3.times { errors << Factory(:err) }
Err.should_receive(:unresolved).and_return(mock('proxy', :paginate => errors))
get :index
assigns(:errs).should == errors
end
end
describe "GET /errs/:id" do
before do
3.times { Factory(:notice, :err => err)}
end
it "finds the project" do
get :show, :project_id => project.id, :id => err.id
assigns(:project).should == project
end
it "finds the err" do
get :show, :project_id => project.id, :id => err.id
assigns(:err).should == err
end
it "paginates the notices, 1 at a time" do
Project.stub(:find).with(project.id).and_return(project)
project.errs.stub(:find).with(err.id).and_return(err)
err.notices.should_receive(:paginate).with(:page => 3, :per_page => 1).
and_return(WillPaginate::Collection.new(1,1) << err.notices.first)
get :show, :project_id => project.id, :id => err.id
end
end
end