Skip to content

Commit e97724f

Browse files
authored
[POS][Local Catalog] Use SwiftTesting in SiteSettingsStoreMethodsTests (#16097)
2 parents 257be72 + b376b93 commit e97724f

File tree

1 file changed

+49
-65
lines changed

1 file changed

+49
-65
lines changed

Modules/Tests/YosemiteTests/Stores/Helpers/SiteSpecificAppSettingsStoreMethodsTests.swift

Lines changed: 49 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,29 @@
1-
import XCTest
1+
import Foundation
2+
import Testing
23
@testable import Yosemite
34
import Storage
45

5-
final class SiteSpecificAppSettingsStoreMethodsTests: XCTestCase {
6-
private var sut: SiteSpecificAppSettingsStoreMethods!
7-
private var fileStorage: MockFileStorage!
6+
struct SiteSpecificAppSettingsStoreMethodsTests {
7+
private let fileStorage: MockFileStorage
8+
private let sut: SiteSpecificAppSettingsStoreMethods
89
private let siteID: Int64 = 123
910

10-
override func setUp() {
11-
super.setUp()
12-
fileStorage = MockFileStorage()
13-
sut = SiteSpecificAppSettingsStoreMethods(fileStorage: fileStorage)
14-
}
15-
16-
override func tearDown() {
17-
sut = nil
18-
fileStorage = nil
19-
super.tearDown()
11+
init() {
12+
self.fileStorage = MockFileStorage()
13+
self.sut = SiteSpecificAppSettingsStoreMethods(fileStorage: fileStorage)
2014
}
2115

2216
// MARK: - Store Settings Tests
2317

24-
func test_getStoreSettings_returns_default_settings_when_no_data_exists() {
18+
@Test func getStoreSettings_returns_default_settings_when_no_data_exists() {
2519
// When
2620
let settings = sut.getStoreSettings(for: siteID)
2721

2822
// Then
29-
XCTAssertEqual(settings, GeneralStoreSettings())
23+
#expect(settings == GeneralStoreSettings())
3024
}
3125

32-
func test_getStoreSettings_returns_saved_settings_when_data_exists() throws {
26+
@Test func getStoreSettings_returns_saved_settings_when_data_exists() throws {
3327
// Given
3428
let expectedSettings = GeneralStoreSettings(storeID: "test-store")
3529
let existingData = GeneralStoreSettingsBySite(storeSettingsBySite: [siteID: expectedSettings])
@@ -39,73 +33,63 @@ final class SiteSpecificAppSettingsStoreMethodsTests: XCTestCase {
3933
let settings = sut.getStoreSettings(for: siteID)
4034

4135
// Then
42-
XCTAssertEqual(settings.storeID, expectedSettings.storeID)
36+
#expect(settings.storeID == expectedSettings.storeID)
4337
}
4438

45-
func test_setStoreSettings_saves_settings_successfully() throws {
39+
@Test func setStoreSettings_saves_settings_successfully() async throws {
4640
// Given
4741
let settings = GeneralStoreSettings(storeID: "test-store")
48-
let expectation = self.expectation(description: "Settings saved")
4942

5043
// When
51-
sut.setStoreSettings(settings: settings, for: siteID) { result in
52-
switch result {
53-
case .success:
54-
expectation.fulfill()
55-
case .failure:
56-
XCTFail("Expected success but got failure")
44+
try await withCheckedThrowingContinuation { continuation in
45+
sut.setStoreSettings(settings: settings, for: siteID) { result in
46+
continuation.resume(with: result)
5747
}
5848
}
5949

6050
// Then
61-
wait(for: [expectation], timeout: 1)
6251
let savedData: GeneralStoreSettingsBySite = try fileStorage.data(for: SiteSpecificAppSettingsStoreMethods.defaultGeneralStoreSettingsFileURL)
63-
XCTAssertEqual(savedData.storeSettingsBySite[siteID]?.storeID, settings.storeID)
52+
#expect(savedData.storeSettingsBySite[siteID]?.storeID == settings.storeID)
6453
}
6554

66-
func test_setStoreSettings_preserves_existing_settings_for_other_sites() throws {
55+
@Test func setStoreSettings_preserves_existing_settings_for_other_sites() async throws {
6756
// Given
6857
let otherSiteID: Int64 = 456
6958
let otherSiteSettings = GeneralStoreSettings(storeID: "other-store")
7059
let existingData = GeneralStoreSettingsBySite(storeSettingsBySite: [otherSiteID: otherSiteSettings])
7160
try fileStorage.write(existingData, to: SiteSpecificAppSettingsStoreMethods.defaultGeneralStoreSettingsFileURL)
7261

7362
let newSettings = GeneralStoreSettings(storeID: "test-store")
74-
let expectation = self.expectation(description: "Settings saved")
7563

7664
// When
77-
sut.setStoreSettings(settings: newSettings, for: siteID) { result in
78-
switch result {
79-
case .success:
80-
expectation.fulfill()
81-
case .failure:
82-
XCTFail("Expected success but got failure")
65+
try await withCheckedThrowingContinuation { continuation in
66+
sut.setStoreSettings(settings: newSettings, for: siteID) { result in
67+
continuation.resume(with: result)
8368
}
8469
}
8570

8671
// Then
87-
wait(for: [expectation], timeout: 1)
8872
let savedData: GeneralStoreSettingsBySite = try fileStorage.data(for: SiteSpecificAppSettingsStoreMethods.defaultGeneralStoreSettingsFileURL)
89-
XCTAssertEqual(savedData.storeSettingsBySite[siteID]?.storeID, newSettings.storeID)
90-
XCTAssertEqual(savedData.storeSettingsBySite[otherSiteID]?.storeID, otherSiteSettings.storeID)
73+
#expect(savedData.storeSettingsBySite[siteID]?.storeID == newSettings.storeID)
74+
#expect(savedData.storeSettingsBySite[otherSiteID]?.storeID == otherSiteSettings.storeID)
9175
}
9276

93-
func test_resetStoreSettings_deletes_the_settings_file() throws {
77+
@Test func resetStoreSettings_deletes_the_settings_file() throws {
9478
// Given
9579
let settings = GeneralStoreSettings(storeID: "test-store")
9680
try fileStorage.write(GeneralStoreSettingsBySite(storeSettingsBySite: [siteID: settings]),
97-
to: SiteSpecificAppSettingsStoreMethods.defaultGeneralStoreSettingsFileURL)
81+
to: SiteSpecificAppSettingsStoreMethods.defaultGeneralStoreSettingsFileURL)
9882

9983
// When
10084
sut.resetStoreSettings()
10185

10286
// Then
103-
XCTAssertTrue(fileStorage.deleteIsHit)
87+
#expect(fileStorage.deleteIsHit == true)
10488
}
10589

10690
// MARK: - Store ID Tests
10791

108-
func test_setStoreID_updates_store_settings() throws {
92+
@Test func setStoreID_updates_store_settings() throws {
10993
// Given
11094
let storeID = "test-store-id"
11195
let existingSettings = GeneralStoreSettingsBySite(storeSettingsBySite: [siteID: GeneralStoreSettings()])
@@ -116,10 +100,10 @@ final class SiteSpecificAppSettingsStoreMethodsTests: XCTestCase {
116100

117101
// Then
118102
let savedData: GeneralStoreSettingsBySite = try fileStorage.data(for: SiteSpecificAppSettingsStoreMethods.defaultGeneralStoreSettingsFileURL)
119-
XCTAssertEqual(savedData.storeSettingsBySite[siteID]?.storeID, storeID)
103+
#expect(savedData.storeSettingsBySite[siteID]?.storeID == storeID)
120104
}
121105

122-
func test_getStoreID_retrieves_saved_store_id() throws {
106+
@Test func getStoreID_retrieves_saved_store_id() throws {
123107
// Given
124108
let storeID = "test-store-id"
125109
let existingSettings = GeneralStoreSettingsBySite(storeSettingsBySite: [siteID: GeneralStoreSettings(storeID: storeID)])
@@ -132,20 +116,20 @@ final class SiteSpecificAppSettingsStoreMethodsTests: XCTestCase {
132116
}
133117

134118
// Then
135-
XCTAssertEqual(retrievedStoreID, storeID)
119+
#expect(retrievedStoreID == storeID)
136120
}
137121

138122
// MARK: - Search Terms Tests
139123

140-
func test_getSearchTerms_returns_empty_array_when_no_terms_exist() {
124+
@Test func getSearchTerms_returns_empty_array_when_no_terms_exist() {
141125
// When
142126
let terms = sut.getSearchTerms(for: .product, siteID: siteID)
143127

144128
// Then
145-
XCTAssertTrue(terms.isEmpty)
129+
#expect(terms.isEmpty)
146130
}
147131

148-
func test_getSearchTerms_returns_saved_terms() throws {
132+
@Test func getSearchTerms_returns_saved_terms() throws {
149133
// Given
150134
let expectedTerms = ["term1", "term2", "term3"]
151135
let storeSettings = GeneralStoreSettings(searchTermsByKey: ["product_search_terms": expectedTerms])
@@ -156,10 +140,10 @@ final class SiteSpecificAppSettingsStoreMethodsTests: XCTestCase {
156140
let terms = sut.getSearchTerms(for: .product, siteID: siteID)
157141

158142
// Then
159-
XCTAssertEqual(terms, expectedTerms)
143+
#expect(terms == expectedTerms)
160144
}
161145

162-
func test_setSearchTerms_saves_terms_successfully() throws {
146+
@Test func setSearchTerms_saves_terms_successfully() throws {
163147
// Given
164148
let terms = ["term1", "term2", "term3"]
165149
let existingSettings = GeneralStoreSettingsBySite(storeSettingsBySite: [siteID: GeneralStoreSettings()])
@@ -170,10 +154,10 @@ final class SiteSpecificAppSettingsStoreMethodsTests: XCTestCase {
170154

171155
// Then
172156
let savedData: GeneralStoreSettingsBySite = try fileStorage.data(for: SiteSpecificAppSettingsStoreMethods.defaultGeneralStoreSettingsFileURL)
173-
XCTAssertEqual(savedData.storeSettingsBySite[siteID]?.searchTermsByKey["product_search_terms"], terms)
157+
#expect(savedData.storeSettingsBySite[siteID]?.searchTermsByKey["product_search_terms"] == terms)
174158
}
175159

176-
func test_setSearchTerms_preserves_existing_terms_for_other_item_types() throws {
160+
@Test func setSearchTerms_preserves_existing_terms_for_other_item_types() throws {
177161
// Given
178162
let existingTerms = ["existing1", "existing2"]
179163
let storeSettings = GeneralStoreSettings(searchTermsByKey: ["variation_search_terms": existingTerms])
@@ -185,11 +169,11 @@ final class SiteSpecificAppSettingsStoreMethodsTests: XCTestCase {
185169

186170
// Then
187171
let savedData: GeneralStoreSettingsBySite = try fileStorage.data(for: SiteSpecificAppSettingsStoreMethods.defaultGeneralStoreSettingsFileURL)
188-
XCTAssertEqual(savedData.storeSettingsBySite[siteID]?.searchTermsByKey["product_search_terms"], newTerms)
189-
XCTAssertEqual(savedData.storeSettingsBySite[siteID]?.searchTermsByKey["variation_search_terms"], existingTerms)
172+
#expect(savedData.storeSettingsBySite[siteID]?.searchTermsByKey["product_search_terms"] == newTerms)
173+
#expect(savedData.storeSettingsBySite[siteID]?.searchTermsByKey["variation_search_terms"] == existingTerms)
190174
}
191175

192-
func test_setSearchTerms_preserves_existing_terms_for_other_sites() throws {
176+
@Test func setSearchTerms_preserves_existing_terms_for_other_sites() throws {
193177
// Given
194178
let otherSiteID: Int64 = 456
195179
let otherSiteTerms = ["other1", "other2"]
@@ -202,11 +186,11 @@ final class SiteSpecificAppSettingsStoreMethodsTests: XCTestCase {
202186

203187
// Then
204188
let savedData: GeneralStoreSettingsBySite = try fileStorage.data(for: SiteSpecificAppSettingsStoreMethods.defaultGeneralStoreSettingsFileURL)
205-
XCTAssertEqual(savedData.storeSettingsBySite[siteID]?.searchTermsByKey["product_search_terms"], newTerms)
206-
XCTAssertEqual(savedData.storeSettingsBySite[otherSiteID]?.searchTermsByKey["product_search_terms"], otherSiteTerms)
189+
#expect(savedData.storeSettingsBySite[siteID]?.searchTermsByKey["product_search_terms"] == newTerms)
190+
#expect(savedData.storeSettingsBySite[otherSiteID]?.searchTermsByKey["product_search_terms"] == otherSiteTerms)
207191
}
208192

209-
func test_resetStoreSettings_clears_search_terms() throws {
193+
@Test func resetStoreSettings_clears_search_terms() throws {
210194
// Given
211195
let terms = ["term1", "term2"]
212196
let storeSettings = GeneralStoreSettings(searchTermsByKey: ["product_search_terms": terms])
@@ -217,12 +201,12 @@ final class SiteSpecificAppSettingsStoreMethodsTests: XCTestCase {
217201
sut.resetStoreSettings()
218202

219203
// Then
220-
XCTAssertTrue(fileStorage.deleteIsHit)
204+
#expect(fileStorage.deleteIsHit == true)
221205
let savedTerms = sut.getSearchTerms(for: .product, siteID: siteID)
222-
XCTAssertTrue(savedTerms.isEmpty)
206+
#expect(savedTerms.isEmpty)
223207
}
224208

225-
func test_search_terms_work_for_all_item_types() throws {
209+
@Test func search_terms_work_for_all_item_types() throws {
226210
// Given
227211
let productTerms = ["product1", "product2"]
228212
let variationTerms = ["variation1", "variation2"]
@@ -241,9 +225,9 @@ final class SiteSpecificAppSettingsStoreMethodsTests: XCTestCase {
241225
let retrievedCouponTerms = sut.getSearchTerms(for: .coupon, siteID: siteID)
242226

243227
// Then
244-
XCTAssertEqual(retrievedProductTerms, productTerms)
245-
XCTAssertEqual(retrievedVariationTerms, variationTerms)
246-
XCTAssertEqual(retrievedCouponTerms, couponTerms)
228+
#expect(retrievedProductTerms == productTerms)
229+
#expect(retrievedVariationTerms == variationTerms)
230+
#expect(retrievedCouponTerms == couponTerms)
247231
}
248232
}
249233

0 commit comments

Comments
 (0)