Farmbot-Web-App/db/seeds.rb

120 lines
4.7 KiB
Ruby
Raw Normal View History

2018-09-21 11:34:41 -06:00
if Rails.env == "development"
2019-03-11 18:35:53 -06:00
POINT_COUNT = 8
PLANT_COUNT = 8
DATE_RANGE_LO = 1..3
DATE_RANGE_HI = 3..8
ENV["MQTT_HOST"] = "blooper.io"
ENV["OS_UPDATE_SERVER"] = "http://example-server.com"
# CREDIT: Faker Ruby Gem
VEGGIES = %w(artichoke arugula asparagus broccoli
cabbage carrot cauliflower celery chive cucumber
eggplant endive garlic jicama kale kohlrabi leek lettuce okra onion
parsnip pepper potato pumpkin radicchio radish raspberry rhubarb spinach
squash tomato turnip zucchini)
[
Sensor,
Peripheral,
Log,
PinBinding,
Point,
Point,
TokenIssuance,
ToolSlot,
User,
PlantTemplate,
SavedGarden,
SensorReading,
FarmwareInstallation,
Device,
Tool,
Delayed::Job,
Delayed::Backend::ActiveRecord::Job,
].map(&:delete_all)
Users::Create.run!(name: "Test",
email: "test@test.com",
password: "password123",
password_confirmation: "password123",
confirmed_at: Time.now,
agreed_to_terms_at: Time.now)
User.all.update_all(confirmed_at: Time.now,
agreed_to_terms_at: Time.now)
u = User.last
u.update_attributes(device: Devices::Create.run!(user: u))
# === Parameterized Sequence stuff
json = JSON.parse(File.read("spec/lib/celery_script/ast_fixture5.json")).deep_symbolize_keys
Sequences::Create.run!(json, device: u.device)
# === Parameterized Sequence stuff
Log.transaction do
FactoryBot.create_list(:log, 35, device: u.device)
end
["https://via.placeholder.com/350x250?text=Image%20Zero",
"https://i.imgur.com/XvFBGA4.jpg",
"https://via.placeholder.com/350x250?text=Image%20Two",
"https://i.imgur.com/XsFczCY.jpg",
"https://via.placeholder.com/350x250?text=Image%20Four"].each do |url|
Images::Create.run!(attachment_url: url,
device: u.device,
meta: { x: rand(40...970),
y: rand(40...470),
z: rand(1...300) })
end
2017-05-24 12:57:42 -06:00
2019-03-11 18:35:53 -06:00
PLANT_COUNT.times do
veggie = VEGGIES.sample
Plant.create(device: u.device,
x: rand(40...970),
y: rand(40...470),
radius: rand(10...50),
name: veggie,
openfarm_slug: veggie.downcase.gsub(" ", "-"))
end
2018-04-20 10:45:01 -06:00
2019-03-11 18:35:53 -06:00
Device.all.map { |device| SavedGardens::Snapshot.run!(device: device) }
2019-03-11 18:35:53 -06:00
POINT_COUNT.times do
GenericPointer.create(device: u.device,
x: rand(40...970) + rand(40...970),
y: rand(40...470) + rand(40...470),
z: 5,
radius: (rand(1...150) + rand(1...150)) / 20,
meta: {
created_by: "plant-detection",
color: (Sequence::COLORS + [nil]).sample,
})
2018-03-14 11:37:01 -06:00
end
2019-03-11 18:35:53 -06:00
s = Sequences::Create.run!(device: u.device,
name: "Goto 0, 0, 0",
body: [{ kind: "move_absolute", args: { location: { kind: "coordinate", args: { x: 0,
y: 0, z: 0 } }, offset: { kind: "coordinate", args: { x: 0, y: 0, z: 0 } }, speed: 100 } }])
t = Tools::Create.run!(name: "Trench Digging Tool", device: u.device)
body_txt = File.read("spec/lib/celery_script/ast_fixture4.json")
.gsub("__SEQUENCE_ID__", s[:id].to_s)
.gsub("__TOOL_ID__", t.id.to_s)
Sequences::Create.run!(device: u.device,
name: "Every Node",
body: JSON.parse(body_txt))
Regimens::Create.run(device: u.device,
name: "Test Regimen 456",
color: "gray",
regimen_items: [
{ time_offset: 300000, sequence_id: s[:id] },
{ time_offset: 173100000, sequence_id: s[:id] },
{ time_offset: 345900000, sequence_id: s[:id] },
])
Peripherals::Create.run!(device: u.device, pin: 13, label: "LED")
WebcamFeeds::Create.run!(device: u.device,
name: "My Feed 1",
url: "https://nature.nps.gov/air/webcams/parks/yosecam/yose.jpg")
ts = Points::Create.run!(device: u.device,
tool_id: t.id,
name: "Slot One.",
x: 10,
y: 10,
z: 10,
pointer_type: "ToolSlot")
d = u.device
Sensors::Create
.run!(device: d, pin: 14, label: "Stub sensor", mode: 0)
end