test(coverage): lane 3 — persistence, DAOs & migrations to >=95% #248

Closed
opened 2026-07-03 17:57:47 +00:00 by JMR-dev · 0 comments
JMR-dev commented 2026-07-03 17:57:47 +00:00 (Migrated from github.com)

Strangler lane 3 of 6 (coverage → >95%; see lane 1). Depends on #192 / PR #241.

Scope: data/local/** — Room DAOs, entities, Migrations, DatabaseProvisioner, DatabaseEncryption/SQLCipher, DatabaseModule.

Test approach: instrumented (androidTest) Room DAO tests + migration tests — extend the existing MigrationTest so every exported schema version has a migration test; Robolectric only where it faithfully avoids a device. Build/test needs JDK 17–21 + platforms;android-37.0. Cover each DAO query/mutation, every migration (incl. defaultValue backfills), and the encrypted vs plaintext provisioning branches (regression-guard the SQLCipher System.loadLibrary cold-start crash fix).

Target: ≥95% for data/local; then ratchet the floor.

**Strangler lane 3 of 6** (coverage → >95%; see lane 1). Depends on #192 / PR #241. **Scope:** `data/local/**` — Room DAOs, entities, `Migrations`, `DatabaseProvisioner`, `DatabaseEncryption`/SQLCipher, `DatabaseModule`. **Test approach:** **instrumented** (androidTest) Room DAO tests + migration tests — extend the existing `MigrationTest` so every exported schema version has a migration test; Robolectric only where it faithfully avoids a device. Build/test needs JDK 17–21 + `platforms;android-37.0`. Cover each DAO query/mutation, every migration (incl. `defaultValue` backfills), and the encrypted vs plaintext provisioning branches (regression-guard the SQLCipher `System.loadLibrary` cold-start crash fix). **Target:** ≥95% for `data/local`; then ratchet the floor.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: JMR-dev/LibreMail#248