AI Unified Process plugin for the Vaadin/jOOQ stack
97
93%
Does it follow best practices?
Impact
98%
1.30xAverage score across 10 eval scenarios
Passed
No known issues
Browserless test authoring for Vaadin view
UseCase annotation created
28%
100%
UseCase annotation shape
40%
100%
Test class name pattern
0%
100%
Extends SpringBrowserlessTest
0%
100%
@SpringBootTest annotation
0%
100%
@UseCase on every test method
0%
100%
@UseCase scenario matches spec
75%
100%
@UseCase businessRules matches spec
0%
100%
$() used to find components
0%
100%
test() used for actions only
0%
22%
AssertJ assertions
100%
100%
No Mockito
0%
100%
No @Transactional
100%
100%
Flyway test migration file
100%
100%
Flyway migration from entity model
No auto-increment PKs
50%
100%
Sequences created
0%
100%
Sequence naming: room_type
0%
100%
Sequence naming: guest
0%
100%
Sequence naming: reservation
0%
100%
File naming convention
100%
100%
Next version is V002
100%
100%
Foreign key: room_type_id
100%
100%
Foreign key: guest_id
100%
100%
Table dependency order
100%
100%
No DROP TABLE
100%
100%
jOOQ projected query with Records.mapping()
Records.mapping() for projection
100%
100%
Constructor reference style
100%
100%
Column order matches constructor
100%
100%
Item count via aggregate
100%
100%
fetchInto for full-row fetch
100%
100%
No fetchInto for projected query
100%
100%
Sorted descending by created_at
100%
100%
No test classes created
100%
100%
Playwright tests using Drama Finder element wrappers
Extends AbstractBasePlaywrightIT
100%
100%
@SpringBootTest RANDOM_PORT
100%
100%
No raw page.locator() calls
100%
100%
Drama Finder element wrappers used
100%
100%
ARIA/label-based lookups
100%
100%
No XPath selectors
100%
100%
No Thread.sleep / waitForTimeout
100%
100%
No getAttribute/isVisible in assertions
100%
100%
getTotalRowCount for grid count
100%
100%
@Nested with @DisplayName
100%
100%
Scoped lookup inside dialog
100%
100%
Validation assertion uses assertInvalid
100%
100%
Extend Karibu test suite for archive use case
Karibu class naming
100%
100%
@UseCase on main scenario
100%
100%
@UseCase on A1 flow
100%
100%
LocatorJ usage
100%
100%
GridKt usage
100%
100%
expectNotifications usage
100%
100%
No Mockito
100%
100%
No @Transactional
100%
100%
@AfterEach scope
100%
75%
UI.getCurrent().navigate
100%
100%
Browserless tests for ConfirmDialog and ContextMenu overlay interactions
Extends SpringBrowserlessTest
0%
100%
@SpringBootTest annotation
0%
100%
Class naming convention
100%
100%
@UseCase on test methods
37%
100%
@UseCase scenario matches spec
0%
100%
ConfirmDialog found with $()
100%
100%
confirm() used for confirmation
0%
100%
cancel() used for cancel flow
0%
100%
reject() used for archive flow
0%
100%
ContextMenu via tester methods
0%
60%
No Karibu imports
100%
100%
No Mockito usage
100%
100%
jOOQ Records.mapping vs fetchInto in Vaadin data layer
Records.mapping() for grid query
100%
100%
No fetchInto for projected DTO
100%
100%
Column order matches DTO constructor
100%
100%
fetchInto(Order.class) for full-row
100%
100%
No test class created
100%
100%
Data layer separate from view
100%
100%
Vaadin view exists
100%
100%
View wired to repository
100%
100%
Item count in projection
100%
100%
Browserless test setup and test authoring
Correct groupId
100%
100%
Correct artifactId
0%
100%
Test scope
100%
100%
UseCase annotation exists
0%
100%
UseCase @Target METHOD
0%
100%
UseCase @Retention RUNTIME
0%
100%
UseCase @Documented
0%
100%
UseCase id attribute
0%
100%
UseCase scenario attribute
0%
100%
UseCase businessRules attribute
0%
100%
Test class name
0%
100%
Extends SpringBrowserlessTest
0%
100%
@SpringBootTest on class
0%
100%
@UseCase on each test method
0%
100%
Uses $view() or $() for component lookup
100%
100%
No Mockito usage
100%
100%
No @Transactional in test
100%
100%
Test data via Flyway
100%
0%
AssertJ assertions
0%
100%
Playwright tests with scoped lookups and grid row count
No raw locators
100%
100%
Scoped dialog lookup
100%
100%
getTotalRowCount for grid count
100%
100%
No Thread.sleep / waitForTimeout
100%
100%
No getAttribute / isVisible in assertions
100%
100%
@Nested with @DisplayName
100%
100%
AbstractBasePlaywrightIT base class
100%
100%
@SpringBootTest annotation
0%
100%
getLocator vs getInputLocator distinction
71%
100%
Icon-only button via getByText
100%
100%
Drama Finder element wrappers
100%
100%
Flyway migration extension with sequences and FKs
Reservation file naming
100%
100%
Payment file naming
100%
100%
Version follows existing migrations
100%
100%
Reservation sequence
100%
100%
Payment sequence
100%
100%
Reservation uses sequence PK
100%
100%
Payment uses sequence PK
100%
100%
Reservation FK to guest
100%
100%
Reservation FK to room_type
100%
100%
Payment FK to reservation
100%
100%
No DROP TABLE statements
100%
100%
Dependency order respected
100%
100%
Table of Contents