Commit a1d8ec3d

mo khan <mo@mokhan.ca>
2014-05-22 04:18:07
add specs for favorites controller.
1 parent 5ab3e5c
Changed files (3)
app
spec
app/controllers/my/favorites_controller.rb
@@ -1,9 +1,7 @@
 module My
   class FavoritesController < BaseController
     def index
-      @user = current_user
-      @favorites = current_user.favorites.includes(:creation)
-      @creations = @favorites.map {|f| f.creation }
+      @creations = current_user.favorite_cakes
     end
   end
 end
app/models/user.rb
@@ -66,6 +66,10 @@ class User < ActiveRecord::Base
     creation.comments.create(text: text, user: self, disqus_id: disqus_id)
   end
 
+  def favorite_cakes
+    favorites.includes(:creation).map {|f| f.creation }
+  end
+
   class << self
     def ordered
       User.order(:creations_count => :desc)
spec/controllers/my/favorites_controller_spec.rb
@@ -0,0 +1,18 @@
+require "spec_helper"
+
+describe My::FavoritesController do
+  describe :index do
+    let(:user) { create(:user) }
+    let(:favorite_cake) { create(:creation) }
+
+    before :each do
+      http_login(user)
+      user.add_favorite(favorite_cake)
+      get :index
+    end
+
+    it "loads all my favorite cakes" do
+      assigns(:creations).should include(favorite_cake)
+    end
+  end
+end