Add co2 grid charge tests (#22444)
Co-authored-by: Michael Geers <michael@geers.tv>
This commit is contained in:
parent
a6da7a5d77
commit
7761979913
2 changed files with 101 additions and 0 deletions
66
tests/battery-settings-co2.evcc.yaml
Executable file
66
tests/battery-settings-co2.evcc.yaml
Executable file
|
|
@ -0,0 +1,66 @@
|
||||||
|
interval: 0.1s
|
||||||
|
|
||||||
|
site:
|
||||||
|
title: Battery Settings
|
||||||
|
meters:
|
||||||
|
grid: grid
|
||||||
|
pv: pv
|
||||||
|
battery: battery
|
||||||
|
|
||||||
|
meters:
|
||||||
|
- name: grid
|
||||||
|
type: custom
|
||||||
|
power:
|
||||||
|
source: const
|
||||||
|
value: 1000
|
||||||
|
- name: pv
|
||||||
|
type: custom
|
||||||
|
power:
|
||||||
|
source: const
|
||||||
|
value: 2000
|
||||||
|
- name: battery
|
||||||
|
type: custom
|
||||||
|
power:
|
||||||
|
source: const
|
||||||
|
value: -1000
|
||||||
|
soc:
|
||||||
|
source: const
|
||||||
|
value: 50
|
||||||
|
capacity: 20
|
||||||
|
batterymode:
|
||||||
|
source: js
|
||||||
|
vm: shared
|
||||||
|
script: |
|
||||||
|
1
|
||||||
|
|
||||||
|
loadpoints:
|
||||||
|
- title: Carport
|
||||||
|
charger: charger
|
||||||
|
mode: now
|
||||||
|
|
||||||
|
chargers:
|
||||||
|
- name: charger
|
||||||
|
type: custom
|
||||||
|
enable:
|
||||||
|
source: js
|
||||||
|
script:
|
||||||
|
enabled:
|
||||||
|
source: js
|
||||||
|
script: |
|
||||||
|
true
|
||||||
|
status:
|
||||||
|
source: js
|
||||||
|
script: |
|
||||||
|
"B"
|
||||||
|
maxcurrent:
|
||||||
|
source: js
|
||||||
|
script: |
|
||||||
|
16
|
||||||
|
|
||||||
|
tariffs:
|
||||||
|
currency: EUR
|
||||||
|
co2:
|
||||||
|
type: template
|
||||||
|
template: demo-co2-forecast
|
||||||
|
base: 80.7
|
||||||
|
variation: 1.07
|
||||||
35
tests/battery-settings-co2.spec.ts
Normal file
35
tests/battery-settings-co2.spec.ts
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
import { test, expect } from "@playwright/test";
|
||||||
|
import { start, stop, baseUrl } from "./evcc";
|
||||||
|
import { expectModalVisible, expectModalHidden, openTopNavigation } from "./utils";
|
||||||
|
test.use({ baseURL: baseUrl() });
|
||||||
|
|
||||||
|
test.beforeAll(async () => {
|
||||||
|
await start("battery-settings-co2.evcc.yaml");
|
||||||
|
});
|
||||||
|
test.afterAll(async () => {
|
||||||
|
await stop();
|
||||||
|
});
|
||||||
|
|
||||||
|
test.describe("battery settings co2", async () => {
|
||||||
|
test("grid charging", async ({ page }) => {
|
||||||
|
await page.goto("/");
|
||||||
|
await openTopNavigation(page);
|
||||||
|
await page.getByTestId("topnavigation-battery").click();
|
||||||
|
const modal = page.getByTestId("battery-settings-modal");
|
||||||
|
await expectModalVisible(modal);
|
||||||
|
|
||||||
|
await modal.getByRole("link", { name: "Grid charging" }).click();
|
||||||
|
await modal.getByLabel("CO₂ limit").selectOption({ label: "≤ 150 g/kWh" });
|
||||||
|
await expect(modal).toContainText("20 g – 150 g");
|
||||||
|
await page.getByRole("button", { name: "Close" }).click();
|
||||||
|
await expectModalHidden(modal);
|
||||||
|
await page.getByTestId("energyflow").click();
|
||||||
|
await page.getByRole("button", { name: "grid charging active (≤ 150 g)" }).click();
|
||||||
|
await expectModalVisible(modal);
|
||||||
|
await modal.getByLabel("CO₂ limit").selectOption({ label: "≤ 40 g/kWh" });
|
||||||
|
await modal.getByRole("button", { name: "Close" }).click();
|
||||||
|
await expectModalHidden(modal);
|
||||||
|
await expect(modal).not.toBeVisible();
|
||||||
|
await expect(page.getByRole("button", { name: "grid charging when ≤ 40 g" })).toBeVisible();
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
Add table
Add a link
Reference in a new issue