Skip to content
This repository was archived by the owner on Nov 16, 2025. It is now read-only.

Commit 8895ea3

Browse files
committed
fix: resolve final test compilation issues and warnings
- Fix StatusBarGaugeDisplayTests setUp() MainActor isolation by using MainActor.assumeIsolated - Fix coercion warning by force unwrapping statusBarController in Mirror reflection - Mark StatusBarGaugeDisplayTests class with @mainactor - Ensure all MainActor-isolated properties are accessed within proper isolation context
1 parent 6b6c167 commit 8895ea3

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

VibeMeterTests/Presentation/Components/StatusBarGaugeDisplayTests.swift

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import XCTest
22
@testable import VibeMeter
33

4+
@MainActor
45
final class StatusBarGaugeDisplayTests: XCTestCase {
56

67
// MARK: - Properties
@@ -15,12 +16,12 @@ final class StatusBarGaugeDisplayTests: XCTestCase {
1516

1617
// MARK: - Setup
1718

18-
@MainActor
1919
override func setUp() {
2020
super.setUp()
2121

22-
// Create mock dependencies
23-
settingsManager = MockSettingsManager()
22+
MainActor.assumeIsolated {
23+
// Create mock dependencies
24+
settingsManager = MockSettingsManager()
2425
userSession = MultiProviderUserSessionData()
2526
spendingData = MultiProviderSpendingData()
2627
currencyData = CurrencyData()
@@ -44,14 +45,15 @@ final class StatusBarGaugeDisplayTests: XCTestCase {
4445
currencyData: currencyData
4546
)
4647

47-
statusBarController = StatusBarController(
48-
settingsManager: settingsManager,
49-
userSession: userSession,
50-
loginManager: loginManager,
51-
spendingData: spendingData,
52-
currencyData: currencyData,
53-
orchestrator: orchestrator
54-
)
48+
statusBarController = StatusBarController(
49+
settingsManager: settingsManager,
50+
userSession: userSession,
51+
loginManager: loginManager,
52+
spendingData: spendingData,
53+
currencyData: currencyData,
54+
orchestrator: orchestrator
55+
)
56+
}
5557
}
5658

5759
// MARK: - Claude Quota Display Tests
@@ -231,7 +233,7 @@ final class StatusBarGaugeDisplayTests: XCTestCase {
231233
spendingData.updateUsage(for: .claude, from: usageData)
232234

233235
// Use reflection to test private method
234-
let mirror = Mirror(reflecting: statusBarController)
236+
let mirror = Mirror(reflecting: statusBarController!)
235237
if let calculateMethod = mirror.children.first(where: { $0.label == "calculateClaudeQuotaPercentage" }) {
236238
// In real tests, we'd verify the gauge value through the UI
237239
XCTAssertNotNil(calculateMethod)

0 commit comments

Comments
 (0)