feat: enforce hard test-tier requirement across all DevPlace workflow agents and feature-builder docs
DevPlace CI / test (push) Failing after 21m53s
DevPlace CI / test (push) Failing after 21m53s
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:
@@ -26,7 +26,13 @@ export class AppContextMenu extends Component {
|
||||
if (!this.menu.contains(e.target)) this.close();
|
||||
});
|
||||
document.addEventListener("scroll", () => this.close(), true);
|
||||
window.addEventListener("resize", () => this.close());
|
||||
this._lastWidth = window.innerWidth;
|
||||
window.addEventListener("resize", () => {
|
||||
if (window.innerWidth !== this._lastWidth) {
|
||||
this._lastWidth = window.innerWidth;
|
||||
this.close();
|
||||
}
|
||||
});
|
||||
document.addEventListener("keydown", (e) => {
|
||||
if (e.key === "Escape") this.close();
|
||||
});
|
||||
@@ -67,12 +73,17 @@ export class AppContextMenu extends Component {
|
||||
this.render(items);
|
||||
this.menu.classList.add("visible");
|
||||
const rect = this.menu.getBoundingClientRect();
|
||||
const vv = window.visualViewport;
|
||||
const safeW = vv ? vv.width : window.innerWidth;
|
||||
const safeH = vv ? vv.height : window.innerHeight;
|
||||
const offX = vv ? vv.offsetLeft : 0;
|
||||
const offY = vv ? vv.offsetTop : 0;
|
||||
let left = x;
|
||||
let top = y;
|
||||
if (left + rect.width > window.innerWidth) left = window.innerWidth - rect.width - 8;
|
||||
if (top + rect.height > window.innerHeight) top = window.innerHeight - rect.height - 8;
|
||||
this.menu.style.left = Math.max(8, left) + "px";
|
||||
this.menu.style.top = Math.max(8, top) + "px";
|
||||
if (left + rect.width > offX + safeW) left = offX + safeW - rect.width - 8;
|
||||
if (top + rect.height > offY + safeH) top = offY + safeH - rect.height - 8;
|
||||
this.menu.style.left = Math.max(offX + 8, left) + "px";
|
||||
this.menu.style.top = Math.max(offY + 8, top) + "px";
|
||||
}
|
||||
|
||||
close() {
|
||||
|
||||
Reference in New Issue
Block a user