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

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