test(sweep): add UI-sweep targets for the new syncing / no-peers / chat-identity states
Capture the states the earlier verification couldn't reach: - overview-syncing: the balance "catching up — funds are safe" strip (P4). - overview-no-peers: the node-status banner's no-peers detail (P2; full-node only — renders as a plain Overview in the Lite sweep binary). - chat-identity-preparing / -unavailable: the chat empty states that used to all say "unlock your wallet" (P3). Setup clears the fabricated demo identity (clearIdentity wipes only the key; the demo message store survives); sweepEnsureDemoChatIdentity() re-fabricates on teardown so later targets keep the populated chat UI. Also make the demo baseline a genuinely synced node (tip_known=true) so the no-peers banner only appears on its own target, and dismiss the lite first-run welcome prompt during the demo so it stops occluding every lite screenshot (snapshotted + restored). Verified: all four new captures render correctly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1677,6 +1677,7 @@ private:
|
||||
std::string sweep_sandbox_;
|
||||
bool sweep_chat_identity_fabricated_ = false; // seedChatDemoData() made the demo chat identity
|
||||
void applyHealthyDemoState(); // reset the connection/encryption flags to the healthy demo values
|
||||
void sweepEnsureDemoChatIdentity(); // re-fabricate a demo chat identity if none (sweep teardown)
|
||||
void writeSweepManifest() const;
|
||||
// Snapshot of the state_ fields the demo installer mutates, restored at sweep end. Kept as a
|
||||
// plain struct because WalletState has reference-alias members and isn't copy-assignable.
|
||||
@@ -1692,6 +1693,7 @@ private:
|
||||
double market_price_usd=0;
|
||||
double market_change_24h=0;
|
||||
WizardPhase wizard_phase = WizardPhase::None; // the demo state dismisses the wizard
|
||||
bool lite_firstrun_dismissed = false; // the demo dismisses the lite welcome prompt
|
||||
} sweep_state_snapshot_;
|
||||
bool sidebar_user_toggled_ = false; // user manually toggled — suppress auto-collapse
|
||||
float sidebar_width_anim_ = 0.0f; // animated width (0 = uninitialized)
|
||||
|
||||
Reference in New Issue
Block a user