Skip to content

Commit 35fd932

Browse files
authored
Refactor FXIOS-12796 [Swift 6 Migration] Isolate Client unit test classes for UI-related work (#31024)
* Isolate unit test classes for UI-related test work to the main actor, fixing strict concurrency warnings in Client unit test target.
1 parent 74c7453 commit 35fd932

File tree

12 files changed

+50
-43
lines changed

12 files changed

+50
-43
lines changed

firefox-ios/firefox-ios-tests/Tests/ClientTests/Coordinators/LaunchView/LaunchScreenViewControllerTests.swift

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@ import Common
66
import XCTest
77
@testable import Client
88

9+
@MainActor
910
final class LaunchScreenViewControllerTests: XCTestCase {
1011
private var viewModel: MockLaunchScreenViewModel!
1112
private var profile: MockProfile!
1213
private var coordinatorDelegate: MockLaunchFinishedLoadingDelegate!
1314
let windowUUID: WindowUUID = .XCTestDefaultUUID
1415

15-
override func setUp() {
16-
super.setUp()
16+
override func setUp() async throws {
17+
try await super.setUp()
1718
DependencyHelperMock().bootstrapDependencies()
1819
profile = MockProfile()
1920
LegacyFeatureFlagsManager.shared.initializeDeveloperFeatures(with: profile)
@@ -22,12 +23,13 @@ final class LaunchScreenViewControllerTests: XCTestCase {
2223
coordinatorDelegate = MockLaunchFinishedLoadingDelegate()
2324
}
2425

25-
override func tearDown() {
26+
override func tearDown() async throws {
2627
DependencyHelperMock().reset()
2728
viewModel = nil
2829
profile = nil
2930
coordinatorDelegate = nil
30-
super.tearDown()
31+
32+
try await super.tearDown()
3133
}
3234

3335
func testNotLoaded_notCalled() {

firefox-ios/firefox-ios-tests/Tests/ClientTests/Frontend/ContentContainerTests.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,25 @@ import WebKit
77
import XCTest
88
@testable import Client
99

10+
@MainActor
1011
final class ContentContainerTests: XCTestCase {
1112
private var profile: MockProfile!
1213
private var overlayModeManager: MockOverlayModeManager!
1314

14-
override func setUp() {
15-
super.setUp()
15+
override func setUp() async throws {
16+
try await super.setUp()
1617
setIsSwipingTabsEnabled(false)
1718
self.profile = MockProfile()
1819
DependencyHelperMock().bootstrapDependencies()
1920
LegacyFeatureFlagsManager.shared.initializeDeveloperFeatures(with: profile)
2021
self.overlayModeManager = MockOverlayModeManager()
2122
}
2223

23-
override func tearDown() {
24+
override func tearDown() async throws {
2425
self.profile = nil
2526
self.overlayModeManager = nil
2627
DependencyHelperMock().reset()
27-
super.tearDown()
28+
try await super.tearDown()
2829
}
2930

3031
// MARK: - canAddHomepage

firefox-ios/firefox-ios-tests/Tests/ClientTests/Frontend/Homepage/LabelButtonHeaderViewTests.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Common
77

88
@testable import Client
99

10+
@MainActor
1011
final class LabelButtonHeaderViewTests: XCTestCase {
1112
let theme = DarkTheme()
1213
let sectionHeaderState = SectionHeaderConfiguration(title: "test title", a11yIdentifier: "test a11y identifier")

firefox-ios/firefox-ios-tests/Tests/ClientTests/Frontend/StoriesFeed/StoriesFeedViewControllerTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ import XCTest
1010
final class StoriesFeedViewControllerTests: XCTestCase {
1111
var mockStore: MockStoreForMiddleware<AppState>!
1212

13-
override func setUp() {
14-
super.setUp()
13+
override func setUp() async throws {
14+
try await super.setUp()
1515
DependencyHelperMock().bootstrapDependencies()
1616
setupStore()
1717
}
1818

19-
override func tearDown() {
19+
override func tearDown() async throws {
2020
DependencyHelperMock().reset()
2121
resetStore()
22-
super.tearDown()
22+
try await super.tearDown()
2323
}
2424

2525
func test_viewDidLoad_triggersStoriesFeedAction() throws {

firefox-ios/firefox-ios-tests/Tests/ClientTests/Microsurvey/Mock/MicrosurveyPromptMiddlewareTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ final class MicrosurveyPromptMiddlewareTests: XCTestCase {
1212
private var mockMicrosurveyManager: MockMicrosurveySurfaceManager!
1313
var mockStore: MockStoreForMiddleware<AppState>!
1414

15-
override func setUp() {
16-
super.setUp()
15+
override func setUp() async throws {
16+
try await super.setUp()
1717
let model = MicrosurveyModel(
1818
id: "survey-id",
1919
promptTitle: "title",
@@ -32,10 +32,10 @@ final class MicrosurveyPromptMiddlewareTests: XCTestCase {
3232
setupStore()
3333
}
3434

35-
override func tearDown() {
35+
override func tearDown() async throws {
3636
DependencyHelperMock().reset()
3737
resetStore()
38-
super.tearDown()
38+
try await super.tearDown()
3939
}
4040

4141
func testShowPromptAction_withInvalidModel() {

firefox-ios/firefox-ios-tests/Tests/ClientTests/OnboardingTests/OnboardingServiceTests.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ final class OnboardingServiceTests: XCTestCase {
108108
var mockProfile: MockProfile!
109109
var mockThemeManager: MockThemeManager!
110110

111-
override func setUp() {
112-
super.setUp()
111+
override func setUp() async throws {
112+
try await super.setUp()
113113

114114
mockDelegate = MockOnboardingServiceDelegate()
115115
mockNavigationDelegate = MockOnboardingNavigationDelegate()
@@ -137,8 +137,7 @@ final class OnboardingServiceTests: XCTestCase {
137137
DependencyHelperMock().bootstrapDependencies()
138138
}
139139

140-
override func tearDown() {
141-
super.tearDown()
140+
override func tearDown() async throws {
142141
DependencyHelperMock().reset()
143142
sut = nil
144143
mockDelegate = nil
@@ -150,7 +149,7 @@ final class OnboardingServiceTests: XCTestCase {
150149
mockSearchBarLocationSaver = nil
151150
mockProfile = nil
152151
mockThemeManager = nil
153-
super.tearDown()
152+
try await super.tearDown()
154153
}
155154

156155
// MARK: - Request Notifications Tests

firefox-ios/firefox-ios-tests/Tests/ClientTests/Settings/HomePageSettingViewControllerTests.swift

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@ import Shared
77

88
@testable import Client
99

10+
@MainActor
1011
final class HomePageSettingViewControllerTests: XCTestCase {
1112
private var profile: MockProfile!
1213
private var wallpaperManager: WallpaperManagerMock!
1314
private var delegate: MockSettingsDelegate!
1415

15-
override func setUp() {
16-
super.setUp()
16+
override func setUp() async throws {
17+
try await super.setUp()
1718
profile = MockProfile()
1819
LegacyFeatureFlagsManager.shared.initializeDeveloperFeatures(with: profile)
1920
DependencyHelperMock().bootstrapDependencies()
@@ -22,19 +23,19 @@ final class HomePageSettingViewControllerTests: XCTestCase {
2223
self.wallpaperManager = WallpaperManagerMock()
2324
}
2425

25-
override func tearDown() {
26-
super.tearDown()
26+
override func tearDown() async throws {
2727
DependencyHelperMock().reset()
2828
self.profile = nil
2929
self.delegate = nil
30+
31+
try await super.tearDown()
3032
}
3133

3234
func testHomePageSettingsLeaks_InitCall() throws {
3335
let subject = createSubject()
3436
trackForMemoryLeaks(subject)
3537
}
3638

37-
@MainActor
3839
func testHomepageSettings_containsBookmark_whenStoriesRedesignIsDisabled() throws {
3940
disableStoriesRedesignFlags()
4041
let subject = createSubject()
@@ -58,7 +59,6 @@ final class HomePageSettingViewControllerTests: XCTestCase {
5859
XCTAssertTrue(bookmarkSettingValue)
5960
}
6061

61-
@MainActor
6262
func testHomepageSettings_containsJumpBackIn_whenStoriesRedesignIsDisabled() throws {
6363
disableStoriesRedesignFlags()
6464
let subject = createSubject()
@@ -82,7 +82,6 @@ final class HomePageSettingViewControllerTests: XCTestCase {
8282
XCTAssertTrue(jumpBackInSettingValue)
8383
}
8484

85-
@MainActor
8685
func testHomepageSettings_doesNotContainsBookmark_whenStoriesRedesignIsEnabled() {
8786
enableStoriesRedesign()
8887
let subject = createSubject()
@@ -102,7 +101,6 @@ final class HomePageSettingViewControllerTests: XCTestCase {
102101
XCTAssertFalse(hasBookmarkSetting)
103102
}
104103

105-
@MainActor
106104
func testHomepageSettings_doesNotContainsJumpBackIn_whenStoriesRedesignIsEnabled() {
107105
enableStoriesRedesign()
108106
let subject = createSubject()
@@ -122,7 +120,6 @@ final class HomePageSettingViewControllerTests: XCTestCase {
122120
XCTAssertFalse(hasJumpBackInSetting)
123121
}
124122

125-
@MainActor
126123
func testHomepageSettings_containsBookmark_whenStoriesRedesignV2IsEnabled() throws {
127124
enableStoriesRedesignV2()
128125
let subject = createSubject()
@@ -146,7 +143,6 @@ final class HomePageSettingViewControllerTests: XCTestCase {
146143
XCTAssertFalse(bookmarkSettingValue)
147144
}
148145

149-
@MainActor
150146
func testHomepageSettings_containsJumpBackIn_whenStoriesRedesignV2IsEnabled() throws {
151147
enableStoriesRedesignV2()
152148
let subject = createSubject()
@@ -171,6 +167,7 @@ final class HomePageSettingViewControllerTests: XCTestCase {
171167
}
172168

173169
// MARK: - Helper
170+
174171
private func createSubject() -> HomePageSettingViewController {
175172
let subject = HomePageSettingViewController(prefs: profile.prefs,
176173
wallpaperManager: wallpaperManager,

firefox-ios/firefox-ios-tests/Tests/ClientTests/TabCellTests.swift

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,23 @@
55
import XCTest
66

77
@testable import Client
8+
9+
@MainActor
810
class TabCellTests: XCTestCase {
911
var cellDelegate: MockTabCellDelegate!
1012
var profile: MockProfile!
1113

12-
override func setUp() {
13-
super.setUp()
14+
override func setUp() async throws {
15+
try await super.setUp()
1416
cellDelegate = MockTabCellDelegate()
1517
profile = MockProfile()
1618
}
1719

18-
override func tearDown() {
19-
super.tearDown()
20+
override func tearDown() async throws {
2021
cellDelegate = nil
2122
profile = nil
23+
24+
try await super.tearDown()
2225
}
2326

2427
func testTabCellDeinit() {

firefox-ios/firefox-ios-tests/Tests/ClientTests/TabTray/TabManagerMiddlewareTests.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ final class TabManagerMiddlewareTests: XCTestCase, StoreTestUtility {
1515
private var mockStore: MockStoreForMiddleware<AppState>!
1616
private var appState: AppState!
1717

18+
@MainActor
1819
override func setUp() async throws {
1920
try await super.setUp()
2021
DependencyHelperMock().bootstrapDependencies()

firefox-ios/firefox-ios-tests/Tests/ClientTests/TabTray/TabTrayViewControllerTests.swift

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ import XCTest
77

88
@testable import Client
99

10+
@MainActor
1011
final class TabTrayViewControllerTests: XCTestCase {
1112
var delegate: MockTabTrayViewControllerDelegate!
1213
var navigationController: DismissableNavigationViewController!
1314
private var tabManager: MockTabManager!
1415
let windowUUID: WindowUUID = .XCTestDefaultUUID
1516

16-
override func setUp() {
17-
super.setUp()
17+
override func setUp() async throws {
18+
try await super.setUp()
1819
let mockTabManager = MockTabManager()
1920
DependencyHelperMock().bootstrapDependencies(injectedTabManager: mockTabManager)
2021
delegate = MockTabTrayViewControllerDelegate()
@@ -23,11 +24,12 @@ final class TabTrayViewControllerTests: XCTestCase {
2324
LegacyFeatureFlagsManager.shared.initializeDeveloperFeatures(with: MockProfile())
2425
}
2526

26-
override func tearDown() {
27-
super.tearDown()
27+
override func tearDown() async throws {
2828
delegate = nil
2929
navigationController = nil
3030
DependencyHelperMock().reset()
31+
32+
try await super.tearDown()
3133
}
3234

3335
// MARK: Compact layout

0 commit comments

Comments
 (0)