@author = FactoryGirl.create :author, :user_id => @user.id
end
-if MagicNumber['run_mode'] == 1
+if Manifest.manifest.magic_numbers['run_mode'] == 1
describe '一覧表示に於いて' do
before do
@scroll = FactoryGirl.create :scroll, :author_id => @user.author.id
Scroll.stub(:list).and_return([@scroll, @scroll, @scroll])
sign_in @user
end
- context '事前チェックする' do
- it '与えられたpageがセットされている' do
- get :index, :page => 5
- assigns(:page).should eq 5
- end
- it '省略されると@pageに1値が入る' do
- get :index
- assigns(:page).should eq 1
- end
- it '与えられたpage_sizeがセットされている' do
- get :index, :page_size => 15
- assigns(:page_size).should eq 15
- end
- it '省略されると@page_sizeにデフォルト値が入る' do
- get :index
- assigns(:page_size).should eq Scroll.default_page_size
- end
- it '最大を超えると@page_sizeにデフォルト最大値が入る' do
- get :index, :page_size => 1500
- assigns(:page_size).should eq Scroll.max_page_size
- end
- it '不正な値が入ると@page_sizeにデフォルト最大値が入る' do
- get :index, :page_size => 0
- assigns(:page_size).should eq Scroll.default_page_size
- end
- end
context 'つつがなく終わるとき' do
it 'ステータスコード200 OKを返す' do
get :index
response.should be_success
end
- it 'スクロールモデルに一覧を問い合わせている' do
- Scroll.should_receive(:list).exactly(1)
- get :index
- end
it '@scrollsにリストを取得している' do
get :index
assigns(:scrolls).should have_at_least(3).items
end
context 'html形式' do
- it '@paginateにページ制御を取得している' do
- get :index
- assigns(:paginate).is_a?(Kaminari::PaginatableArray).should be_true
- end
it 'indexテンプレートを描画する' do
get :index
response.should render_template("index")
get :index, :format => :json
lambda{JSON.parse(response.body)}.should_not raise_error(JSON::ParserError)
end
- it 'スクロールモデルにjson一覧出力オプションを問い合わせている' do
- Scroll.should_receive(:list_json_opt).exactly(1)
- get :index, :format => :json
- end
- it 'データがリスト構造になっている' do
- get :index, :format => :json
- json = JSON.parse response.body
- json.should have_at_least(3).items
- end
- it 'リストの先頭くらいはスクロールっぽいものであって欲しい' do
- get :index, :format => :json
- json = JSON.parse response.body
- json.first.has_key?("title").should be_true
- json.first.has_key?("visible").should be_true
- end
end
end
context 'ユーザ権限がないとき' do