general: test redux
This commit is contained in:
76
GazeTests/Views/BlinkSetupViewTests.swift
Normal file
76
GazeTests/Views/BlinkSetupViewTests.swift
Normal file
@@ -0,0 +1,76 @@
|
||||
//
|
||||
// BlinkSetupViewTests.swift
|
||||
// GazeTests
|
||||
//
|
||||
// Tests for BlinkSetupView component.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
import XCTest
|
||||
@testable import Gaze
|
||||
|
||||
@MainActor
|
||||
final class BlinkSetupViewTests: XCTestCase {
|
||||
|
||||
var testEnv: TestEnvironment!
|
||||
|
||||
override func setUp() async throws {
|
||||
testEnv = TestEnvironment()
|
||||
}
|
||||
|
||||
override func tearDown() async throws {
|
||||
testEnv = nil
|
||||
}
|
||||
|
||||
func testBlinkSetupInitialization() {
|
||||
let view = BlinkSetupView(
|
||||
settingsManager: testEnv.settingsManager as! SettingsManager
|
||||
)
|
||||
XCTAssertNotNil(view)
|
||||
}
|
||||
|
||||
func testBlinkTimerConfigurationChanges() {
|
||||
let initial = testEnv.settingsManager.timerConfiguration(for: .blink)
|
||||
|
||||
var modified = initial
|
||||
modified.enabled = true
|
||||
modified.intervalSeconds = 300
|
||||
testEnv.settingsManager.updateTimerConfiguration(for: .blink, configuration: modified)
|
||||
|
||||
let updated = testEnv.settingsManager.timerConfiguration(for: .blink)
|
||||
XCTAssertTrue(updated.enabled)
|
||||
XCTAssertEqual(updated.intervalSeconds, 300)
|
||||
}
|
||||
|
||||
func testBlinkTimerEnableDisable() {
|
||||
var config = testEnv.settingsManager.timerConfiguration(for: .blink)
|
||||
|
||||
config.enabled = true
|
||||
testEnv.settingsManager.updateTimerConfiguration(for: .blink, configuration: config)
|
||||
XCTAssertTrue(testEnv.settingsManager.timerConfiguration(for: .blink).enabled)
|
||||
|
||||
config.enabled = false
|
||||
testEnv.settingsManager.updateTimerConfiguration(for: .blink, configuration: config)
|
||||
XCTAssertFalse(testEnv.settingsManager.timerConfiguration(for: .blink).enabled)
|
||||
}
|
||||
|
||||
func testBlinkIntervalValidation() {
|
||||
var config = testEnv.settingsManager.timerConfiguration(for: .blink)
|
||||
|
||||
let intervals = [180, 240, 300, 360, 600]
|
||||
for interval in intervals {
|
||||
config.intervalSeconds = interval
|
||||
testEnv.settingsManager.updateTimerConfiguration(for: .blink, configuration: config)
|
||||
|
||||
let retrieved = testEnv.settingsManager.timerConfiguration(for: .blink)
|
||||
XCTAssertEqual(retrieved.intervalSeconds, interval)
|
||||
}
|
||||
}
|
||||
|
||||
func testBlinkAccessibilityIdentifier() {
|
||||
XCTAssertEqual(
|
||||
AccessibilityIdentifiers.Onboarding.blinkPage,
|
||||
"onboarding.page.blink"
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user