Build the Solaire inventory intelligence MVP
Some checks failed
CI / verify (push) Has been cancelled

Add the tenant-ready dashboard, freshness and pricing analytics, mock integration adapters, persistence schema, and verification tooling needed for the initial pilot.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-25 12:16:52 -07:00
parent bf336f8d15
commit 135be480e5
58 changed files with 7884 additions and 265 deletions

View File

@@ -0,0 +1,22 @@
import { expect, test } from "@playwright/test";
test("shows inventory intelligence overview", async ({ page }) => {
await page.goto("/");
await expect(page.getByRole("heading", { name: "Good morning, Nora" })).toBeVisible();
await expect(page.getByText("Inventory value")).toBeVisible();
await expect(page.getByText("Freshness watchlist")).toBeVisible();
});
test("moves from inventory to a product", async ({ page }) => {
await page.goto("/inventory");
await expect(page.getByRole("heading", { name: "Inventory" })).toBeVisible();
await page.getByRole("link", { name: "Organic Strawberries" }).first().click();
await expect(page.getByRole("heading", { name: "Organic Strawberries" })).toBeVisible();
});
test("reviews a recommendation", async ({ page }) => {
await page.goto("/recommendations");
await expect(page.getByRole("heading", { name: "Recommendations" })).toBeVisible();
await page.getByRole("button", { name: "Reviewed" }).first().click();
await expect(page.getByText("reviewed").first()).toBeVisible();
});