Merge branch 'budgets-baltasar' of github.com:consul/consul into budgets-baltasar
This commit is contained in:
@@ -17,7 +17,7 @@ module Budgets
|
||||
feature_flag :budgets
|
||||
|
||||
has_orders %w{most_voted newest oldest}, only: :show
|
||||
has_orders ->(c){ c.instance_variable_get(:@budget).balloting? ? %w{random price} : %w{random confidence_score} }, only: :index
|
||||
has_orders ->(c) { c.instance_variable_get(:@budget).investments_orders }, only: :index
|
||||
|
||||
invisible_captcha only: [:create, :update], honeypot: :subtitle, scope: :budget_investment
|
||||
|
||||
|
||||
@@ -94,6 +94,17 @@ class Budget < ActiveRecord::Base
|
||||
formatted_amount(amount_spent(heading))
|
||||
end
|
||||
|
||||
def investments_orders
|
||||
case phase
|
||||
when 'accepting', 'reviewing'
|
||||
%w{random}
|
||||
when 'balloting', 'reviewing_ballots'
|
||||
%w{random price}
|
||||
else
|
||||
%w{random confidence_score}
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def sanitize_descriptions
|
||||
|
||||
@@ -64,5 +64,27 @@ describe Budget do
|
||||
expect(budget.heading_price(create(:budget_heading))).to eq(-1)
|
||||
end
|
||||
end
|
||||
|
||||
describe "investments_orders" do
|
||||
let(:budget) { create(:budget) }
|
||||
it "is random when accepting and reviewing" do
|
||||
budget.phase = 'accepting'
|
||||
expect(budget.investments_orders).to eq(['random'])
|
||||
budget.phase = 'reviewing'
|
||||
expect(budget.investments_orders).to eq(['random'])
|
||||
end
|
||||
it "is random and price when ballotting and reviewing ballots" do
|
||||
budget.phase = 'balloting'
|
||||
expect(budget.investments_orders).to eq(['random', 'price'])
|
||||
budget.phase = 'reviewing_ballots'
|
||||
expect(budget.investments_orders).to eq(['random', 'price'])
|
||||
end
|
||||
it "is random and confidence_score in all other cases" do
|
||||
budget.phase = 'selecting'
|
||||
expect(budget.investments_orders).to eq(['random', 'confidence_score'])
|
||||
budget.phase = 'valuating'
|
||||
expect(budget.investments_orders).to eq(['random', 'confidence_score'])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user