Vehicle: deprecate default charge mode in config (#31893)

This commit is contained in:
Michael Geers 2026-07-18 10:40:10 +02:00 • committed by GitHub
parent 70ad1751de
commit 199365288a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 56 additions and 4 deletions

View file

@ -145,7 +145,7 @@ test.describe("vehicles", async () => {
await expect(vehicleModal.getByLabel("Battery capacity")).toBeVisible();
await page.getByRole("button", { name: "Show advanced settings" }).click();
await expect(vehicleModal.getByLabel("Default charging mode")).toBeVisible();
await expect(vehicleModal.getByLabel("Default charging mode")).not.toBeVisible(); // deprecated
await expect(vehicleModal.getByLabel("Maximum number of phases")).toBeVisible();
await expect(vehicleModal.getByLabel("Minimum current")).toBeVisible();
await expect(vehicleModal.getByLabel("Maximum current")).toBeVisible();
@ -154,7 +154,7 @@ test.describe("vehicles", async () => {
await expect(vehicleModal.getByLabel("RFID identification")).toBeVisible();
await page.getByRole("button", { name: "Hide advanced settings" }).click();
await expect(vehicleModal.getByLabel("Default charging mode")).not.toBeVisible();
await expect(vehicleModal.getByLabel("Maximum number of phases")).not.toBeVisible();
// polestar template
await vehicleModal.getByLabel("Manufacturer").selectOption("Polestar");
@ -165,7 +165,27 @@ test.describe("vehicles", async () => {
await page.getByRole("button", { name: "Show advanced settings" }).click();
await expect(vehicleModal.getByLabel("Cache optional")).toBeVisible();
await expect(vehicleModal.getByLabel("Default charging mode")).toBeVisible();
await expect(vehicleModal.getByLabel("Default charging mode")).not.toBeVisible(); // deprecated
});
test("migrate deprecated mode property to default mode setting", async ({ page }) => {
await start("config-one-lp.evcc.yaml", "vehicle-mode-migrate.sql");
await page.goto("/");
const lp = page.getByTestId("loadpoint").first();
await lp.getByTestId("change-vehicle").locator("select").selectOption("Grey Car");
// migrated mode is applied on vehicle selection
await expect(lp.getByTestId("mode").getByRole("button", { name: "Fast" })).toHaveClass(
/active/
);
await lp.getByTestId("charging-plan").getByRole("button", { name: "none" }).click();
const modal = page.getByTestId("charging-plan-modal");
await expectModalVisible(modal);
await modal.getByRole("link", { name: "Arrival" }).click();
await expect(modal.getByRole("combobox", { name: "Default mode" })).toHaveValue("now");
});
test("save and restore rfid identifiers", async ({ page }) => {

View file

@ -0,0 +1,15 @@
BEGIN;
CREATE TABLE `configs` (
`id` integer PRIMARY KEY AUTOINCREMENT
, `class` integer
, `type` text
, `title` text
, `icon` text
, `product` text
, `value` text
);
INSERT INTO configs(class, type, value) VALUES(3, 'template', '{"template":"offline","title":"Grey Car","mode":"now"}');
COMMIT;