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

Commit f51e13d

Browse files
committed
Add a unit test for AnnouncementServiceRemote
1 parent 911a054 commit f51e13d

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

WordPressKit.xcodeproj/project.pbxproj

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@
187187
4AE278442B2FAF6200E4D9B1 /* HTTPProtocolHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AE278432B2FAF6200E4D9B1 /* HTTPProtocolHelpers.swift */; };
188188
4AE278482B2FBF1100E4D9B1 /* HTTPBodyEncodingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AE278472B2FBF1100E4D9B1 /* HTTPBodyEncodingTests.swift */; };
189189
4AE2784A2B2FC6C600E4D9B1 /* HTTPHeaderValueParserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AE278492B2FC6C600E4D9B1 /* HTTPHeaderValueParserTests.swift */; };
190+
4AE7E36B2B9A995500C8CED5 /* AnnouncementServiceRemoteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AE7E36A2B9A995500C8CED5 /* AnnouncementServiceRemoteTests.swift */; };
190191
57BCD3D426209D9500292CB3 /* AppTransportSecuritySettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57BCD3D326209D9500292CB3 /* AppTransportSecuritySettings.swift */; };
191192
730E869F21E44EFD00753E1A /* WordPressComServiceRemote+SiteVerticals.swift in Sources */ = {isa = PBXBuildFile; fileRef = 730E869E21E44EFD00753E1A /* WordPressComServiceRemote+SiteVerticals.swift */; };
192193
731BA83621DECD61000FDFCD /* SiteCreationRequestEncodingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 731BA83521DECD61000FDFCD /* SiteCreationRequestEncodingTests.swift */; };
@@ -908,6 +909,7 @@
908909
4AE278432B2FAF6200E4D9B1 /* HTTPProtocolHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HTTPProtocolHelpers.swift; sourceTree = "<group>"; };
909910
4AE278472B2FBF1100E4D9B1 /* HTTPBodyEncodingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HTTPBodyEncodingTests.swift; sourceTree = "<group>"; };
910911
4AE278492B2FC6C600E4D9B1 /* HTTPHeaderValueParserTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPHeaderValueParserTests.swift; sourceTree = "<group>"; };
912+
4AE7E36A2B9A995500C8CED5 /* AnnouncementServiceRemoteTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnnouncementServiceRemoteTests.swift; sourceTree = "<group>"; };
911913
57BCD3D326209D9500292CB3 /* AppTransportSecuritySettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppTransportSecuritySettings.swift; sourceTree = "<group>"; };
912914
6C2A33D76FD1052D6F30466D /* Pods-WordPressKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressKit.debug.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressKit/Pods-WordPressKit.debug.xcconfig"; sourceTree = "<group>"; };
913915
6F2E0CC4FA01B5475A378DA2 /* Pods-WordPressKitTests.release-alpha.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressKitTests.release-alpha.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressKitTests/Pods-WordPressKitTests.release-alpha.xcconfig"; sourceTree = "<group>"; };
@@ -1627,6 +1629,14 @@
16271629
name = BlockEditorSettings;
16281630
sourceTree = "<group>";
16291631
};
1632+
4AE7E3692B9A994200C8CED5 /* Announcement */ = {
1633+
isa = PBXGroup;
1634+
children = (
1635+
4AE7E36A2B9A995500C8CED5 /* AnnouncementServiceRemoteTests.swift */,
1636+
);
1637+
name = Announcement;
1638+
sourceTree = "<group>";
1639+
};
16301640
57A38E502624F7D000472480 /* WordPressAPI */ = {
16311641
isa = PBXGroup;
16321642
children = (
@@ -1832,6 +1842,7 @@
18321842
children = (
18331843
93BD273E1EE732CC002BB00B /* Accounts */,
18341844
826016FE1F9FD59400533B6C /* Activity */,
1845+
4AE7E3692B9A994200C8CED5 /* Announcement */,
18351846
F194E1212417ED7E00874408 /* Authentication */,
18361847
FAD1345425909DF500A8FEB1 /* Backup */,
18371848
FA1D0F8F299535020025D76C /* Blaze */,
@@ -3675,6 +3686,7 @@
36753686
46ABD0E0262EED3D00C7FF24 /* WordPressOrgXMLRPCValidatorTests.swift in Sources */,
36763687
D813437621F6D70D0060D99A /* SiteSegmentsResponseDecodingTests.swift in Sources */,
36773688
436D56382118DC4B00CEAA33 /* TransactionsServiceRemoteTests.swift in Sources */,
3689+
4AE7E36B2B9A995500C8CED5 /* AnnouncementServiceRemoteTests.swift in Sources */,
36783690
9F3E0BA82087355E009CB5BA /* RemoteReaderSiteInfoSubscriptionTests.swift in Sources */,
36793691
BA62CFE924B592E000978BE1 /* DynamicMockProvider.swift in Sources */,
36803692
24ADA24E24F9B32D001B5DAE /* FeatureFlagSerializationTest.swift in Sources */,
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import Foundation
2+
import XCTest
3+
import OHHTTPStubs
4+
5+
@testable import WordPressKit
6+
7+
class AnnouncementServiceRemoteTests: XCTestCase {
8+
9+
func testNoAnnouncement() {
10+
stub(condition: isPath("/wpcom/v2/mobile/feature-announcements") && containsQueryParams(["app_id": "test-app"])) { _ in
11+
HTTPStubsResponse(jsonObject: ["announcements": [String]()], statusCode: 200, headers: nil)
12+
}
13+
14+
let remote = AnnouncementServiceRemote(wordPressComRestApi: .init(oAuthToken: "fake"))
15+
var result: Result<[Announcement], Error>? = nil
16+
let completed = expectation(description: "API call completed")
17+
remote.getAnnouncements(appId: "test-app", appVersion: "2.0", locale: "en") {
18+
result = $0
19+
completed.fulfill()
20+
}
21+
wait(for: [completed], timeout: 0.3)
22+
23+
try XCTAssertEqual(XCTUnwrap(result).get().count, 0)
24+
}
25+
26+
}

0 commit comments

Comments
 (0)