;
- navigate = this.context;
-
- render() {
- const panelName = "setup";
- return
-
-
-
- {WIZARD_SECTIONS(this.stepDataProps)
- .map(section =>
-
-
-
- {section.steps.map(step =>
- )}
-
-
)}
- {this.props.device?.body.setup_completed_at &&
-
-
-
{t("Setup Complete!")}
-
}
-
- ;
- }
-}
+ const stepSection = (stepSlug: WizardStepSlug): WizardSectionSlug =>
+ wizardSteps.filter(step => step.slug == stepSlug)[0].section;
+
+ const openStep = (stepSlug: WizardStepSlug) => () => {
+ setCurrentlyOpenStep(currentlyOpenStep == stepSlug ? undefined : stepSlug);
+ setSectionsOpen({
+ ...sectionsOpen,
+ [stepSection(stepSlug)]: true,
+ });
+ };
+
+ const toggleSection = (sectionSlug: WizardSectionSlug) => () => {
+ setSectionsOpen({
+ ...sectionsOpen,
+ [sectionSlug]: !sectionsOpen[sectionSlug],
+ });
+ };
+
+ const panelName = "setup";
+ return
+
+
+
+ {wizardSections
+ .map(section =>
+
+
+
+ {section.steps.map(step =>
+ )}
+
+
)}
+ {props.device?.body.setup_completed_at &&
+
+
+
{t("Setup Complete!")}
+
}
+
+ ;
+};
const WizardHeader = (props: WizardHeaderProps) =>
diff --git a/frontend/wizard/interfaces.ts b/frontend/wizard/interfaces.ts
index 666d28db85..504cff5f73 100644
--- a/frontend/wizard/interfaces.ts
+++ b/frontend/wizard/interfaces.ts
@@ -9,7 +9,6 @@ import { TimeSettings } from "../interfaces";
import { ResourceIndex } from "../resources/interfaces";
import { ControlsCheckOptions, PinBindingOptions } from "./checks";
import { WizardSectionSlug, WizardStepSlug } from "./data";
-import { NavigateFunction } from "react-router";
export interface SetupWizardProps extends WizardOutcomeComponentProps {
timeSettings: TimeSettings;
@@ -56,7 +55,6 @@ export interface WizardOutcomeComponentProps {
export interface WizardStepComponentProps extends WizardOutcomeComponentProps {
setStepSuccess(success: boolean, outcome?: string): () => void;
- navigate: NavigateFunction;
}
interface ComponentOptions {
@@ -98,11 +96,8 @@ export type WizardSteps = WizardStep[];
export type WizardResults = Partial>;
-export type WizardSectionsOpen = Partial>;
+export type WizardSectionsOpen = Record;
-export interface SetupWizardState extends WizardSectionsOpen {
- stepOpen: WizardStepSlug | undefined;
-}
export interface WizardStepDataProps {
firmwareHardware: FirmwareHardware | undefined;
@@ -141,7 +136,6 @@ export interface WizardStepContainerProps extends WizardOutcomeComponentProps {
setStepSuccess(stepSlug: WizardStepSlug):
(success: boolean, outcome?: string) => () => void;
timeSettings: TimeSettings;
- navigate: NavigateFunction;
}
export interface TroubleshootingTipsProps extends WizardOutcomeComponentProps {
diff --git a/frontend/wizard/step.tsx b/frontend/wizard/step.tsx
index 5b7529cdd1..26b635dd59 100644
--- a/frontend/wizard/step.tsx
+++ b/frontend/wizard/step.tsx
@@ -88,7 +88,6 @@ export const WizardStepContainer = (props: WizardStepContainerProps) => {
}
{step.controlsCheckOptions &&
diff --git a/package.json b/package.json
index 190b70213b..4f4e084e1b 100644
--- a/package.json
+++ b/package.json
@@ -37,8 +37,8 @@
"@parcel/watcher": "2.1.0"
},
"dependencies": {
- "@blueprintjs/core": "5.18.0",
- "@blueprintjs/select": "5.3.19",
+ "@blueprintjs/core": "5.19.0",
+ "@blueprintjs/select": "5.3.20",
"@monaco-editor/react": "4.7.0",
"@parcel/transformer-sass": "2.14.4",
"@parcel/transformer-typescript-tsc": "2.14.4",
@@ -48,26 +48,26 @@
"@rollbar/react": "0.12.1",
"@types/lodash": "4.17.16",
"@types/markdown-it": "14.1.2",
- "@types/node": "22.14.0",
+ "@types/node": "22.15.14",
"@types/promise-timeout": "1.3.3",
- "@types/react": "19.1.1",
+ "@types/react": "19.1.3",
"@types/react-color": "3.0.13",
- "@types/react-dom": "19.1.2",
- "@types/three": "0.175.0",
+ "@types/react-dom": "19.1.3",
+ "@types/three": "0.176.0",
"@types/ws": "8.18.1",
"@xterm/xterm": "5.5.0",
- "axios": "1.8.4",
+ "axios": "1.9.0",
"bowser": "2.11.0",
"browser-speech": "1.1.1",
"events": "3.3.0",
- "farmbot": "15.8.8",
- "i18next": "24.2.3",
+ "farmbot": "15.8.11",
+ "i18next": "25.1.1",
"lodash": "4.17.21",
"markdown-it": "14.1.0",
"markdown-it-emoji": "3.0.0",
"moment": "2.30.1",
"monaco-editor": "0.52.2",
- "mqtt": "5.11.0",
+ "mqtt": "5.12.1",
"npm": "11.3.0",
"parcel": "2.14.4",
"process": "0.11.10",
@@ -78,7 +78,7 @@
"react-color": "2.19.3",
"react-dom": "18.3.1",
"react-redux": "9.2.0",
- "react-router": "7.5.0",
+ "react-router": "7.5.3",
"redux": "5.0.1",
"redux-immutable-state-invariant": "2.1.0",
"redux-thunk": "3.1.0",
@@ -121,9 +121,9 @@
"raf": "3.4.1",
"react-addons-test-utils": "15.6.2",
"react-test-renderer": "18.3.1",
- "sass": "1.86.3",
+ "sass": "1.87.0",
"sass-lint": "1.13.1",
- "ts-jest": "29.3.1",
+ "ts-jest": "29.3.2",
"tslint": "5.20.1"
}
}
diff --git a/spec/controllers/api/devices/devices_controller_seed_spec.rb b/spec/controllers/api/devices/devices_controller_seed_spec.rb
index 74f8ee2125..dbad44437f 100644
--- a/spec/controllers/api/devices/devices_controller_seed_spec.rb
+++ b/spec/controllers/api/devices/devices_controller_seed_spec.rb
@@ -251,6 +251,14 @@ def settings_default_map_size_y?(device)
device.web_app_config.map_size_y
end
+ def settings_three_d_garden?(device)
+ device.web_app_config.three_d_garden
+ end
+
+ def settings_3d?(device)
+ device.farmware_envs.find_by(key: "3D_beamLength")&.value
+ end
+
it "seeds accounts with default data" do
sign_in user
device = user.device
@@ -329,6 +337,8 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(120)
expect(settings_firmware?(device)).to eq("arduino")
expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_three_d_garden?(device)).to be(false)
+ expect(settings_3d?(device)).to_not be
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device).name).to eq("Slot")
@@ -402,6 +412,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(120)
expect(settings_firmware?(device)).to eq("farmduino")
expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_3d?(device)).to_not be
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device).name).to eq("Slot")
@@ -475,6 +486,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(120)
expect(settings_firmware?(device)).to eq("farmduino_k14")
expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_3d?(device)).to_not be
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device).name).to eq("Slot")
@@ -548,6 +560,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(120)
expect(settings_firmware?(device)).to eq("farmduino_k15")
expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_3d?(device)).to_not be
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device).name).to eq("Slot")
@@ -623,6 +636,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(120)
expect(settings_firmware?(device)).to eq("farmduino_k16")
expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_3d?(device)).to_not be
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device).name).to eq("Slot")
@@ -699,6 +713,83 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(120)
expect(settings_firmware?(device)).to eq("farmduino_k17")
expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_3d?(device)).to_not be
+ expect(tool_slots_slot_1?(device).name).to eq("Slot")
+ expect(tool_slots_slot_2?(device).name).to eq("Slot")
+ expect(tool_slots_slot_3?(device).name).to eq("Slot")
+ expect(tool_slots_slot_4?(device).name).to eq("Slot")
+ expect(tool_slots_slot_5?(device).name).to eq("Slot")
+ expect(tool_slots_slot_6?(device).name).to eq("Slot")
+ expect(tool_slots_slot_7?(device).name).to eq("Slot")
+ expect(tool_slots_slot_8?(device).name).to eq("Slot")
+ expect(tool_slots_slot_9?(device)).to_not be
+
+ check_slot_pairing(tool_slots_slot_1?(device), "Seeder")
+ check_slot_pairing(tool_slots_slot_2?(device), "Seed Bin")
+ check_slot_pairing(tool_slots_slot_3?(device), "Seed Tray")
+ check_slot_pairing(tool_slots_slot_4?(device), "Watering Nozzle")
+ check_slot_pairing(tool_slots_slot_5?(device), "Soil Sensor")
+ check_slot_pairing(tool_slots_slot_6?(device), "Rotary Tool")
+ check_slot_pairing(tool_slots_slot_7?(device), "Seed Trough 1")
+ check_slot_pairing(tool_slots_slot_8?(device), "Seed Trough 2")
+
+ expect(tools_seed_bin?(device)).to be
+ expect(tools_seed_tray?(device)).to be
+ expect(tools_seed_trough_1?(device)).to be
+ expect(tools_seed_trough_2?(device)).to be
+ expect(tools_seeder?(device)).to be_kind_of(Tool)
+ expect(tools_soil_sensor?(device)).to be_kind_of(Tool)
+ expect(tools_watering_nozzle?(device)).to be_kind_of(Tool)
+ expect(tools_weeder?(device)).to_not be
+ expect(tools_rotary?(device)).to be_kind_of(Tool)
+ expect(sequences_pickup_seed?(device)).to be
+ expect(sequences_plant_seed?(device)).to be_kind_of(Sequence)
+ expect(sequences_take_photo_of_plant?(device)).to be_kind_of(Sequence)
+ expect(sequences_water_plant?(device)).to be_kind_of(Sequence)
+ expect(point_groups_spinach?(device)).to_not be
+ expect(point_groups_broccoli?(device)).to_not be
+ expect(point_groups_beet?(device)).to_not be
+ expect(point_groups_all_plants?(device)).to be_kind_of(PointGroup)
+ expect(point_groups_all_points?(device)).to be_kind_of(PointGroup)
+ expect(point_groups_all_weeds?(device)).to be_kind_of(PointGroup)
+ expect(sequences_find_home?(device)).to be_kind_of(Sequence)
+ expect(sequences_water_all_plants?(device)).to be_kind_of(Sequence)
+ expect(sequences_water_all?(device)).to be_kind_of(Sequence)
+ expect(sequences_photo_grid?(device)).to be_kind_of(Sequence)
+ expect(sequences_weed_detection_grid?(device)).to be_kind_of(Sequence)
+ expect(sequences_soil_height_grid?(device)).to be_kind_of(Sequence)
+ expect(sequences_grid?(device)).to be_kind_of(Sequence)
+ expect(sequences_dispense_water?(device)).to be_kind_of(Sequence)
+ expect(sequences_mount_tool?(device)).to be_kind_of(Sequence)
+ expect(sequences_dismount_tool?(device)).to be_kind_of(Sequence)
+ expect(sequences_mow_all_weeds?(device)).to be_kind_of(Sequence)
+ expect(sequences_pick_from_seed_tray?(device)).to be_kind_of(Sequence)
+ expect(settings_default_map_size_x?(device)).to eq(2900)
+ expect(settings_default_map_size_y?(device)).to eq(1230)
+ end
+
+ it "seeds accounts with Genesis 1.8 data" do
+ start_tests "genesis_1.8"
+
+ expect(peripherals_lighting?(device).pin).to eq(7)
+ expect(peripherals_peripheral_4?(device).pin).to eq(10)
+ expect(peripherals_peripheral_5?(device).pin).to eq(12)
+ expect(peripherals_vacuum?(device).pin).to be(9)
+ expect(peripherals_water?(device).pin).to be(8)
+ expect(peripherals_rotary_tool?(device).pin).to eq(2)
+ expect(peripherals_rotary_tool_reverse?(device).pin).to eq(3)
+ expect(pin_bindings_button_1?(device).special_action).to eq("emergency_lock")
+ expect(pin_bindings_button_2?(device).special_action).to eq("emergency_unlock")
+ expect(plant_count?(device)).to eq(0)
+ expect(sensors_soil_sensor?(device).pin).to eq(59)
+ expect(sensors_tool_verification?(device).pin).to eq(63)
+ expect(settings_device_name?(device)).to eq(Names::GENESIS)
+ expect(settings_change_firmware_config_defaults?(device)).to be(true)
+ expect(settings_soil_height?(device)).to eq(-500)
+ expect(settings_gantry_height?(device)).to eq(120)
+ expect(settings_firmware?(device)).to eq("farmduino_k18")
+ expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_3d?(device)).to_not be
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device).name).to eq("Slot")
@@ -774,6 +865,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(120)
expect(settings_firmware?(device)).to eq("farmduino_k14")
expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_3d?(device)).to eq("3000")
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device).name).to eq("Slot")
@@ -847,6 +939,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(120)
expect(settings_firmware?(device)).to eq("farmduino_k15")
expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_3d?(device)).to eq("3000")
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device).name).to eq("Slot")
@@ -922,6 +1015,83 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(120)
expect(settings_firmware?(device)).to eq("farmduino_k17")
expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_3d?(device)).to eq("3000")
+ expect(tool_slots_slot_1?(device).name).to eq("Slot")
+ expect(tool_slots_slot_2?(device).name).to eq("Slot")
+ expect(tool_slots_slot_3?(device).name).to eq("Slot")
+ expect(tool_slots_slot_4?(device).name).to eq("Slot")
+ expect(tool_slots_slot_5?(device).name).to eq("Slot")
+ expect(tool_slots_slot_6?(device).name).to eq("Slot")
+ expect(tool_slots_slot_7?(device).name).to eq("Slot")
+ expect(tool_slots_slot_8?(device).name).to eq("Slot")
+ expect(tool_slots_slot_9?(device)).to_not be
+
+ check_slot_pairing(tool_slots_slot_1?(device), "Seeder")
+ check_slot_pairing(tool_slots_slot_2?(device), "Seed Bin")
+ check_slot_pairing(tool_slots_slot_3?(device), "Seed Tray")
+ check_slot_pairing(tool_slots_slot_4?(device), "Watering Nozzle")
+ check_slot_pairing(tool_slots_slot_5?(device), "Soil Sensor")
+ check_slot_pairing(tool_slots_slot_6?(device), "Rotary Tool")
+ check_slot_pairing(tool_slots_slot_7?(device), "Seed Trough 1")
+ check_slot_pairing(tool_slots_slot_8?(device), "Seed Trough 2")
+
+ expect(tools_seed_bin?(device)).to be
+ expect(tools_seed_tray?(device)).to be
+ expect(tools_seed_trough_1?(device)).to be
+ expect(tools_seed_trough_2?(device)).to be
+ expect(tools_seeder?(device)).to be_kind_of(Tool)
+ expect(tools_soil_sensor?(device)).to be_kind_of(Tool)
+ expect(tools_watering_nozzle?(device)).to be_kind_of(Tool)
+ expect(tools_weeder?(device)).to_not be
+ expect(tools_rotary?(device)).to be_kind_of(Tool)
+ expect(sequences_pickup_seed?(device)).to be
+ expect(sequences_plant_seed?(device)).to be_kind_of(Sequence)
+ expect(sequences_take_photo_of_plant?(device)).to be_kind_of(Sequence)
+ expect(sequences_water_plant?(device)).to be_kind_of(Sequence)
+ expect(point_groups_spinach?(device)).to_not be
+ expect(point_groups_broccoli?(device)).to_not be
+ expect(point_groups_beet?(device)).to_not be
+ expect(point_groups_all_plants?(device)).to be_kind_of(PointGroup)
+ expect(point_groups_all_points?(device)).to be_kind_of(PointGroup)
+ expect(point_groups_all_weeds?(device)).to be_kind_of(PointGroup)
+ expect(sequences_find_home?(device)).to be_kind_of(Sequence)
+ expect(sequences_water_all_plants?(device)).to be_kind_of(Sequence)
+ expect(sequences_water_all?(device)).to be_kind_of(Sequence)
+ expect(sequences_photo_grid?(device)).to be_kind_of(Sequence)
+ expect(sequences_weed_detection_grid?(device)).to be_kind_of(Sequence)
+ expect(sequences_soil_height_grid?(device)).to be_kind_of(Sequence)
+ expect(sequences_grid?(device)).to be_kind_of(Sequence)
+ expect(sequences_dispense_water?(device)).to be_kind_of(Sequence)
+ expect(sequences_mount_tool?(device)).to be_kind_of(Sequence)
+ expect(sequences_dismount_tool?(device)).to be_kind_of(Sequence)
+ expect(sequences_mow_all_weeds?(device)).to be_kind_of(Sequence)
+ expect(sequences_pick_from_seed_tray?(device)).to be_kind_of(Sequence)
+ expect(settings_default_map_size_x?(device)).to eq(5900)
+ expect(settings_default_map_size_y?(device)).to eq(2730)
+ end
+
+ it "seeds accounts with Genesis XL 1.8 data" do
+ start_tests "genesis_xl_1.8"
+
+ expect(peripherals_lighting?(device).pin).to eq(7)
+ expect(peripherals_peripheral_4?(device).pin).to eq(10)
+ expect(peripherals_peripheral_5?(device).pin).to eq(12)
+ expect(peripherals_vacuum?(device).pin).to be(9)
+ expect(peripherals_water?(device).pin).to be(8)
+ expect(peripherals_rotary_tool?(device).pin).to eq(2)
+ expect(peripherals_rotary_tool_reverse?(device).pin).to eq(3)
+ expect(pin_bindings_button_1?(device).special_action).to eq("emergency_lock")
+ expect(pin_bindings_button_2?(device).special_action).to eq("emergency_unlock")
+ expect(plant_count?(device)).to eq(0)
+ expect(sensors_soil_sensor?(device).pin).to eq(59)
+ expect(sensors_tool_verification?(device).pin).to eq(63)
+ expect(settings_device_name?(device)).to eq(Names::GENESIS_XL)
+ expect(settings_change_firmware_config_defaults?(device)).to be(true)
+ expect(settings_soil_height?(device)).to eq(-500)
+ expect(settings_gantry_height?(device)).to eq(120)
+ expect(settings_firmware?(device)).to eq("farmduino_k18")
+ expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_3d?(device)).to eq("3000")
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device).name).to eq("Slot")
@@ -997,6 +1167,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(120)
expect(settings_firmware?(device)).to eq("farmduino_k16")
expect(settings_hide_sensors?(device)).to be(false)
+ expect(settings_3d?(device)).to eq("3000")
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device).name).to eq("Slot")
@@ -1073,6 +1244,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(140)
expect(settings_firmware?(device)).to eq("express_k10")
expect(settings_hide_sensors?(device)).to be(true)
+ expect(settings_3d?(device)).to eq("1200")
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device)).to_not be
@@ -1118,7 +1290,7 @@ def check_slot_pairing(slot, expected_name)
expect(sequences_mow_all_weeds?(device)).to_not be
expect(sequences_pick_from_seed_tray?(device)).to_not be
expect(settings_default_map_size_x?(device)).to eq(2900)
- expect(settings_default_map_size_y?(device)).to eq(1200)
+ expect(settings_default_map_size_y?(device)).to eq(930)
end
it "seeds accounts with Express 1.1 data" do
@@ -1142,6 +1314,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(140)
expect(settings_firmware?(device)).to eq("express_k11")
expect(settings_hide_sensors?(device)).to be(true)
+ expect(settings_3d?(device)).to eq("1200")
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device)).to_not be
@@ -1187,7 +1360,7 @@ def check_slot_pairing(slot, expected_name)
expect(sequences_mow_all_weeds?(device)).to_not be
expect(sequences_pick_from_seed_tray?(device)).to_not be
expect(settings_default_map_size_x?(device)).to eq(2900)
- expect(settings_default_map_size_y?(device)).to eq(1200)
+ expect(settings_default_map_size_y?(device)).to eq(930)
end
it "seeds accounts with Express 1.2 data" do
@@ -1211,6 +1384,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(140)
expect(settings_firmware?(device)).to eq("express_k12")
expect(settings_hide_sensors?(device)).to be(true)
+ expect(settings_3d?(device)).to eq("1200")
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device)).to_not be
@@ -1256,7 +1430,7 @@ def check_slot_pairing(slot, expected_name)
expect(sequences_mow_all_weeds?(device)).to_not be
expect(sequences_pick_from_seed_tray?(device)).to_not be
expect(settings_default_map_size_x?(device)).to eq(2900)
- expect(settings_default_map_size_y?(device)).to eq(1200)
+ expect(settings_default_map_size_y?(device)).to eq(930)
end
it "seeds accounts with Express XL 1.0 data" do
@@ -1280,6 +1454,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(140)
expect(settings_firmware?(device)).to eq("express_k10")
expect(settings_hide_sensors?(device)).to be(true)
+ expect(settings_3d?(device)).to eq("2400")
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device)).to_not be
@@ -1324,8 +1499,8 @@ def check_slot_pairing(slot, expected_name)
expect(sequences_dismount_tool?(device)).to_not be
expect(sequences_mow_all_weeds?(device)).to_not be
expect(sequences_pick_from_seed_tray?(device)).to_not be
- expect(settings_default_map_size_x?(device)).to eq(6000)
- expect(settings_default_map_size_y?(device)).to eq(2400)
+ expect(settings_default_map_size_x?(device)).to eq(5900)
+ expect(settings_default_map_size_y?(device)).to eq(2130)
end
it "seeds accounts with Express XL 1.1 data" do
@@ -1349,6 +1524,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(140)
expect(settings_firmware?(device)).to eq("express_k11")
expect(settings_hide_sensors?(device)).to be(true)
+ expect(settings_3d?(device)).to eq("2400")
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device)).to_not be
@@ -1393,8 +1569,8 @@ def check_slot_pairing(slot, expected_name)
expect(sequences_dismount_tool?(device)).to_not be
expect(sequences_mow_all_weeds?(device)).to_not be
expect(sequences_pick_from_seed_tray?(device)).to_not be
- expect(settings_default_map_size_x?(device)).to eq(6000)
- expect(settings_default_map_size_y?(device)).to eq(2400)
+ expect(settings_default_map_size_x?(device)).to eq(5900)
+ expect(settings_default_map_size_y?(device)).to eq(2130)
end
it "seeds accounts with Express XL 1.2 data" do
@@ -1418,6 +1594,7 @@ def check_slot_pairing(slot, expected_name)
expect(settings_gantry_height?(device)).to eq(140)
expect(settings_firmware?(device)).to eq("express_k12")
expect(settings_hide_sensors?(device)).to be(true)
+ expect(settings_3d?(device)).to eq("2400")
expect(tool_slots_slot_1?(device).name).to eq("Slot")
expect(tool_slots_slot_2?(device).name).to eq("Slot")
expect(tool_slots_slot_3?(device)).to_not be
@@ -1462,8 +1639,8 @@ def check_slot_pairing(slot, expected_name)
expect(sequences_dismount_tool?(device)).to_not be
expect(sequences_mow_all_weeds?(device)).to_not be
expect(sequences_pick_from_seed_tray?(device)).to_not be
- expect(settings_default_map_size_x?(device)).to eq(6000)
- expect(settings_default_map_size_y?(device)).to eq(2400)
+ expect(settings_default_map_size_x?(device)).to eq(5900)
+ expect(settings_default_map_size_y?(device)).to eq(2130)
end
it "seeds accounts with demo account data" do
@@ -1473,9 +1650,10 @@ def check_slot_pairing(slot, expected_name)
expect(point_groups_spinach?(device)).to be_kind_of(PointGroup)
expect(point_groups_broccoli?(device)).to be_kind_of(PointGroup)
expect(point_groups_beet?(device)).to be_kind_of(PointGroup)
+ expect(settings_three_d_garden?(device)).to be(true)
end
- it "seeds accounts with demo account data: XL" do
+ it "seeds accounts with demo account data: genesis XL" do
start_tests "genesis_xl_1.7", true, true
expect(plant_count?(device)).to eq(253)
@@ -1484,6 +1662,15 @@ def check_slot_pairing(slot, expected_name)
expect(point_groups_beet?(device)).to be_kind_of(PointGroup)
end
+ it "seeds accounts with demo account data: express XL" do
+ start_tests "express_xl_1.2", true, true
+
+ expect(plant_count?(device)).to eq(188)
+ expect(point_groups_spinach?(device)).to be_kind_of(PointGroup)
+ expect(point_groups_broccoli?(device)).to be_kind_of(PointGroup)
+ expect(point_groups_beet?(device)).to be_kind_of(PointGroup)
+ end
+
it "seeds accounts when sequence versions not available: demo account" do
start_tests "genesis_1.7", false, true
@@ -1514,6 +1701,18 @@ def check_slot_pairing(slot, expected_name)
expect(sequences_mow_all_weeds?(device)).to be_kind_of(Sequence)
end
+ it "seeds accounts when sequence versions not available: Genesis XL 1.8" do
+ start_tests "genesis_xl_1.8", false
+
+ expect(sequences_mow_all_weeds?(device)).to be_kind_of(Sequence)
+ end
+
+ it "seeds accounts when sequence versions not available: Genesis 1.8" do
+ start_tests "genesis_1.8", false
+
+ expect(sequences_mow_all_weeds?(device)).to be_kind_of(Sequence)
+ end
+
it "does not seed accounts" do
start_tests "none"