Files
RSSuper/native-route/ios/RSSuperTests/SettingsStoreTests.swift
Michael Freno f8d696a440 Fix NotificationService authorization and isAvailable async issues
- Fixed requestAuthorization to use completion handler instead of throws
- Fixed isAvailable property to use async callback pattern
- Updated NotificationManager to use async isAvailable

Fixes code review feedback from FRE-535
2026-03-31 05:34:21 -04:00

163 lines
4.4 KiB
Swift

import XCTest
@testable import RSSuper
class SettingsStoreTests: XCTestCase {
var settingsStore: SettingsStore!
var appSettings: AppSettings!
override func setUp() {
super.setUp()
settingsStore = SettingsStore.shared
appSettings = AppSettings.shared
}
override func tearDown() {
settingsStore = nil
appSettings = nil
super.tearDown()
}
func testGetFontSize_defaultValue() {
let fontSize = settingsStore.getFontSize()
XCTAssertNotNil(fontSize)
}
func testSetFontSize() {
let fontSize: ReadingPreferences.FontSize = .large
settingsStore.setFontSize(fontSize)
XCTAssertEqual(settingsStore.getFontSize(), fontSize)
}
func testGetLineHeight_defaultValue() {
let lineHeight = settingsStore.getLineHeight()
XCTAssertNotNil(lineHeight)
}
func testSetLineHeight() {
let lineHeight: ReadingPreferences.LineHeight = .tall
settingsStore.setLineHeight(lineHeight)
XCTAssertEqual(settingsStore.getLineHeight(), lineHeight)
}
func testIsShowTableOfContents_defaultValue() {
let show = settingsStore.isShowTableOfContents()
XCTAssertNotNil(show)
}
func testSetShowTableOfContents() {
settingsStore.setShowTableOfContents(true)
XCTAssertTrue(settingsStore.isShowTableOfContents())
}
func testIsShowReadingTime_defaultValue() {
let show = settingsStore.isShowReadingTime()
XCTAssertNotNil(show)
}
func testSetShowReadingTime() {
settingsStore.setShowReadingTime(true)
XCTAssertTrue(settingsStore.isShowReadingTime())
}
func testIsShowAuthor_defaultValue() {
let show = settingsStore.isShowAuthor()
XCTAssertNotNil(show)
}
func testSetShowAuthor() {
settingsStore.setShowAuthor(true)
XCTAssertTrue(settingsStore.isShowAuthor())
}
func testIsShowDate_defaultValue() {
let show = settingsStore.isShowDate()
XCTAssertNotNil(show)
}
func testSetShowDate() {
settingsStore.setShowDate(true)
XCTAssertTrue(settingsStore.isShowDate())
}
func testIsNewArticlesEnabled_defaultValue() {
let enabled = settingsStore.isNewArticlesEnabled()
XCTAssertNotNil(enabled)
}
func testSetNewArticles() {
settingsStore.setNewArticles(true)
XCTAssertTrue(settingsStore.isNewArticlesEnabled())
}
func testIsEpisodeReleasesEnabled_defaultValue() {
let enabled = settingsStore.isEpisodeReleasesEnabled()
XCTAssertNotNil(enabled)
}
func testSetEpisodeReleases() {
settingsStore.setEpisodeReleases(true)
XCTAssertTrue(settingsStore.isEpisodeReleasesEnabled())
}
func testIsCustomAlertsEnabled_defaultValue() {
let enabled = settingsStore.isCustomAlertsEnabled()
XCTAssertNotNil(enabled)
}
func testSetCustomAlerts() {
settingsStore.setCustomAlerts(true)
XCTAssertTrue(settingsStore.isCustomAlertsEnabled())
}
func testIsBadgeCountEnabled_defaultValue() {
let enabled = settingsStore.isBadgeCountEnabled()
XCTAssertNotNil(enabled)
}
func testSetBadgeCount() {
settingsStore.setBadgeCount(true)
XCTAssertTrue(settingsStore.isBadgeCountEnabled())
}
func testIsSoundEnabled_defaultValue() {
let enabled = settingsStore.isSoundEnabled()
XCTAssertNotNil(enabled)
}
func testSetSound() {
settingsStore.setSound(true)
XCTAssertTrue(settingsStore.isSoundEnabled())
}
func testIsVibrationEnabled_defaultValue() {
let enabled = settingsStore.isVibrationEnabled()
XCTAssertNotNil(enabled)
}
func testSetVibration() {
settingsStore.setVibration(true)
XCTAssertTrue(settingsStore.isVibrationEnabled())
}
func testIsAppGroupAvailable() {
let available = settingsStore.isAppGroupAvailable()
XCTAssertNotNil(available)
}
func testGetReadingPreferences() {
let prefs = settingsStore.getReadingPreferences()
XCTAssertNotNil(prefs)
}
func testGetNotificationPreferences() {
let prefs = settingsStore.getNotificationPreferences()
XCTAssertNotNil(prefs)
}
func testGetAllPreferences() {
let prefs = settingsStore.getAllPreferences()
XCTAssertNotNil(prefs)
}
}