if MagicNumber['run_mode'] == 1
describe '自分のコミック一覧表示に於いて' do
before do
- @comic = FactoryGirl.create :comic, :author_id => @author.id
+ @scroll = FactoryGirl.create :scroll, :author_id => @author.id
sign_in @user
- Comic.stub(:mylist).and_return([@comic, @comic, @comic])
+ Scroll.stub(:mylist).and_return([@scroll, @scroll, @scroll])
end
context 'パラメータpageについて' do
it '@pageに値が入る' do
- get :comics, :page => 5
+ get :scrolls, :page => 5
assigns(:page).should eq 5
end
it '省略されると@pageに1値が入る' do
- get :comics
+ get :scrolls
assigns(:page).should eq 1
end
it '与えられたpage_sizeがセットされている' do
- get :comics, :page_size => 15
+ get :scrolls, :page_size => 15
assigns(:page_size).should eq 15
end
it '省略されると@page_sizeにデフォルト値が入る' do
- get :comics
- assigns(:page_size).should eq Author.default_comic_page_size
+ get :scrolls
+ assigns(:page_size).should eq Author.default_scroll_page_size
end
it '最大を超えると@page_sizeにデフォルト最大値が入る' do
- get :comics, :page_size => 1500
- assigns(:page_size).should eq Author.comic_max_page_size
+ get :scrolls, :page_size => 1500
+ assigns(:page_size).should eq Author.scroll_max_page_size
end
it '不正な値が入ると@page_sizeにデフォルト最大値が入る' do
- get :comics, :page_size => 0
- assigns(:page_size).should eq Author.default_comic_page_size
+ get :scrolls, :page_size => 0
+ assigns(:page_size).should eq Author.default_scroll_page_size
end
end
context 'つつがなく終わるとき' do
it 'ステータスコード200 OKを返す' do
- get :comics
+ get :scrolls
response.should be_success
end
it 'コミックモデルに一覧を問い合わせている' do
- Comic.should_receive(:mylist).exactly(1)
- get :comics
+ Scroll.should_receive(:mylist).exactly(1)
+ get :scrolls
end
- it '@comicsにリストを取得している' do
- get :comics
- assigns(:comics).should have_at_least(3).items
+ it '@scrollsにリストを取得している' do
+ get :scrolls
+ assigns(:scrolls).should have_at_least(3).items
end
context 'html形式' do
it '@paginateにページ制御を取得している' do
- get :comics
+ get :scrolls
assigns(:paginate).is_a?(Kaminari::PaginatableArray).should be_true
end
- it 'comicsテンプレートを描画する' do
- get :comics
- response.should render_template("comics")
+ it 'scrollsテンプレートを描画する' do
+ get :scrolls
+ response.should render_template("scrolls")
end
end
context 'json形式' do
it 'jsonデータを返す' do
- get :comics, :format => :json
+ get :scrolls, :format => :json
lambda{JSON.parse(response.body)}.should_not raise_error(JSON::ParserError)
end
it 'コミックモデルにjson一覧出力オプションを問い合わせている' do
- Comic.should_receive(:list_json_opt).exactly(1)
- get :comics, :format => :json
+ Scroll.should_receive(:list_json_opt).exactly(1)
+ get :scrolls, :format => :json
end
it 'データがリスト構造になっている' do
- get :comics, :format => :json
+ get :scrolls, :format => :json
json = JSON.parse response.body
json.should have_at_least(3).items
end
it 'リストの先頭くらいはコミックっぽいものであって欲しい' do
- get :comics, :format => :json
+ get :scrolls, :format => :json
json = JSON.parse response.body
json.first.has_key?("title").should be_true
json.first.has_key?("visible").should be_true
end
context 'html形式' do
it 'ステータスコード302 Foundを返す' do
- get :comics
+ get :scrolls
response.status.should eq 302
end
it 'サインインページへ遷移する' do
- get :comics
+ get :scrolls
response.should redirect_to '/users/sign_in'
end
end
context 'json形式' do
it 'ステータスコード401 Unauthorizedを返す' do
- get :comics, :format => :json
+ get :scrolls, :format => :json
response.status.should eq 401
end
it '応答メッセージにUnauthorizedを返す' do
- get :comics, :format => :json
+ get :scrolls, :format => :json
response.message.should match(/Unauthorized/)
end
end
else
describe '自分のコミック一覧表示に於いて' do
before do
- @comic = FactoryGirl.create :comic, :author_id => @author.id
+ @scroll = FactoryGirl.create :scroll, :author_id => @author.id
sign_in @user
- Comic.stub(:mylist).and_return([@comic, @comic, @comic])
+ Scroll.stub(:mylist).and_return([@scroll, @scroll, @scroll])
end
context 'つつがなく終わるとき' do
it 'ステータスコード200 OKを返す' do
- get :comics
+ get :scrolls
response.should be_success
end
context 'html形式' do
- it 'comicsテンプレートを描画する' do
- get :comics
- response.should render_template("comics")
+ it 'scrollsテンプレートを描画する' do
+ get :scrolls
+ response.should render_template("scrolls")
end
end
context 'json形式' do
it 'jsonデータを返す' do
- get :comics, :format => :json
+ get :scrolls, :format => :json
lambda{JSON.parse(response.body)}.should_not raise_error(JSON::ParserError)
end
end
end
context 'html形式' do
it 'ステータスコード302 Foundを返す' do
- get :comics
+ get :scrolls
response.status.should eq 302
end
it 'サインインページへ遷移する' do
- get :comics
+ get :scrolls
response.should redirect_to '/users/sign_in'
end
end
context 'json形式' do
it 'ステータスコード401 Unauthorizedを返す' do
- get :comics, :format => :json
+ get :scrolls, :format => :json
response.status.should eq 401
end
it '応答メッセージにUnauthorizedを返す' do
- get :comics, :format => :json
+ get :scrolls, :format => :json
response.message.should match(/Unauthorized/)
end
end