Skip to content

ai-unified-process/aiup-vaadin

v3.2.0

AI Unified Process UI layer with Vaadin - Flow and Hilla views, Browserless and Vitest view tests, and Playwright end-to-end tests

hilla-ui

Implements the UI layer of a use case (UC-XXX) with Hilla: a @BrowserCallable endpoint that delegates to the service layer, and a React/TypeScript view under src/main/frontend/views/ with file-based routing, Vaadin React components, useForm validation from the generated models, and the messages the specification states. The endpoint is Hilla's API and belongs to this layer; it holds no business logic. Use when the user asks to "build the Hilla view for UC-001", "implement the UI layer with Hilla", "create a React view for Vaadin", "create a @BrowserCallable endpoint", or mentions Hilla, TSX views, file-based routing, or useForm in a project that combines layer plugins. Normally run by /use-case-implement after the service layer; it can be run directly. For server-side Java views use /vaadin-flow-ui.

hilla-ui-test

Writes the UI layer tests of a use case (UC-XXX) for Hilla React views with Vitest in browser mode and React Testing Library, with the generated endpoint clients mocked by vi.spyOn — no server, no database. Covers what the actor sees: rendering, form input and useForm validation, the calls the view makes to the endpoint, and the messages the specification states for every outcome and alternative flow. Each suite is UC-XXX-<slug>.test.tsx with describe('UC-XXX: <name>'). Use when the user asks to "test the Hilla view of UC-001", "write Vitest tests for a Hilla view", "test a React view for Vaadin", "test the UI layer", or mentions Hilla testing, endpoint mocking, or TSX view tests in a project that combines layer plugins. Normally run by /use-case-test after the service tests; it can be run directly. Also writes a Java test of the endpoint's access annotation and EndpointException messages. The business rules are tested by the integration layer's test skill.

vaadin-e2e-test

Writes the end-to-end tests of a Vaadin application (Flow or Hilla) with Playwright for Java and the Drama Finder library's type-safe, accessibility-first element wrappers, against the running application. Two kinds: a use case test (UC-XXX) — one class UC<id><Name>IT with @Nested groups per alternative flow — and a test case journey (TC-XXX) — one class TC<id><Name>IT, annotated @TestCase(id, useCases) with the use cases its Flow links, walking the whole Flow table across views in a single test with a // Step <n>: comment per row. Use when the user asks to "write Playwright tests", "write E2E tests for UC-001", "automate TC-001", "test the user journey in the browser", "write IT tests", or mentions end-to-end, browser tests, Playwright for Vaadin, or Drama Finder in a project that combines layer plugins. Normally run by /use-case-test as the last layer, and the only one /test-case-implement TC-XXX runs; it can be run directly.

vaadin-flow-ui

Implements the UI layer of a use case (UC-XXX) as server-side Java with Vaadin Flow: @Route views inside the application layout, Grids with lazy data providers that call the service layer, forms with Binder and Bean Validation, dialogs and ConfirmDialogs, notifications with the messages the specification states, navigation, and view access control for the roles the use case names. Calls the service layer directly — or the repositories, when the project has no service layer — never a REST layer, never jOOQ or JPA in a view. Use when the user asks to "build the Vaadin view for UC-001", "implement the UI layer with Vaadin Flow", "create a Vaadin form", "add a grid for this use case", or mentions @Route views, Binder, server-side Java UI, or Vaadin Flow in a project that combines layer plugins. Normally run by /use-case-implement after the service layer; it can be run directly. For Hilla (React) views use /hilla-ui.

vaadin-flow-ui-test

Writes the UI layer tests of a use case (UC-XXX) for Vaadin Flow views with Vaadin Browserless Testing — the official server-side framework that runs the view inside the JVM without a browser — covering navigation, form input and Binder validation, grid contents, dialogs, confirmations, and the notifications the specification states. Each test class is UC<id><Name>Test, each method carries @UseCase(id = "UC-XXX", scenario, businessRules). Use when the user asks to "write Browserless tests", "test the Vaadin view of UC-001", "write Vaadin UI unit tests", "test the UI layer", or mentions SpringBrowserlessTest, browserless-test-junit6, or server-side Vaadin view tests in a project that combines layer plugins. Normally run by /use-case-test as the integration layer of a Vaadin Flow stack: the view runs against the real service and database, so these tests cover the business rules and the data access too. It can be run directly. For Hilla views use /hilla-ui-test; for browser tests /vaadin-e2e-test.