Commit a1d8ec3d
Changed files (3)
app
controllers
models
spec
controllers
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