From 6fb42bb3efee685b9d755c0c51bea14715a47324 Mon Sep 17 00:00:00 2001 From: Melvin Strobl Date: Sat, 15 Aug 2026 18:50:46 +0200 Subject: [PATCH] Note the test-teardown and token findings Running the backend suite against the development database wipes its users, and the old InfluxDB token turns out to be in pushed history rather than only in the working tree. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_016WzrvW7rjQbynnhF6pxh6i --- NOTEPAD.md | 6 ++++++ frontend/scripts/_check.mjs | 29 ----------------------------- 2 files changed, 6 insertions(+), 29 deletions(-) delete mode 100644 frontend/scripts/_check.mjs diff --git a/NOTEPAD.md b/NOTEPAD.md index 160c93f..78e8007 100644 --- a/NOTEPAD.md +++ b/NOTEPAD.md @@ -8,6 +8,12 @@ Deferring because out of scope is fine, but don't mention deferring than. ## Open +- BUG/API: `pytest tests/` deletes every user on teardown (`tests/conftest.py`), so running + it against the development database logs you out of the running app. Point tests at their + own database, or reseed with `init_db` afterwards. +- CHORE/FLOW: the InfluxDB token committed in the old `flow/nodes/influx_test.py` is in + pushed history (`d222ce5`). Rotate it in InfluxDB; removing it from history needs a + rewrite of published commits. - BUG/UI: six template Playwright specs fail on validation copy that no longer matches (`login`, `sign-up`, `reset-password`, `user-settings` theme persistence). Unrelated to the flow editor, which passes; fix or delete them with the `Item` cleanup. diff --git a/frontend/scripts/_check.mjs b/frontend/scripts/_check.mjs deleted file mode 100644 index d989b2b..0000000 --- a/frontend/scripts/_check.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import { chromium } from "@playwright/test" -const APP = "http://app.localhost" -const OUT = "/tmp/claude-1000/-home-lc3267-Documents-CodeWorkspace-fluksio/8b6d42d6-2889-4321-ac59-4e6692fcfe3c/scratchpad" -const browser = await chromium.launch() -const ctx = await browser.newContext({ viewport: { width: 1440, height: 900 } }) -const page = await ctx.newPage() -page.on("pageerror", (e) => console.log(`[pageerror] ${e.message}`)) -await page.goto(`${APP}/login`) -await page.getByTestId("email-input").fill(process.env.FIRST_SUPERUSER) -await page.getByTestId("password-input").fill(process.env.FIRST_SUPERUSER_PASSWORD) -await page.getByRole("button", { name: /log in/i }).click() -await page.waitForURL(`${APP}/`) - -console.log("sidebar items entry:", await page.getByRole("link", { name: "Items" }).count()) - -await page.goto(`${APP}/flows/heating`) -await page.waitForSelector(".react-flow__node") -await page.waitForTimeout(1200) - -// A node that consumes: its Consumes list should suggest what others publish. -await page.locator(".react-flow__node").filter({ hasText: "Notify" }).first().click() -const panel = page.getByTestId("node-panel") -await panel.getByRole("button", { name: "Add" }).first().click() -await page.waitForTimeout(600) -console.log("focused after Add:", await page.evaluate(() => document.activeElement?.getAttribute("aria-label"))) -const options = await page.getByRole("option").allInnerTexts() -console.log("suggestions offered:", options) -await page.screenshot({ path: `${OUT}/suggestions.png` }) -await browser.close()