IMAP sync test now passes _fakeImapConnect (throws SocketException immediately) so CI never opens a real TCP connection to localhost:143
New JMAP sync test exercises _JmapAccountSync end-to-end through fake repositories — no HTTP client needed since _JmapAccountSync delegates all I/O to injectable repository interfaces
Both tests verify that syncEmails is called at least once per account, proving the sync loop starts and dispatches correctly
## Summary
- IMAP sync test now passes `_fakeImapConnect` (throws `SocketException` immediately) so CI never opens a real TCP connection to localhost:143
- New JMAP sync test exercises `_JmapAccountSync` end-to-end through fake repositories — no HTTP client needed since `_JmapAccountSync` delegates all I/O to injectable repository interfaces
- Both tests verify that `syncEmails` is called at least once per account, proving the sync loop starts and dispatches correctly
Closes part of #19 (A3).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
_fakeImapConnect(throwsSocketExceptionimmediately) so CI never opens a real TCP connection to localhost:143_JmapAccountSyncend-to-end through fake repositories — no HTTP client needed since_JmapAccountSyncdelegates all I/O to injectable repository interfacessyncEmailsis called at least once per account, proving the sync loop starts and dispatches correctlyCloses part of #19 (A3).