WI: Anima Desktop UI smoke test suite #189

Closed
opened 2026-05-24 05:13:27 +00:00 by toasterson · 0 comments
Owner

Goal

Create QA test suite for the Anima Desktop: verify the Slint-based desktop application renders correctly and key screens are functional.

Background

Anima Desktop (crates/anima-desktop) is an existing Slint 1.15 application. Unlike NeoCDE and WayRay, this is an active crate with working code. It's the most immediate target for QA testing and a good validation milestone for the QA system itself.

🔗 Remote Sources (all on code.aopc.cloud)

Anima workspace:

Design doc: Ask Tecton for memory/projects/anima-qa.md — complete test spec template

🏗️ Implementation Guide

Create test file

Create tests/qa/anima-desktop/login-dialog.qa.yaml in Anima repo.

Setup: Clone Anima from code.aopc.cloud → build anima-server + anima-desktop → start postgres → start anima-server in background → start anima-desktop under Sway

Key considerations:

  • Anima Desktop needs running server + database for login to work
  • Postgres via Docker: docker compose up -d postgres anima-server
  • Desktop binary takes ~2-5s to start under llvmpipe rendering
  • Login coordinates are approximate — may need vision-guided click or calibration

Test steps:

  • Wait for server port 50051 listening
  • Wait for desktop window
  • Capture login screen → assert dark theme, username/password fields, sign-in button, violet accents
  • Type "admin" → Tab → type "admin" → click sign-in
  • Wait for login → capture main screen → assert workspace layout, navigation, no errors

Golden references: goldens/anima-desktop/login_screen.png and goldens/anima-desktop/main_screen.png

Acceptance Criteria

  • Anima builds and runs in QA VM
  • Login screen renders correctly
  • Login flow works
  • Main screen appears after login
  • Visual regression catches rendering errors
  • Test passes reliably
  • #183 — VM image
  • #184 — visual primitives
  • #185 — test runner
## Goal Create QA test suite for the Anima Desktop: verify the Slint-based desktop application renders correctly and key screens are functional. ## Background Anima Desktop (`crates/anima-desktop`) is an existing Slint 1.15 application. Unlike NeoCDE and WayRay, this is an active crate with working code. It's the most immediate target for QA testing and a good validation milestone for the QA system itself. ## 🔗 Remote Sources (all on code.aopc.cloud) **Anima workspace:** - **Repo:** https://code.aopc.cloud/toasterson/Anima - **Clone:** `git clone https://code.aopc.cloud/toasterson/Anima.git` - https://code.aopc.cloud/toasterson/Anima/src/branch/main/crates/anima-desktop/Cargo.toml — Slint 1.15, uses anima-proto for gRPC to server - https://code.aopc.cloud/toasterson/Anima/src/branch/main/crates/anima-desktop/src/ — UI code (login screen, main workspace) - https://code.aopc.cloud/toasterson/Anima/src/branch/main/crates/anima-server/ — tonic gRPC + axum HTTP server - https://code.aopc.cloud/toasterson/Anima/src/branch/main/docker-compose.yml — postgres + anima-server + dependencies - Default credentials: user `anima`, password `anima`, admin password `admin` - Build: `cargo build --release -p anima-server -p anima-desktop` **Design doc:** Ask Tecton for `memory/projects/anima-qa.md` — complete test spec template ## 🏗️ Implementation Guide ### Create test file Create `tests/qa/anima-desktop/login-dialog.qa.yaml` in Anima repo. **Setup:** Clone Anima from code.aopc.cloud → build anima-server + anima-desktop → start postgres → start anima-server in background → start anima-desktop under Sway **Key considerations:** - Anima Desktop needs running server + database for login to work - Postgres via Docker: `docker compose up -d postgres anima-server` - Desktop binary takes ~2-5s to start under llvmpipe rendering - Login coordinates are approximate — may need vision-guided click or calibration **Test steps:** - Wait for server port 50051 listening - Wait for desktop window - Capture login screen → assert dark theme, username/password fields, sign-in button, violet accents - Type "admin" → Tab → type "admin" → click sign-in - Wait for login → capture main screen → assert workspace layout, navigation, no errors **Golden references:** `goldens/anima-desktop/login_screen.png` and `goldens/anima-desktop/main_screen.png` ## ✅ Acceptance Criteria - [ ] Anima builds and runs in QA VM - [ ] Login screen renders correctly - [ ] Login flow works - [ ] Main screen appears after login - [ ] Visual regression catches rendering errors - [ ] Test passes reliably ## Related WIs - #183 — VM image - #184 — visual primitives - #185 — test runner
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
toasterson/Anima#189
No description provided.