OSDN Git Service

fix test
[pettanr/pettanr.git] / spec / support / controller_macros.rb
index 3df49f6..77b2918 100644 (file)
@@ -47,9 +47,16 @@ module ControllerMacros
     expect(response.message).to match(/Unprocessable/)\r
   end\r
   \r
+  def render_complated?\r
+    expect(response.message).to match /./\r
+  end\r
+  \r
   def set_model? model_class, var_name = :my_model_class\r
-    # @filerにファイラーを取得している\r
-    expect(assigns(var_name).class).to be model_class.class\r
+    expect(assigns(var_name)).to be model_class\r
+  end\r
+  \r
+  def set_list_model? model_class, var_name = :my_list_model_class\r
+    expect(assigns(var_name)).to be model_class\r
   end\r
   \r
   def set_list? item_name, list_name, var_name = :list\r
@@ -57,16 +64,21 @@ module ControllerMacros
     expect(assigns(var_name).list_name).to eq(list_name)\r
   end\r
   \r
-  def set_play_list?\r
+  def set_play_list? model_class\r
     expect(assigns(:items).size).to be >= 3\r
     expect(assigns(:count)).to be >= 3\r
     expect(assigns(:pager)).not_to be nil\r
+    expect(assigns(:items).first.class).to be model_class\r
   end\r
   \r
   def let_filer? var_name = :filer\r
     expect(assigns(var_name).class).to eq(Locmare::Filer)\r
   end\r
   \r
+  def let_profiler? var_name = :profiler\r
+    expect(assigns(var_name).class).to eq(Locmare::Profiler)\r
+  end\r
+  \r
   def set_bucket? item, var_name = :form\r
     # @filerにファイラーを取得している\r
     expect(assigns(var_name).item).to eq(item)\r
@@ -74,6 +86,16 @@ module ControllerMacros
     expect(assigns(var_name).submit).to eq(true)\r
   end\r
   \r
+  def boost? names, var_name = :item\r
+    if names.empty?\r
+      assigns(var_name).boosters.empty?\r
+    else\r
+      names.each do |boost_name|\r
+        expect(assigns(var_name).boosters[boost_name]).to_not be nil\r
+      end\r
+    end\r
+  end\r
+  \r
   # 作家活動していないユーザーがAPIから創作活動をしようとしたとき、例外を発生させる。\r
   # 暫定的な仕様なので、良い方法があれば変えるかもしれない。メンテしやすいように切り分けてある。\r
   # リクエストして例外が発生したところとらえるので、リクエストと検証を同時に行う\r