Offline Visitation

103 testcases 10 C-sections 8 preconditions 3 flows · 2 suites source TSD PK144 status draft · automation planned
103
testcases
10
C-sections
25
P0
61
P1
25
critical risk
58
high risk
103
planned auto
8
preconditions

Sections — what each C-group tests

Each C-section is a capability area from the TSD. Product shows whether it runs on web (CP), mobile, or API.

SectionCapabilityProductTestcases
C1Download Preparation, Download Center, Storage Tiering & Bundle Lifecyclemobile27
C2Visitation Flow: Fully Online & Fully Offlinemobile12
C3Offline Submission & Gagal Kirim Queuemobile8
C4Sync Strategy: Auto & Manualmobile11
C5Expiration & Manual Deletionmobile6
C6Failed Sync Detail, Modification & Resyncmobile9
C7Network Quality Detection & State-Driven Drawer Mechanicsmobile8
C8Mode Luring State Managementmobile8
C9Multi-device Race Conditions, Persona & Target Rulesmobile7
C10Cross-cutting Edge Cases & Failure Recoverymobile7

Coverage by C-section

C1
27
C2
12
C3
8
C4
11
C5
6
C6
9
C7
8
C8
8
C9
7
C10
7

Distribution

Priority P0 / P1 / P2 / P3
25 / 61 / 15 / 2
Risk critical / high / med / low
25 / 58 / 17 / 3
Coverage POS / NEG / EDGE
76 / 15 / 12
Automation planned
103
Flows · Suites
3 · 2

Precondition composition

Foundational data fragments (left) flow into state fragments (right), which testcases reference. Counts are direct testcase usage. The data world — channel, form template, visitation — is seeded before any login or navigation.

PRE-OV-channel-exists
0 testcases
PRE-OV-form-template-assigned
0 testcases · needs 1
PRE-OV-visitation-assigned
0 testcases · needs 1
PRE-OV-visitation-data-seeded
0 testcases · needs 1
PRE-OV-download-center-open
20 testcases · needs 1
PRE-OV-gagal-kirim-has-items
34 testcases · needs 1
PRE-OV-logged-in-online
33 testcases · needs 1
PRE-OV-mode-luring-active
16 testcases · needs 1
PreconditionComposesUsed bySource
PRE-OV-channel-exists
A channel exists and is in the employee's authorized scope
0md
PRE-OV-download-center-open
Employee has Download Center open from the channel list
PRE-OV-visitation-data-seeded20md
PRE-OV-form-template-assigned
A task form template is assigned to the channel
PRE-OV-channel-exists0md
PRE-OV-gagal-kirim-has-items
Employee has one or more items in the Gagal Kirim queue
PRE-OV-visitation-data-seeded34md
PRE-OV-logged-in-online
Employee logged in with GOOD connection and Mode Luring OFF
PRE-OV-visitation-data-seeded33md
PRE-OV-mode-luring-active
Employee operating in Mode Luring with downloaded bundles
PRE-OV-visitation-data-seeded16md
PRE-OV-visitation-assigned
A visitation is assigned to the employee for the test day
PRE-OV-form-template-assigned0md
PRE-OV-visitation-data-seeded
Channel, form template, and visitation data are seeded for the employee
PRE-OV-visitation-assigned0md

Flows — journeys

FLOW-OV-C1-download-lifecycle
Download Center bundle lifecycle journey (prepare to purge)
active
PRE-OV-download-center-open
FLOW-OV-C4-sync-strategy
Auto and manual sync strategy journey
active
PRE-OV-gagal-kirim-has-items
FLOW-OV-C6-failed-resync
Failed submission modify-and-resync journey
active
PRE-OV-gagal-kirim-has-items

Suites — run sets

pk144-regression-staging
PK144 Offline Mode full regression (staging)
active
103 testcases · env staging
OV-C1-EDGE-002 OV-C1-EDGE-010 OV-C1-EDGE-021 OV-C1-EDGE-026 OV-C1-EDGE-027 OV-C1-NEG-011 OV-C1-NEG-013 OV-C1-NEG-018 OV-C1-NEG-023 OV-C1-POS-001 OV-C1-POS-003 OV-C1-POS-004
pk144-smoke-staging
PK144 Offline Mode smoke (P0 critical paths, staging)
active
23 testcases · env staging
OV-C1-POS-009 OV-C1-NEG-011 OV-C1-POS-015 OV-C1-NEG-018 OV-C1-NEG-023 OV-C2-POS-002 OV-C2-POS-008 OV-C2-POS-009 OV-C3-POS-001 OV-C3-POS-007 OV-C3-NEG-008 OV-C4-POS-003

Testcases

103 / 103 shown
IDScnProductTitlePriRiskStatusAutoPreconditionsSrc
C1  Download Preparation, Download Center, Storage Tiering & Bundle Lifecycle  mobile
OV-C1-EDGE-002 C1.1 mobile
Download Center entry behaves correctly under NO CONNECTION and Mode Luring ON
Verify the Download Center entry point reacts correctly to connectivity and Mode Luring state when tapped.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C1-POS-001 C1.1 mobile
Download Center entry point is visible and accessible from channel list
Verify the Download Center entry point is always discoverable from the channel list, independent of the current download/storage state.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C1-POS-003 C1.2 mobile
Download Center default state with downloaded items shows summary and list
Verify the Download Center summary and list state when downloaded bundles exist.
P2mediumdraftplanned PRE-OV-download-center-open md
OV-C1-POS-004 C1.2 mobile
Download Center empty state when no bundles are downloaded
Verify the Download Center empty state when no bundles have been downloaded.
P2mediumdraftplanned PRE-OV-download-center-open md
OV-C1-POS-005 C1.3 mobile
Item selection mechanics drive the Unduh Data CTA state
Verify the "Unduh Data" CTA enable/disable state and counter track item selection.
P1highdraftplanned PRE-OV-download-center-open md
OV-C1-POS-006 C1.4 mobile
PJP persona: downloadable-item dropdown shows assigned PJP channels
Verify persona-based filtering of the downloadable-item dropdown for a PJP employee.
P1highdraftplanned PRE-OV-download-center-open md
OV-C1-POS-007 C1.4 mobile
Non-PJP persona: downloadable-item dropdown shows all authorized channels
Verify persona-based filtering of the downloadable-item dropdown for a Non-PJP employee.
P1highdraftplanned PRE-OV-download-center-open md
OV-C1-POS-008 C1.5 mobile
Search filtering preserves selections in downloadable items list
Verify real-time search filtering and that selections persist across filtering and clearing.
P2mediumdraftplanned PRE-OV-download-center-open md
OV-C1-EDGE-010 C1.6 mobile
Storage tier routing: LIMITED_REFERENCE_ONLY shows consent drawer
Verify the storage-tier router presents the Limited-Reference Consent drawer when storage only supports limited reference data.
P0criticaldraftplanned PRE-OV-download-center-open md
OV-C1-NEG-011 C1.6 mobile
Storage tier routing: TEMPLATE_NOT_SUPPORTED blocks with Gagal Mengunduh
Verify the storage-tier router blocks the download and surfaces "Gagal Mengunduh" when the device cannot support the template.
P0criticaldraftplanned PRE-OV-download-center-open md
OV-C1-POS-009 C1.6 mobile
Storage tier routing: FULL_BUNDLE_SUPPORTED proceeds with full download
Verify the storage-tier router proceeds with a full download when device storage supports the full bundle.
P0criticaldraftplanned PRE-OV-download-center-open md
OV-C1-NEG-013 C1.7 mobile
Limited-Reference consent: Batal cancels download with no bundle stored
Verify declining the Limited-Reference Consent cancels the download and stores no bundle.
P1highdraftplanned PRE-OV-download-center-open md
OV-C1-POS-012 C1.7 mobile
Limited-Reference consent: Lanjutkan starts limited download with fallback
Verify accepting the Limited-Reference Consent starts a limited download flagged accordingly.
P1highdraftplanned PRE-OV-download-center-open md
OV-C1-POS-014 C1.8 mobile
Download progress modal blocks UI and resolves to success drawer
Verify the blocking download progress modal and its transition to the success drawer.
P1highdraftplanned PRE-OV-download-center-open md
OV-C1-POS-015 C1.9 mobile
Downloaded bundle is atomic and contains all required components
Verify a successful full download produces a complete, atomic bundle.
P0criticaldraftplanned PRE-OV-download-center-open md
OV-C1-POS-016 C1.10 mobile
Cloud-icon timestamp shows bundle presence and updates on re-download
Verify the cloud-icon timestamp represents bundle presence and refreshes after re-download.
P2mediumdraftplanned PRE-OV-logged-in-online md
OV-C1-POS-017 C1.10 mobile
No cloud-icon line rendered when no bundle exists
Verify the absence of the cloud-icon line is itself the "no bundle" visual signal.
P3lowdraftplanned PRE-OV-logged-in-online md
OV-C1-NEG-018 C1.11 mobile
Re-download blocked while a dependent visitation is Dalam Proses
Verify re-download is blocked while a visitation depending on the bundle is in progress, protecting in-use data.
P0criticaldraftplanned PRE-OV-logged-in-online md
OV-C1-POS-019 C1.11 mobile
Re-download proceeds after dependent visitation completes or cancels
Verify re-download is allowed once no dependent visitation is in progress.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C1-EDGE-021 C1.12 mobile
Cache clear or uninstall deletes all bundles regardless of retention age
Verify that clearing app cache or uninstalling removes all bundles irrespective of retention age.
P2mediumdraftplanned PRE-OV-logged-in-online md
OV-C1-POS-020 C1.12 mobile
Bundle auto-purges after 3×24h with no dependents
Verify automatic purge of an unused bundle after the 3×24h retention window.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C1-NEG-023 C1.13 mobile
Single delete rejected when bundle is used by Dalam Proses or Gagal Kirim
Verify deletion is rejected for a bundle still required by an ongoing or queued submission.
P0criticaldraftplanned PRE-OV-download-center-open md
OV-C1-POS-022 C1.13 mobile
Single delete from Download Center removes bundle after confirmation
Verify per-row deletion of a bundle from the Download Center, including confirmation and UI updates.
P1highdraftplanned PRE-OV-download-center-open md
OV-C1-POS-024 C1.14 mobile
Bulk delete via Hapus Semua deletes only eligible bundles
Verify "Hapus Semua" deletes eligible bundles while protecting in-use ones and explaining the outcome.
P1highdraftplanned PRE-OV-download-center-open md
OV-C1-POS-025 C1.15 mobile
Download from Detail Kunjungan prepares a bundle for the current visitation
Verify the pre-check-in download entry point on Detail Kunjungan prepares a bundle scoped to the current visitation.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C1-EDGE-026 C1.16 mobile
Mid-download storage exhaustion stops download with no partial bundle
Verify graceful handling when device storage runs out during a download.
P1highdraftplanned PRE-OV-download-center-open md
OV-C1-EDGE-027 C1.16 mobile
Mid-download network drop stops download and preserves existing bundle
Verify graceful handling when the network drops during a download, preserving any existing bundle.
P1highdraftplanned PRE-OV-download-center-open md
C2  Visitation Flow: Fully Online & Fully Offline  mobile
OV-C2-POS-001 C2.1 mobile
Fully Online: channel list visible for both personas without connectivity prompts
Verify the homepage renders the correct channel list per persona with no connectivity popups while fully online.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C2-POS-002 C2.2 mobile
Fully Online: complete visitation flow end-to-end with live backend data
Verify a fully online visitation completes immediately with no Gagal Kirim entries.
P0criticaldraftplanned PRE-OV-logged-in-online md
OV-C2-POS-003 C2.3 mobile
Fully Online: draft mirrored to server and local, flushed on completion
Verify online draft saving mirrors to backend and local, and local copies flush on successful completion.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C2-POS-004 C2.3 mobile
Local draft persists when visit not completed and app closed
Verify local draft copies remain on device when a visit has not yet completed.
P2mediumdraftplanned PRE-OV-logged-in-online md
OV-C2-POS-005 C2.4 mobile
Fully Offline prep: review full plan at office with good connection
Verify the employee can review the full day plan at the office before going offline.
P2mediumdraftplanned PRE-OV-logged-in-online md
OV-C2-POS-006 C2.5 mobile
Fully Offline prep: bulk pre-download of multiple channels/visitations
Verify bulk pre-download of reference data for multiple selected items succeeds with presence indicators.
P1highdraftplanned PRE-OV-download-center-open md
OV-C2-POS-007 C2.6 mobile
Fully Offline prep: activating Mode Luring filters list to downloaded items
Verify activating Mode Luring before leaving shows the banner and filters the channel list.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C2-POS-008 C2.7 mobile
Fully Offline: completing each visit saves one atomic Gagal Kirim entry
Verify offline completion of each visit produces one atomic queue entry and allows immediate continuation.
P0criticaldraftplanned PRE-OV-mode-luring-active md
OV-C2-POS-009 C2.8 mobile
Connection returns with Auto-Sync ON: queue drains automatically
Verify the queue drains automatically when the connection returns and Auto-Sync is ON.
P0criticaldraftplanned PRE-OV-gagal-kirim-has-items md
OV-C2-POS-010 C2.8 mobile
Connection returns with Auto-Sync OFF: manual send required
Verify the queue does NOT drain automatically when Auto-Sync is OFF.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C2-NEG-011 C2.9 mobile
Cannot disable Mode Luring while a visitation is Dalam Proses
Verify Mode Luring cannot be switched off while an in-progress visitation exists (data-loss prevention).
P0criticaldraftplanned PRE-OV-mode-luring-active md
OV-C2-POS-012 C2.9 mobile
Can disable Mode Luring once all Dalam Proses visits complete or cancel
Verify Mode Luring can be disabled once no visitation is in progress.
P1highdraftplanned PRE-OV-mode-luring-active md
C3  Offline Submission & Gagal Kirim Queue  mobile
OV-C3-POS-001 C3.1 mobile
Offline submission saves an atomic local queue entry with confirmation
Verify completing a visitation offline saves an atomic queue entry and shows the confirmation drawer.
P0criticaldraftplanned PRE-OV-mode-luring-active md
OV-C3-POS-002 C3.2 mobile
Gagal Kirim homepage indicator shows count and updates on changes
Verify the Gagal Kirim homepage entry point and its count behavior.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C3-POS-003 C3.2 mobile
Gagal Kirim indicator hidden or inactive when queue is empty
Verify the Gagal Kirim entry point when the queue is empty.
P3lowdraftplanned PRE-OV-logged-in-online md
OV-C3-POS-004 C3.3 mobile
Gagal Kirim queue list view renders summary, controls, and item metadata
Verify the Gagal Kirim queue page layout and per-item metadata.
P1mediumdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C3-POS-005 C3.4 mobile
Search filtering in Gagal Kirim queue with no-results and restore
Verify search filtering, no-results state, and restore in the Gagal Kirim queue.
P2lowdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C3-POS-006 C3.5 mobile
Queue item status lifecycle is consistent across views
Verify the queue item status transitions and that status is consistent between list and detail views.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C3-NEG-008 C3.6 mobile
Local save failure shows no success drawer and stores no partial item
Verify graceful handling when local persistence fails on offline submission.
P0criticaldraftplanned PRE-OV-mode-luring-active md
OV-C3-POS-007 C3.6 mobile
Success drawer shown only after local persistence succeeds
Verify the success drawer appears only when local persistence has succeeded.
P0criticaldraftplanned PRE-OV-mode-luring-active md
C4  Sync Strategy: Auto & Manual  mobile
OV-C4-POS-001 C4.1 mobile
Auto Sync configuration reachable from two entry points, default OFF
Verify both entry points reach the same Auto Sync configuration page and the default is OFF.
P2mediumdraftplanned PRE-OV-logged-in-online md
OV-C4-POS-002 C4.2 mobile
Auto Sync toggle persists across entry points and app restart
Verify the Auto Sync preference persists and does not itself trigger a sync.
P1mediumdraftplanned PRE-OV-logged-in-online md
OV-C4-POS-003 C4.3 mobile
Auto Sync triggers silently when network stable and queue has items
Verify Auto Sync starts and resolves silently when conditions are met.
P0criticaldraftplanned PRE-OV-gagal-kirim-has-items md
OV-C4-NEG-004 C4.4 mobile
Auto Sync OFF: no automatic sync even on GOOD network
Verify no automatic sync occurs when Auto Sync is OFF.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C4-NEG-006 C4.5 mobile
Kirim Semua disabled when a Mengirim item exists or under NO CONNECTION
Verify the "Kirim Semua" button is disabled in the two blocking conditions.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C4-POS-005 C4.5 mobile
Kirim Semua enabled on GOOD network for sendable queue contents
Verify the "Kirim Semua" button is enabled for sendable queue contents on GOOD network.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C4-POS-007 C4.6 mobile
Kirim Semua bulk sync is atomic per visitation with mixed outcomes
Verify bulk sync transitions all eligible items and resolves each visitation atomically.
P0criticaldraftplanned PRE-OV-gagal-kirim-has-items md
OV-C4-NEG-009 C4.7 mobile
Kirim Ulang disabled or blocked under NO CONNECTION
Verify resend is prevented under NO CONNECTION.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C4-POS-008 C4.7 mobile
Kirim Ulang from Detail Kunjungan syncs a single item on GOOD network
Verify single-item resend from Detail Kunjungan on GOOD network.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C4-EDGE-010 C4.8 mobile
Sync integrity preserved across app restart and force-close (no duplicates)
Verify sync state survives app interruption without producing duplicate backend records.
P0criticaldraftplanned PRE-OV-gagal-kirim-has-items md
OV-C4-NEG-011 C4.9 mobile
Visitation atomicity: any rejected part keeps the whole in Gagal Kirim
Verify a queued visitation syncs atomically: partial backend rejection keeps the whole item failed.
P0criticaldraftplanned PRE-OV-gagal-kirim-has-items md
C5  Expiration & Manual Deletion  mobile
OV-C5-POS-001 C5.1 mobile
Queue items expire after 3-day retention and are not recoverable
Verify queue retention expiry removes items permanently without moving them to Riwayat.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C5-POS-002 C5.2 mobile
Pre-expiration warning notification fires at D-1 and does not extend retention
Verify the D-1 pre-expiration warning content and that it is informational only.
P2mediumdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C5-NEG-004 C5.3 mobile
Hapus Semua disabled while any item is in Mengirim status
Verify "Hapus Semua" is disabled when a send is in progress.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C5-POS-003 C5.3 mobile
Hapus Semua deletes eligible queue items after confirmation
Verify bulk deletion of queue items via "Hapus Semua" with confirmation and cancel paths.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C5-POS-005 C5.4 mobile
Single deletion from Detail Kunjungan with confirmation and Mengirim guard
Verify single-item deletion from Detail Kunjungan, including the Mengirim guard and cancel path.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C5-POS-006 C5.5 mobile
Expired queue items do not change local achievement count
Verify achievement count is unaffected by queue expiry and only corrected on successful sync.
P2mediumdraftplanned PRE-OV-gagal-kirim-has-items md
C6  Failed Sync Detail, Modification & Resync  mobile
OV-C6-POS-001 C6.1 mobile
Failure reason classified by fixability and stored as latest only
Verify failed submissions are classified by fixability and that only the latest failure reason is stored.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C6-POS-002 C6.2 mobile
Failed sync detail page shows status, data, and plain-language reason
Verify the failed sync detail view content and the Aktivitas correction indicator.
P1mediumdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C6-POS-003 C6.3 mobile
Action availability matrix for fixable and retryable failures
Verify available actions match queue status and failure type for fixable/retryable cases.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C6-POS-004 C6.3 mobile
Non-fixable failure offers only Hapus with escalation guidance
Verify non-fixable business failures expose no correction path, only deletion with guidance.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C6-NEG-006 C6.4 mobile
Local validation blocks progression until correction passes
Verify local validation prevents progression while errors remain.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C6-POS-005 C6.4 mobile
Perbaiki opens form pre-filled with validation highlights
Verify the Perbaiki flow re-opens the form pre-filled with clear validation messaging.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C6-POS-007 C6.5 mobile
Corrected submission saved locally replaces failed payload
Verify saving a correction persists locally and re-enables resend.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C6-POS-008 C6.6 mobile
Resync of corrected submission is atomic with reason update on failure
Verify resend eligibility rules and atomic resync outcomes for a corrected submission.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C6-POS-009 C6.7 mobile
Stored failure reason overwritten (not appended) on repeat failure
Verify only the most recent failure reason is retained on repeated failures.
P2mediumdraftplanned PRE-OV-gagal-kirim-has-items md
C7  Network Quality Detection & State-Driven Drawer Mechanics  mobile
OV-C7-POS-001 C7.1 mobile
Continuous network monitoring is silent unless state changes
Verify background network quality checks run at the right moments and only interrupt the UI on state change.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C7-POS-002 C7.2 mobile
Platform-specific signal computation yields identical downstream behavior
Verify iOS and Android compute signal differently but produce identical NO CONNECTION classification and downstream behavior.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C7-POS-003 C7.3 mobile
Drawer routing matrix resolves UI from network, bundle, and Mode Luring
Verify the 2-state routing matrix selects the correct resulting UI and re-evaluates on the right triggers.
P0criticaldraftplanned PRE-OV-logged-in-online md
OV-C7-POS-004 C7.4 mobile
Koneksi Tidak Stabil drawer offers download via storage pre-check
Verify the "Koneksi Tidak Stabil" drawer content and the "Unduh Data" path with no existing bundle.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C7-POS-005 C7.4 mobile
Koneksi Tidak Stabil drawer dismiss suppresses for the session
Verify dismissing the "Koneksi Tidak Stabil" drawer suppresses it while monitoring continues.
P2mediumdraftplanned PRE-OV-logged-in-online md
OV-C7-POS-006 C7.5 mobile
Connectivity drawer re-fires on triggers and resets suppression correctly
Verify drawer re-fire conditions, suppression reset boundaries, and per-drawer suppression isolation.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C7-POS-007 C7.6 mobile
Tidak ada Koneksi drawer: Aktifkan Mode Luring and Coba Lagi paths
Verify the "Tidak ada Koneksi" drawer content and its Aktifkan Mode Luring / Coba Lagi paths.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C7-POS-008 C7.6 mobile
Tidak ada Koneksi Abaikan keeps Fully Online; backend actions blocked, local works
Verify dismissing the "Tidak ada Koneksi" drawer via Abaikan leaves the employee online with backend actions blocked.
P1highdraftplanned PRE-OV-logged-in-online md
C8  Mode Luring State Management  mobile
OV-C8-POS-001 C8.1 mobile
Mode Luring activates only via explicit toggle from two entry paths
Verify the two Mode Luring activation paths, explicit toggle requirement, and persistence.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C8-POS-002 C8.2 mobile
Persistent Mode Luring Aktif banner shown on visitation screens
Verify the persistent Mode Luring banner across visitation screens and its removal on deactivation.
P2mediumdraftplanned PRE-OV-mode-luring-active md
OV-C8-POS-003 C8.3 mobile
Mode Luring filters channel list and disables backend-only features
Verify channel-list filtering and feature availability while Mode Luring is active.
P1highdraftplanned PRE-OV-mode-luring-active md
OV-C8-POS-004 C8.4 mobile
Offline check-in and check-out run on local data without backend
Verify offline check-in/check-out using local data, including map-failure resilience.
P0criticaldraftplanned PRE-OV-mode-luring-active md
OV-C8-POS-005 C8.5 mobile
Form filling under Mode Luring uses cached data with validation intact
Verify offline form filling sources options from the cached bundle with full validation and correct target handling.
P0criticaldraftplanned PRE-OV-mode-luring-active md
OV-C8-POS-006 C8.6 mobile
Offline submission counts immediately as achievement, reconciled on sync
Verify offline submissions count as achievements immediately and reconcile on sync.
P1highdraftplanned PRE-OV-mode-luring-active md
OV-C8-NEG-008 C8.7 mobile
Mode Luring exit blocked while a Dalam Proses visit exists
Verify exit from Mode Luring is blocked when an in-progress visit exists, preventing data loss.
P0criticaldraftplanned PRE-OV-mode-luring-active md
OV-C8-POS-007 C8.7 mobile
Deliberate Mode Luring exit requires manual toggle (intentional friction)
Verify the deliberate exit flow from Mode Luring and the patchy-network re-fire edge case.
P1highdraftplanned PRE-OV-mode-luring-active md
C9  Multi-device Race Conditions, Persona & Target Rules  mobile
OV-C9-POS-001 C9.1 mobile
Persona is backend-sourced, single-value, and never inferred on mobile
Verify persona is determined by backend configuration, persisted per session, and treated as a single value.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C9-POS-002 C9.2 mobile
Persona drives filtering, download scope, and sync rejection rules
Verify persona value consistently drives downstream behavior across connectivity states.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C9-POS-003 C9.3 mobile
Non-PJP multi-device: both submissions persist as separate records
Verify Non-PJP re-visits from two devices both record as separate visitations.
P1highdraftplanned PRE-OV-logged-in-online md
OV-C9-NEG-004 C9.4 mobile
PJP multi-device: late sync rejected because target already achieved
Verify a PJP single-use target rejects a later sync from a second device while keeping the failed item locally.
P0criticaldraftplanned PRE-OV-logged-in-online md
OV-C9-NEG-005 C9.5 mobile
Same visitation ID: sync rejected on backend status conflict
Verify status-conflict rejection when the same visitation advances on another device.
P0criticaldraftplanned PRE-OV-logged-in-online md
OV-C9-POS-006 C9.6 mobile
Multi-device failures follow non-blocking silent retry with clear reason
Verify user-facing behavior for multi-device failure cases is non-blocking and explained.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C9-POS-007 C9.7 mobile
Downloaded bundles are device-local and not shared across devices
Verify downloaded bundles and queues are scoped per device.
P2mediumdraftplanned PRE-OV-logged-in-online md
C10  Cross-cutting Edge Cases & Failure Recovery  mobile
OV-C10-EDGE-001 C10.1 mobile
Force-quit during download leaves no partial bundle (atomicity preserved)
Verify force-quitting during a download preserves bundle atomicity.
P1highdraftplanned PRE-OV-download-center-open md
OV-C10-EDGE-002 C10.1 mobile
Force-quit during silent sync resumes safely without duplicate records
Verify force-quitting during silent sync resumes safely with no duplicate backend submissions.
P0criticaldraftplanned PRE-OV-gagal-kirim-has-items md
OV-C10-EDGE-003 C10.1 mobile
Force-quit during form filling preserves the in-progress draft
Verify force-quitting while filling a form keeps the in-progress draft recoverable.
P1highdraftplanned PRE-OV-mode-luring-active md
OV-C10-EDGE-004 C10.1 mobile
Force-quit with Mode Luring active keeps it active on relaunch
Verify Mode Luring survives a force-quit and does not silently switch off.
P1highdraftplanned PRE-OV-mode-luring-active md
OV-C10-EDGE-005 C10.2 mobile
Auth token expiry does not disrupt offline work; sync holds until re-auth
Verify offline operations are protected when the auth token expires, and sync resumes after re-authentication.
P0criticaldraftplanned PRE-OV-mode-luring-active md
OV-C10-EDGE-006 C10.3 mobile
Cache clear or uninstall permanently deletes local unsynced data
Verify the data-loss warning and behavior for cache clear / uninstall, plus reinstall recovery.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md
OV-C10-POS-007 C10.4 mobile
Status and presence indicators stay consistent across surfaces with live updates
Verify cross-surface consistency of status/presence indicators and live updates without page refresh.
P1highdraftplanned PRE-OV-gagal-kirim-has-items md