From 2b8a32198b7e14c1a738cef9474f13e7d3a0adae Mon Sep 17 00:00:00 2001 From: Bertocq Date: Tue, 23 Jan 2018 16:01:40 +0100 Subject: [PATCH] Improve dev_seeds generations around Budgets & Investments --- db/dev_seeds.rb | 63 +++++++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/db/dev_seeds.rb b/db/dev_seeds.rb index 3f03a8bfd..d8f170149 100644 --- a/db/dev_seeds.rb +++ b/db/dev_seeds.rb @@ -428,29 +428,36 @@ section "Creating Valuation Assignments" do end section "Creating Budgets" do - Budget::Phase::PHASE_KINDS.each_with_index do |phase, i| - descriptions = Hash[Budget::Phase::PHASE_KINDS.map do |p| - ["description_#{p}", - "

#{Faker::Lorem.paragraphs(2).join('

')}

"] - end] - budget = Budget.create!( - descriptions.merge( - name: (Date.current - 10 + i).to_s, - currency_symbol: "€", - phase: phase - ) - ) + Budget.create( + name: "Budget #{Date.current.year - 1}", + currency_symbol: "€", + phase: 'finished' + ) + Budget.create( + name: "Budget #{Date.current.year}", + currency_symbol: "€", + phase: 'accepting' + ) - (1..([1, 2, 3].sample)).each do |k| - group = budget.groups.create!(name: "#{Faker::StarWars.planet} #{k}") + Budget.all.each do |budget| + city_group = budget.groups.create!(name: "All City") + city_group.headings.create!(name: 'All City', + price: 1000000, + population: 1000000) - geozones = Geozone.reorder("RANDOM()").limit([2, 5, 6, 7].sample) - geozones.each do |geozone| - group.headings << group.headings.create!(name: "#{geozone.name} #{k}", - price: rand(1..100) * 100000, - population: rand(1..50) * 10000) - end - end + districts_group = budget.groups.create!(name: "Districts") + districts_group.headings.create!(name: "North District", + price: rand(5..10) * 100000, + population: 350000) + districts_group.headings.create!(name: "West District", + price: rand(5..10) * 100000, + population: 300000) + districts_group.headings.create!(name: "East District", + price: rand(5..10) * 100000, + population: 200000) + districts_group.headings.create!(name: "Central District", + price: rand(5..10) * 100000, + population: 150000) end end @@ -481,25 +488,25 @@ end section "Geolocating Investments" do Budget.all.each do |budget| budget.investments.each do |investment| - MapLocation.create(latitude: 40.4167278 + rand(-10..10)/100.to_f, - longitude: -3.7055274 + rand(-10..10)/100.to_f, - zoom: 10, + MapLocation.create(latitude: Setting['map_latitude'].to_f + rand(-10..10)/100.to_f, + longitude: Setting['map_longitude'].to_f + rand(-10..10)/100.to_f, + zoom: Setting['map_zoom'], investment_id: investment.id) end end end section "Balloting Investments" do - Budget.balloting.last.investments.each do |investment| + Budget.finished.first.investments.last(20).each do |investment| investment.update(selected: true, feasibility: "feasible") end end section "Winner Investments" do - budget = Budget.where(phase: "finished").last - 100.times do + budget = Budget.finished.first + 50.times do heading = budget.headings.all.sample - investment = Budget::Investment.create!( + Budget::Investment.create!( author: User.all.sample, heading: heading, group: heading.group,