Files
RSSuper/tasks/native-business-logic-migration/36-write-unit-tests-ios.md
Michael Freno 14efe072fa feat: implement cross-platform features and UI integration
- iOS: Add BackgroundSyncService, SyncScheduler, SyncWorker, BookmarkViewModel, FeedViewModel
- iOS: Add BackgroundSyncService, SyncScheduler, SyncWorker services
- Linux: Add settings-store.vala, State.vala signals, view widgets (FeedList, FeedDetail, AddFeed, Search, Settings, Bookmark)
- Linux: Add bookmark-store.vala, bookmark vala model, search-service.vala
- Android: Add NotificationService, NotificationManager, NotificationPreferencesStore
- Android: Add BookmarkDao, BookmarkRepository, SettingsStore
- Add unit tests for iOS, Android, Linux
- Add integration tests
- Add performance benchmarks
- Update tasks and documentation

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 23:06:12 -04:00

43 lines
1.2 KiB
Markdown

# 36. Write unit tests for iOS business logic
meta:
id: native-business-logic-migration-36
feature: native-business-logic-migration
priority: P1
depends_on: [native-business-logic-migration-33]
tags: [testing, ios]
objective:
- Write comprehensive unit tests for iOS business logic
deliverables:
- FeedParserTests.swift (already exists)
- FeedFetcherTests.swift (already exists)
- DatabaseTests.swift (already exists)
- RepositoryTests.swift (new - needs implementation)
- ViewModelTests.swift (new - needs implementation)
- BackgroundSyncTests.swift (new - needs implementation)
- SearchServiceTests.swift (new - needs implementation)
- NotificationServiceTests.swift (new - needs implementation)
tests:
- Unit: FeedParser, FeedFetcher, Database, SearchHistory, SearchQuery, SyncScheduler (existing)
- Unit: Repository, ViewModel, BackgroundSync, SearchService, NotificationService (to be implemented)
- Coverage: >80% code coverage (target)
acceptance_criteria:
- All business logic covered
- Edge cases tested
- Error cases tested
- Performance tests included
- >80% code coverage
validation:
- Run `xcodebuild test`
- Check coverage report
notes:
- Use XCTest framework
- Use XCTestExpectations for async
- Mock external dependencies