chore: add deprecated template test (#27193)
This commit is contained in:
parent
06f628ff0b
commit
42c588fd3f
3 changed files with 96 additions and 0 deletions
18
tests/config-deprecated-false.tpl.yaml
Normal file
18
tests/config-deprecated-false.tpl.yaml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
template: deprecated-meter
|
||||||
|
# deprecated: true
|
||||||
|
group: generic
|
||||||
|
products:
|
||||||
|
- description:
|
||||||
|
generic: Old Meter
|
||||||
|
params:
|
||||||
|
- name: usage
|
||||||
|
choice: ["grid"]
|
||||||
|
- name: power
|
||||||
|
description:
|
||||||
|
generic: Power
|
||||||
|
|
||||||
|
render: |
|
||||||
|
type: custom
|
||||||
|
power:
|
||||||
|
source: const
|
||||||
|
value: {{ .power }}
|
||||||
18
tests/config-deprecated-true.tpl.yaml
Normal file
18
tests/config-deprecated-true.tpl.yaml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
template: deprecated-meter
|
||||||
|
deprecated: true
|
||||||
|
group: generic
|
||||||
|
products:
|
||||||
|
- description:
|
||||||
|
generic: Deprecated Meter
|
||||||
|
params:
|
||||||
|
- name: usage
|
||||||
|
choice: ["grid"]
|
||||||
|
- name: power
|
||||||
|
description:
|
||||||
|
generic: Power
|
||||||
|
|
||||||
|
render: |
|
||||||
|
type: custom
|
||||||
|
power:
|
||||||
|
source: const
|
||||||
|
value: {{ .power }}
|
||||||
60
tests/config-deprecated.spec.ts
Normal file
60
tests/config-deprecated.spec.ts
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
import { test, expect } from "@playwright/test";
|
||||||
|
import { start, stop, restart, baseUrl } from "./evcc";
|
||||||
|
import { expectModalVisible, expectModalHidden } from "./utils";
|
||||||
|
|
||||||
|
test.use({ baseURL: baseUrl() });
|
||||||
|
|
||||||
|
const flags = ["--disable-auth", "--template-type", "meter", "--template"];
|
||||||
|
const templateFlags = [...flags, "tests/config-deprecated-false.tpl.yaml"];
|
||||||
|
const deprecatedFlags = [...flags, "tests/config-deprecated-true.tpl.yaml"];
|
||||||
|
|
||||||
|
test.beforeAll(async () => {
|
||||||
|
await start(undefined, undefined, templateFlags);
|
||||||
|
});
|
||||||
|
|
||||||
|
test.afterAll(async () => {
|
||||||
|
await stop();
|
||||||
|
});
|
||||||
|
|
||||||
|
test.describe("deprecated template", async () => {
|
||||||
|
test("editable after deprecation", async ({ page }) => {
|
||||||
|
await page.goto("/#/config");
|
||||||
|
|
||||||
|
await page.getByRole("button", { name: "Add grid meter" }).click();
|
||||||
|
const meterModal = page.getByTestId("meter-modal");
|
||||||
|
await expectModalVisible(meterModal);
|
||||||
|
await meterModal.getByLabel("Manufacturer").selectOption("Old Meter");
|
||||||
|
await meterModal.getByLabel("Power").fill("5000");
|
||||||
|
await meterModal.getByRole("button", { name: "Save" }).click();
|
||||||
|
await expectModalHidden(meterModal);
|
||||||
|
|
||||||
|
await expect(page.getByTestId("grid")).toBeVisible();
|
||||||
|
await expect(page.getByTestId("grid")).toContainText("Grid meter");
|
||||||
|
|
||||||
|
await restart(undefined, deprecatedFlags);
|
||||||
|
await page.reload();
|
||||||
|
|
||||||
|
await expect(page.getByTestId("grid")).toBeVisible();
|
||||||
|
|
||||||
|
await page.getByTestId("grid").getByRole("button", { name: "edit" }).click();
|
||||||
|
await expectModalVisible(meterModal);
|
||||||
|
await expect(meterModal.getByLabel("Manufacturer")).toHaveValue("Old Meter");
|
||||||
|
await expect(meterModal.getByLabel("Power")).toHaveValue("5000");
|
||||||
|
await meterModal.getByRole("button", { name: "Save" }).click();
|
||||||
|
await expectModalHidden(meterModal);
|
||||||
|
|
||||||
|
await page.getByTestId("grid").getByRole("button", { name: "edit" }).click();
|
||||||
|
await expectModalVisible(meterModal);
|
||||||
|
await meterModal.getByRole("button", { name: "Delete" }).click();
|
||||||
|
await expectModalHidden(meterModal);
|
||||||
|
|
||||||
|
await expect(page.getByTestId("grid")).not.toBeVisible();
|
||||||
|
|
||||||
|
await page.getByRole("button", { name: "Add grid meter" }).click();
|
||||||
|
await expectModalVisible(meterModal);
|
||||||
|
const manufacturerSelect = meterModal.getByLabel("Manufacturer");
|
||||||
|
const options = await manufacturerSelect.locator("option").allTextContents();
|
||||||
|
expect(options).not.toContain("Old Meter");
|
||||||
|
expect(options).not.toContain("Deprecated Meter");
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
Add table
Add a link
Reference in a new issue