extends Activity to include Investment valuations

This commit is contained in:
Juanjo Bazán
2017-03-27 13:56:16 +02:00
parent ed8c470450
commit d9d38482b3
2 changed files with 12 additions and 7 deletions

View File

@@ -2,7 +2,7 @@ class Activity < ActiveRecord::Base
belongs_to :actionable, -> { with_hidden }, polymorphic: true
belongs_to :user, -> { with_hidden }
VALID_ACTIONS = %w( hide block restore )
VALID_ACTIONS = %w( hide block restore valuate )
validates :action, inclusion: {in: VALID_ACTIONS}
@@ -10,6 +10,7 @@ class Activity < ActiveRecord::Base
scope :on_debates, -> { where(actionable_type: 'Debate') }
scope :on_users, -> { where(actionable_type: 'User') }
scope :on_comments, -> { where(actionable_type: 'Comment') }
scope :on_budget_investments, -> { where(actionable_type: 'Budget::Investment') }
scope :for_render, -> { includes(user: [:moderator, :administrator]).includes(:actionable) }
def self.log(user, action, actionable)

View File

@@ -56,11 +56,12 @@ describe Activity do
activity3 = create(:activity, user: user1, action: "hide", actionable: create(:proposal))
activity4 = create(:activity, user: user1, action: "hide", actionable: create(:comment))
activity5 = create(:activity, user: user1, action: "block", actionable: create(:user))
activity6 = create(:activity, user: user1, action: "valuate", actionable: create(:budget_investment))
create_list(:activity, 3)
expect(Activity.by(user1).size).to eq 5
expect(Activity.by(user1).size).to eq 6
[activity1, activity2, activity3, activity4, activity5].each do |a|
[activity1, activity2, activity3, activity4, activity5, activity6].each do |a|
expect(Activity.by(user1)).to include(a)
end
end
@@ -72,16 +73,19 @@ describe Activity do
on_debate = create(:activity, actionable: create(:debate))
on_comment = create(:activity, actionable: create(:comment))
on_user = create(:activity, actionable: create(:user))
on_investment = create(:activity, actionable: create(:budget_investment))
expect(Activity.on_proposals.size).to eq 1
expect(Activity.on_debates.size).to eq 1
expect(Activity.on_comments.size).to eq 1
expect(Activity.on_users.size).to eq 1
expect(Activity.on_budget_investments.size).to eq 1
expect(Activity.on_proposals.first).to eq on_proposal
expect(Activity.on_debates.first).to eq on_debate
expect(Activity.on_comments.first).to eq on_comment
expect(Activity.on_users.first).to eq on_user
expect(Activity.on_budget_investments.first).to eq on_investment
end
end