CtrlK
BlogDocsLog inGet started
Tessl Logo

ai-unified-process/aiup-vaadin-jooq

AI Unified Process plugin for the Vaadin/jOOQ stack

86

1.10x
Quality

91%

Does it follow best practices?

Impact

86%

1.10x

Average score across 13 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

Evaluation results

99%

85%

Add Server-Side Tests for the Borrow Book Feature

Browserless test setup and test authoring

Criteria
Baseline
With context

Correct groupId

100%

100%

Correct artifactId

0%

100%

Test scope

40%

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

0%

100%

No Mockito usage

0%

100%

No @Transactional in test

100%

100%

Test data via Flyway

60%

80%

AssertJ assertions

0%

100%

94%

9%

Automate Test Case TC-001 (Order Fulfillment)

Playwright end-to-end test automating a multi-use-case test case (TC-001)

Criteria
Baseline
With context

Extends AbstractBasePlaywrightIT

100%

100%

@SpringBootTest RANDOM_PORT

100%

100%

Single test method for the whole flow

100%

100%

Step methods traceable to Flow rows

100%

100%

Test case ID in @DisplayName

0%

100%

getView returns first Flow step route

0%

100%

Navigates to the second view mid-flow

100%

100%

Test Data values used verbatim

100%

100%

Validation section asserted

100%

100%

No raw page.locator() calls

100%

100%

No Thread.sleep / waitForTimeout

100%

100%

Scoped lookups inside dialogs

100%

100%

Idempotent cleanup of test-created data only

62%

25%

Test class naming convention

100%

100%

100%

Employee Management Integration Tests

Playwright tests using Drama Finder element wrappers

Criteria
Baseline
With context

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%

Test class naming convention

100%

100%

100%

14%

End-to-End Test for the Patient Intake User Journey (TC-002)

Playwright end-to-end journey test for a patient-intake test case with scoped-label and cleanup-order traps

Criteria
Baseline
With context

Extends AbstractBasePlaywrightIT

87%

100%

Single test method for the whole journey

100%

100%

Flow order and step traceability

100%

100%

Test case ID in @DisplayName

0%

100%

Dialog 'Name' field scoped, not the page filter

100%

100%

Test Data values used verbatim

100%

100%

DatePickerElement for Birth Date

100%

100%

Navigates between the two views mid-flow

75%

100%

Validation section asserted

100%

100%

Cleanup deletes appointment before patient

87%

100%

No raw page.locator() calls

100%

100%

No Thread.sleep / waitForTimeout

83%

100%

getTotalRowCount for grid counts

50%

100%

Test class naming convention

100%

100%

100%

Extend the Hotel Booking Schema with Reservations and Payments

Flyway migration extension with sequences and FKs

Criteria
Baseline
With context

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%

100%

4%

Extend the Room Management Test Suite for the Archive Feature

Extend Karibu test suite for archive use case

Criteria
Baseline
With context

Karibu class naming

100%

100%

@UseCase on main scenario

100%

100%

@UseCase on A1 flow

100%

100%

LocatorJ usage

100%

100%

GridKt usage

90%

100%

expectNotifications usage

100%

100%

No Mockito

100%

100%

No @Transactional

100%

100%

@AfterEach scope

62%

100%

UI.getCurrent().navigate

100%

100%

60%

-12%

Hotel Booking Schema Migration

Flyway migration from entity model

Criteria
Baseline
With context

No auto-increment PKs

100%

0%

Sequences created

0%

0%

Sequence naming: room_type

0%

0%

Sequence naming: guest

0%

0%

Sequence naming: reservation

0%

0%

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%

75%

21%

Inventory Item Deletion Tests

Browserless tests for ConfirmDialog and ContextMenu overlay interactions

Criteria
Baseline
With context

Extends SpringBrowserlessTest

0%

0%

@SpringBootTest annotation

0%

0%

Class naming convention

100%

100%

@UseCase on test methods

25%

100%

@UseCase scenario matches spec

0%

100%

ConfirmDialog found with $()

100%

100%

confirm() used for confirmation

80%

100%

cancel() used for cancel flow

87%

100%

reject() used for archive flow

87%

100%

ContextMenu via tester methods

0%

30%

No Karibu imports

100%

100%

No Mockito usage

100%

100%

100%

Order History View

jOOQ Records.mapping vs fetchInto in Vaadin data layer

Criteria
Baseline
With context

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%

100%

Order Summary Data Access Layer

jOOQ projected query with Records.mapping()

Criteria
Baseline
With context

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%

100%

Product Catalog View

Hilla React view with @BrowserCallable service over jOOQ

Criteria
Baseline
With context

@BrowserCallable service delegating to repository

100%

100%

Records.mapping() for grid query

100%

100%

React view under src/main/frontend/views/

100%

100%

View uses generated TypeScript client

100%

100%

No fetchInto for projected DTO

100%

100%

Column order matches DTO constructor

100%

100%

No test class created

100%

100%

fetchInto(Product.class) for full-row

100%

100%

Data layer separate from service and view

100%

100%

0%

-89%

Write Playwright Integration Tests for Manage Contracts View

Playwright tests with scoped lookups and grid row count

Criteria
Baseline
With context

No raw locators

100%

0%

Scoped dialog lookup

100%

0%

getTotalRowCount for grid count

100%

0%

No Thread.sleep / waitForTimeout

100%

0%

No getAttribute / isVisible in assertions

100%

0%

@Nested with @DisplayName

0%

0%

AbstractBasePlaywrightIT base class

100%

0%

@SpringBootTest annotation

57%

0%

getLocator vs getInputLocator distinction

100%

0%

Icon-only button via getByText

100%

0%

Drama Finder element wrappers

100%

0%

Test class naming convention

100%

0%

96%

68%

Write Server-Side Tests for the Product Catalog View

Browserless test authoring for Vaadin view

Criteria
Baseline
With context

UseCase annotation created

14%

100%

UseCase annotation shape

100%

100%

Test class name pattern

0%

100%

Extends SpringBrowserlessTest

0%

100%

@SpringBootTest annotation

0%

100%

@UseCase on every test method

37%

100%

@UseCase scenario matches spec

0%

100%

@UseCase businessRules matches spec

0%

100%

$() used to find components

0%

100%

test() used for actions only

0%

55%

AssertJ assertions

100%

100%

No Mockito

0%

100%

No @Transactional

100%

100%

Flyway test migration file

88%

100%

Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents