- 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>
1.2 KiB
1.2 KiB
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