68 lines
3.0 KiB
Ruby
68 lines
3.0 KiB
Ruby
# Copyright (C) 2024 Manuel Bustillo
|
|
|
|
NUMBER_OF_GUESTS = 50
|
|
|
|
TablesArrangement.delete_all
|
|
Expense.delete_all
|
|
Guest.delete_all
|
|
Group.delete_all
|
|
|
|
Expense.create!(name: 'Photographer', amount: 3000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Country house', amount: 6000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Catering', amount: 200, pricing_type: 'per_person')
|
|
Expense.create!(name: 'Flowers', amount: 500, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Band', amount: 1000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Wedding planner', amount: 2000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Dress', amount: 1000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Suit', amount: 500, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Rings', amount: 1000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Makeup', amount: 200, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Hair', amount: 200, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Transportation', amount: 3000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Invitations', amount: 200, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Cake', amount: 500, pricing_type: 'fixed')
|
|
|
|
Group.create!(name: "Jim's guests", icon: 'pi pi-heart').tap do |parent|
|
|
parent.children.create!(name: "Jim's family", icon: 'pi pi-users').tap do |family|
|
|
family.children.create!(name: "Jim's close family", icon: 'pi pi-home')
|
|
family.children.create!(name: "Jim's cousins", icon: 'pi pi-home')
|
|
family.children.create!(name: "Jim's relatives", icon: 'pi pi-home')
|
|
end
|
|
parent.children.create!(name: "Jim's friends", icon: 'pi pi-bullseye')
|
|
parent.children.create!(name: "Jim's work", icon: 'pi pi-desktop').tap do |work|
|
|
work.children.create!(name: "Jim's besties at work", icon: 'pi pi-briefcase')
|
|
end
|
|
end
|
|
|
|
Group.create!(name: "Pam's guests", icon: 'pi pi-heart-fill').tap do |parent|
|
|
parent.children.create!(name: "Pam's family", icon: 'pi pi-users').tap do |family|
|
|
family.children.create!(name: "Pam's close family", icon: 'pi pi-home')
|
|
family.children.create!(name: "Pam's cousins", icon: 'pi pi-home')
|
|
family.children.create!(name: "Pam's relatives", icon: 'pi pi-home')
|
|
end
|
|
parent.children.create!(name: "Pam's friends", icon: 'pi pi-bullseye')
|
|
parent.children.create!(name: "Pam's work", icon: 'pi pi-desktop').tap do |work|
|
|
work.children.create!(name: "Pam's besties at work", icon: 'pi pi-briefcase')
|
|
end
|
|
end
|
|
|
|
Group.create!(name: 'Common guests', icon: 'pi pi-users').tap do |parent|
|
|
parent.children.create!(name: 'College friends', icon: 'pi pi-calculator')
|
|
parent.children.create!(name: 'High school friends', icon: 'pi pi-crown')
|
|
parent.children.create!(name: 'Childhood friends', icon: 'pi pi-envelope')
|
|
end
|
|
|
|
groups = Group.all
|
|
|
|
NUMBER_OF_GUESTS.times do
|
|
Guest.create!(
|
|
first_name: Faker::Name.first_name,
|
|
last_name: Faker::Name.last_name,
|
|
phone: Faker::PhoneNumber.cell_phone,
|
|
group: groups.sample,
|
|
status: Guest.statuses.keys.sample
|
|
)
|
|
end
|
|
|
|
ActiveJob.perform_all_later(3.times.map { TableSimulatorJob.new })
|