chore: npm dependency upgrade (#18618)

This commit is contained in:
Michael Geers 2025-02-05 17:11:30 +01:00 • committed by GitHub
parent 87e1c929a9
commit 449e924005
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 2431 additions and 1757 deletions

4090
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -18,11 +18,11 @@
"@eslint/js": "^9.13.0",
"@guolao/vue-monaco-editor": "^1.5.1",
"@h2d2/shopicons": "^1.2.0",
"@histoire/plugin-vue": "^0.17.1",
"@histoire/plugin-vue": "^1.0.0-alpha.1",
"@playwright/test": "^1.46.1",
"@popperjs/core": "^2.11.5",
"@unhead/vue": "^1.8.9",
"@vitejs/plugin-legacy": "^5.3.0",
"@vitejs/plugin-legacy": "^6.0.1",
"@vitejs/plugin-vue": "^5.0.4",
"@vue/compiler-sfc": "^3.2.30",
"@vue/eslint-config-prettier": "^10.1.0",
@ -36,15 +36,15 @@
"chart.js": "^4.4.4",
"countup.js": "^2.3.2",
"eslint": "^9.13.0",
"eslint-config-prettier": "^9.0.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-promise": "^7.1.0",
"eslint-plugin-vue": "^9.3.0",
"globals": "^15.11.0",
"happy-dom": "^15.0.0",
"histoire": "^0.17.0",
"happy-dom": "^16.8.1",
"histoire": "^1.0.0-alpha.1",
"markty-toml": "^0.1.1",
"prettier": "^3.0.0",
"prettier-plugin-sh": "^0.14.0",
@ -53,14 +53,14 @@
"smoothscroll-polyfill": "^0.4.4",
"snarkdown": "^2.0.0",
"typescript": "^5.2.2",
"vite": "^5.1.1",
"vite": "^6.1.0",
"vite-plugin-toml": "^0.7.0",
"vitest": "^2.0.5",
"vitest": "^3.0.5",
"vue": "^3.2.29",
"vue-chartjs": "^5.3.1",
"vue-eslint-parser": "^9.1.0",
"vue-hot-reload-api": "^2.3.4",
"vue-i18n": "^10.0.1",
"vue-i18n": "^11.1.0",
"vue-router": "^4.0.12",
"wait-on": "^8.0.0"
},
@ -70,4 +70,4 @@
},
"license": "MIT",
"repository": "github:evcc-io/evcc"
}
}

View file

@ -44,7 +44,11 @@ test.describe("session info", async () => {
});
test("change value", async ({ page }) => {
// by select
await page.getByTestId("sessionInfoSelect").first().selectOption({ label: "Solar" });
await page
.getByTestId("sessionInfoSelect")
.first()
.getByRole("combobox")
.selectOption({ label: "Solar" });
await expect(page.getByTestId("sessionInfoLabel").first()).toContainText("Solar");
// by click on value
await page.getByTestId("sessionInfoValue").first().click();
@ -52,7 +56,11 @@ test.describe("session info", async () => {
});
test("keep selection on reload", async ({ page }) => {
await expect(page.getByTestId("sessionInfoLabel").first()).toContainText("Duration");
await page.getByTestId("sessionInfoSelect").first().selectOption({ label: "Solar" });
await page
.getByTestId("sessionInfoSelect")
.first()
.getByRole("combobox")
.selectOption({ label: "Solar" });
await expect(page.getByTestId("sessionInfoLabel").first()).toContainText("Solar");
await page.reload();
await expect(page.getByTestId("sessionInfoLabel").first()).toContainText("Solar");

View file

@ -13,6 +13,22 @@ test.afterAll(async () => {
await stop();
});
async function selectLoadpointFilter(page, value) {
await page
.getByTestId("filter-loadpoint")
.locator("visible=true")
.getByRole("combobox")
.selectOption(value);
}
async function selectVehicleFilter(page, value) {
await page
.getByTestId("filter-vehicle")
.locator("visible=true")
.getByRole("combobox")
.selectOption(value);
}
test.describe("basics", async () => {
test("navigation to sessions", async ({ page }) => {
await page.goto("/");
@ -127,26 +143,17 @@ for (const [name, viewport] of Object.entries({ desktop, mobile })) {
await page.goto("/#/sessions?year=2023&month=5");
await expect(page.getByTestId("sessions-entry")).toHaveCount(4);
await page
.getByTestId("filter-vehicle")
.locator("visible=true")
.selectOption("blauer e-Golf (2)");
await selectVehicleFilter(page, "blauer e-Golf (2)");
await expect(page.getByTestId("sessions-entry")).toHaveCount(2);
await expect(page.getByTestId("sessions-entry").nth(0)).toHaveText(/blauer e-Golf/);
await expect(page.getByTestId("sessions-entry").nth(1)).toHaveText(/blauer e-Golf/);
await page
.getByTestId("filter-vehicle")
.locator("visible=true")
.selectOption("weißes Model 3 (2)");
await selectVehicleFilter(page, "weißes Model 3 (2)");
await expect(page.getByTestId("sessions-entry")).toHaveCount(2);
await expect(page.getByTestId("sessions-entry").nth(0)).toHaveText(/weißes Model 3/);
await expect(page.getByTestId("sessions-entry").nth(1)).toHaveText(/weißes Model 3/);
await page
.getByTestId("filter-vehicle")
.locator("visible=true")
.selectOption("all vehicles (4)");
await selectVehicleFilter(page, "all vehicles (4)");
await expect(page.getByTestId("sessions-entry")).toHaveCount(4);
});
@ -155,23 +162,17 @@ for (const [name, viewport] of Object.entries({ desktop, mobile })) {
await page.goto("/#/sessions?year=2023&month=5");
await expect(page.getByTestId("sessions-entry")).toHaveCount(4);
await page
.getByTestId("filter-loadpoint")
.locator("visible=true")
.selectOption("Carport (3)");
await selectLoadpointFilter(page, "Carport (3)");
await expect(page.getByTestId("sessions-entry")).toHaveCount(3);
await expect(page.getByTestId("sessions-entry").nth(0)).toHaveText(/Carport/);
await expect(page.getByTestId("sessions-entry").nth(1)).toHaveText(/Carport/);
await expect(page.getByTestId("sessions-entry").nth(2)).toHaveText(/Carport/);
await page.getByTestId("filter-loadpoint").locator("visible=true").selectOption("Garage (1)");
await selectLoadpointFilter(page, "Garage (1)");
await expect(page.getByTestId("sessions-entry")).toHaveCount(1);
await expect(page.getByTestId("sessions-entry").nth(0)).toHaveText(/Garage/);
await page
.getByTestId("filter-loadpoint")
.locator("visible=true")
.selectOption("all charging points (4)");
await selectLoadpointFilter(page, "all charging points (4)");
await expect(page.getByTestId("sessions-entry")).toHaveCount(4);
});
@ -179,22 +180,13 @@ for (const [name, viewport] of Object.entries({ desktop, mobile })) {
await page.setViewportSize(viewport);
await page.goto("/#/sessions?year=2023&month=5");
await page
.getByTestId("filter-loadpoint")
.locator("visible=true")
.selectOption("Carport (3)");
await page
.getByTestId("filter-vehicle")
.locator("visible=true")
.selectOption("weißes Model 3 (1)");
await selectLoadpointFilter(page, "Carport (3)");
await selectVehicleFilter(page, "weißes Model 3 (1)");
await expect(page.getByTestId("sessions-entry")).toHaveCount(1);
await expect(page.getByTestId("sessions-entry")).toHaveText(/Carport/);
await expect(page.getByTestId("sessions-entry")).toHaveText(/weißes Model 3/);
await page
.getByTestId("filter-vehicle")
.locator("visible=true")
.selectOption("blauer e-Golf (2)");
await selectVehicleFilter(page, "blauer e-Golf (2)");
await expect(page.getByTestId("sessions-entry")).toHaveCount(2);
await expect(page.getByTestId("sessions-entry").nth(0)).toHaveText(/Carport/);
await expect(page.getByTestId("sessions-entry").nth(0)).toHaveText(/blauer e-Golf/);
@ -206,10 +198,7 @@ for (const [name, viewport] of Object.entries({ desktop, mobile })) {
await page.setViewportSize(viewport);
await page.goto("/#/sessions?year=2023&month=5");
await page
.getByTestId("filter-vehicle")
.locator("visible=true")
.selectOption("blauer e-Golf (2)");
await selectVehicleFilter(page, "blauer e-Golf (2)");
const option = page
.getByTestId("filter-loadpoint")
.locator("visible=true")
@ -222,10 +211,7 @@ for (const [name, viewport] of Object.entries({ desktop, mobile })) {
await page.setViewportSize(viewport);
await page.goto("/#/sessions?year=2023&month=5");
await page
.getByTestId("filter-loadpoint")
.locator("visible=true")
.selectOption("Carport (3)");
await selectLoadpointFilter(page, "Carport (3)");
await expect(page.getByTestId("sessions-entry")).toHaveCount(3);
if (name === "mobile") {
await page.getByTestId("navigate-next-year-month").click();