2 def define_leaf_items?
\r
4 expect(response).to be_success
\r
9 expect {JSON.parse(response.body)}.not_to raise_error
\r
14 expect(response).to render_template("templates/r/filer/filer")
\r
17 def render_profiler?
\r
18 # profilerテンプレートを描画する
\r
19 expect(response).to render_template("templates/r/profiler/profiler")
\r
24 expect(response).to render_template("templates/r/form/form")
\r
28 # html形式: ステータスコード302 Foundを返す
\r
29 expect(response.status).to eq(302)
\r
30 expect(response).to redirect_to url
\r
33 # ゲストがapiからコンテンツにアクセスしようとした時の動作を確認する
\r
34 def render_unauthorized?
\r
35 # json形式: ステータスコード401 Unauthorizedを返す
\r
36 expect(response.status).to eq(401)
\r
37 expect(response.message).to match(/Unauthorized/)
\r
41 def render_unprocessable?
\r
42 expect(response.status).to eq(422)
\r
43 expect(response.message).to match(/Unprocessable/)
\r
46 def render_complated?
\r
47 expect(response.message).to match /./
\r
50 def set_model? model_class, var_name = :my_model_class
\r
51 expect(assigns(var_name)).to be model_class
\r
54 def set_list_model? model_class, var_name = :my_list_model_class
\r
55 expect(assigns(var_name)).to be model_class
\r
58 def set_list? item_name, list_name, var_name = :list
\r
59 expect(assigns(var_name).item_name).to eq(item_name)
\r
60 expect(assigns(var_name).list_name).to eq(list_name)
\r
63 def set_play_list? model_class
\r
64 expect(assigns(:items).size).to be >= 3
\r
65 expect(assigns(:count)).to be >= 3
\r
66 expect(assigns(:pager)).not_to be nil
\r
67 expect(assigns(:items).first.class).to be model_class
\r
70 def let_filer? var_name = :filer
\r
71 expect(assigns(var_name).class).to eq(Locmare::Filer)
\r
74 def let_profiler? var_name = :profiler
\r
75 expect(assigns(var_name).class).to eq(Locmare::Profiler)
\r
78 def set_bucket? item, var_name = :form
\r
79 # @filerにファイラーを取得している
\r
80 expect(assigns(var_name).item).to eq(item)
\r
81 expect(assigns(var_name).mounted).to eq(true)
\r
82 expect(assigns(var_name).submit).to eq(true)
\r
85 def boost? names, var_name = :item
\r
87 assigns(var_name).boosters.empty?
\r
89 names.each do |boost_name|
\r
90 expect(assigns(var_name).boosters[boost_name]).to_not be nil
\r
95 # 作家活動していないユーザーがAPIから創作活動をしようとしたとき、例外を発生させる。
\r
96 # 暫定的な仕様なので、良い方法があれば変えるかもしれない。メンテしやすいように切り分けてある。
\r
97 # リクエストして例外が発生したところとらえるので、リクエストと検証を同時に行う
\r
98 def announce_regist_author_for_json method, params = {}, action = :create
\r
99 expect {__send__(method, action, params.merge(:format => :json))}.to raise_error(ActiveRecord::Forbidden)
\r
102 # 保存処理を成功したことにしてスキップする
\r
103 def allow_save my_model_class
\r
104 allow_any_instance_of(my_model_class).to receive(:save).and_return(true)
\r
107 # 保存処理を失敗したことにしてスキップする
\r
108 def reject_save my_model_class
\r
109 allow_any_instance_of(my_model_class).to receive(:save).and_return(false)
\r
112 # 削除処理を成功したことにしてスキップする
\r
113 def allow_destroy my_model_class
\r
114 allow_any_instance_of(my_model_class).to receive(:destroy).and_return(true)
\r
117 # 削除処理を失敗したことにしてスキップする
\r
118 def reject_destroy my_model_class
\r
119 allow_any_instance_of(my_model_class).to receive(:destroy).and_return(false)
\r
122 def factory_contents factory_name, author, count = 5
\r
123 FactoryGirl.create_list(factory_name, count, author: author)
\r