feat: enforce hard test-tier requirement across all DevPlace workflow agents and feature-builder docs

Update the feature-builder agent prompt, test-maintainer agent, and all four workflow JS files (devii-tool, endpoint, feature, job-service) to codify the DevPlace test standard as a non-optional project requirement: one test file per endpoint, directory tree mirroring the URL/source path, split into three tiers (unit, api, e2e). Add explicit Test phases to devii-tool, endpoint, feature, and job-service workflows, and embed tier-specific test instructions (path mapping, fixture choice, coverage scope) directly in each workflow's meta description and TESTS constant.
This commit is contained in:
2026-06-15 12:10:14 +00:00
parent 3c7527988e
commit e1874f9b6a
71 changed files with 2198 additions and 145 deletions
+64
View File
@@ -249,3 +249,67 @@ def test_landing_page_has_unique_title(page, app_server):
page.goto(f"{BASE_URL}/", wait_until="domcontentloaded")
title = page.title()
assert title and "DevPlace" in title
def _help_section(page):
return page.locator("section.landing-help")
def test_landing_build_with_us_section(page, app_server):
page.goto(f"{BASE_URL}/", wait_until="domcontentloaded")
section = _help_section(page)
section.wait_for(state="visible", timeout=5000)
assert section.locator("h2:has-text('Build With Us')").is_visible()
assert section.locator(".landing-help-intro").is_visible()
def test_landing_help_docs_card(page, app_server):
page.goto(f"{BASE_URL}/", wait_until="domcontentloaded")
section = _help_section(page)
section.wait_for(state="visible", timeout=5000)
link = section.locator(".landing-help-card:has-text('Documentation') a.landing-help-link")
assert link.get_attribute("href") == "/docs/index.html"
def test_landing_help_api_reference_links(page, app_server):
page.goto(f"{BASE_URL}/", wait_until="domcontentloaded")
section = _help_section(page)
section.wait_for(state="visible", timeout=5000)
card = section.locator(".landing-help-card:has-text('API Reference')")
assert card.locator("a:has-text('Swagger UI')").get_attribute("href") == "/swagger"
assert card.locator("a:has-text('OpenAPI JSON')").get_attribute("href") == "/openapi.json"
def test_landing_help_issue_tracker_link(page, app_server):
page.goto(f"{BASE_URL}/", wait_until="domcontentloaded")
section = _help_section(page)
section.wait_for(state="visible", timeout=5000)
link = section.locator(".landing-help-card:has-text('Contribute') a.landing-help-link")
assert link.get_attribute("href") == "/issues"
def test_landing_help_devii_card_explained(page, app_server):
page.goto(f"{BASE_URL}/", wait_until="domcontentloaded")
section = _help_section(page)
section.wait_for(state="visible", timeout=5000)
card = section.locator(".landing-help-card:has-text('Meet Devii')")
assert card.locator("h3:has-text('Meet Devii')").is_visible()
assert "AI developer" in card.locator("p").first.text_content()
assert card.locator("a.landing-help-link").get_attribute("href") == "/devii/"
def test_landing_help_launch_devii_button(page, app_server):
page.goto(f"{BASE_URL}/", wait_until="domcontentloaded")
section = _help_section(page)
section.wait_for(state="visible", timeout=5000)
button = section.locator("button.landing-help-cta[data-devii-open]")
assert button.is_visible()
assert "Launch Devii" in button.text_content()
def test_landing_launch_devii_opens_terminal(page, app_server):
page.goto(f"{BASE_URL}/", wait_until="domcontentloaded")
section = _help_section(page)
section.wait_for(state="visible", timeout=5000)
section.locator("button.landing-help-cta[data-devii-open]").click()
page.locator("devii-terminal").wait_for(state="attached", timeout=5000)