Skip to content
This repository has been archived by the owner on Jun 30, 2023. It is now read-only.

Test friendships v1 #91

Merged
merged 13 commits into from
Mar 12, 2022
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ open class GetFriendshipsShowRequestV1: TwitterAPIRequest {

open var parameters: [String: Any] {
var p = [String: Any]()
sourceUser.bind(param: &p)
targetUser.bind(param: &p)
sourceUser.bind(param: &p, userIDKey: "source_id", screenNameKey: "source_screen_name")
targetUser.bind(param: &p, userIDKey: "target_id", screenNameKey: "target_screen_name")
return p
}

Expand Down
6 changes: 3 additions & 3 deletions Sources/TwitterAPIKit/APIv1/TwitterUserIdentifierV1.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ public enum TwitterUsersIdentifierV1 {
// MARK: - extensions

extension TwitterUserIdentifierV1 {
func bind(param: inout [String: Any]) {
func bind(param: inout [String: Any], userIDKey: String = "user_id", screenNameKey: String = "screen_name") {
switch self {
case .userID(let string):
param["user_id"] = string
param[userIDKey] = string
case .screenName(let string):
param["screen_name"] = string
param[screenNameKey] = string
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import TwitterAPIKit
import XCTest

class GetFollowersIDsRequestV1Tests: XCTestCase {
override func setUpWithError() throws {
}

override func tearDownWithError() throws {
}

func test() throws {
let req = GetFollowersIDsRequestV1(
user: .userID("uid"),
count: 10,
cursor: "_c_",
stringifyIDs: true
)

XCTAssertEqual(req.method, .get)
XCTAssertEqual(req.baseURLType, .api)
XCTAssertEqual(req.path, "/1.1/followers/ids.json")
XCTAssertEqual(req.bodyContentType, .wwwFormUrlEncoded)
AssertEqualAnyDict(
req.parameters,
[
"user_id": "uid",
"count": 10,
"cursor": "_c_",
"stringify_ids": true,
]
)
}

func testDefaultArg() throws {
let req = GetFollowersIDsRequestV1(
user: .screenName("s")
)

AssertEqualAnyDict(
req.parameters,
[
"screen_name": "s"
]
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import TwitterAPIKit
import XCTest

class GetFollowersListRequestV1Tests: XCTestCase {
override func setUpWithError() throws {
}

override func tearDownWithError() throws {
}

func test() throws {
let req = GetFollowersListRequestV1(
user: .userID("uid"),
count: 1,
cursor: "_c_",
skipStatus: true,
includeUserEntities: true
)

XCTAssertEqual(req.method, .get)
XCTAssertEqual(req.baseURLType, .api)
XCTAssertEqual(req.path, "/1.1/followers/list.json")
XCTAssertEqual(req.bodyContentType, .wwwFormUrlEncoded)
AssertEqualAnyDict(
req.parameters,
[
"user_id": "uid",
"count": 1,
"cursor": "_c_",
"skip_status": true,
"include_user_entities": true,
]
)
}

func testDefaultArg() throws {
let req = GetFollowersListRequestV1(
user: .screenName("s")
)

AssertEqualAnyDict(
req.parameters,
[
"screen_name": "s"
]
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import TwitterAPIKit
import XCTest

class GetFriendsIDsRequestV1Tests: XCTestCase {
override func setUpWithError() throws {
}

override func tearDownWithError() throws {
}

func test() throws {
let req = GetFriendsIDsRequestV1(
user: .userID("uid"),
count: 11,
cursor: "_c_",
stringifyIDs: true
)

XCTAssertEqual(req.method, .get)
XCTAssertEqual(req.baseURLType, .api)
XCTAssertEqual(req.path, "/1.1/friends/ids.json")
XCTAssertEqual(req.bodyContentType, .wwwFormUrlEncoded)
AssertEqualAnyDict(
req.parameters,
[
"user_id": "uid",
"count": 11,
"cursor": "_c_",
"stringify_ids": true,
]
)
}

func testDefaultArg() throws {
let req = GetFriendsIDsRequestV1(
user: .screenName("s")
)

AssertEqualAnyDict(
req.parameters,
[
"screen_name": "s"
]
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import TwitterAPIKit
import XCTest

class GetFriendsListRequestV1Tests: XCTestCase {
override func setUpWithError() throws {
}

override func tearDownWithError() throws {
}

func test() throws {
let req = GetFriendsListRequestV1(
user: .userID("uid"),
count: 1,
cursor: "_c_",
skipStatus: true,
includeUserEntities: true
)

XCTAssertEqual(req.method, .get)
XCTAssertEqual(req.baseURLType, .api)
XCTAssertEqual(req.path, "/1.1/friends/list.json")
XCTAssertEqual(req.bodyContentType, .wwwFormUrlEncoded)
AssertEqualAnyDict(
req.parameters,
[
"user_id": "uid",
"count": 1,
"cursor": "_c_",
"skip_status": true,
"include_user_entities": true,
]
)
}

func testDefaultArg() throws {
let req = GetFriendsListRequestV1(
user: .screenName("s")
)

AssertEqualAnyDict(
req.parameters,
[
"screen_name": "s"
]
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import TwitterAPIKit
import XCTest

class GetFriendshipsIncomingRequestV1Tests: XCTestCase {
override func setUpWithError() throws {
}

override func tearDownWithError() throws {
}

func test() throws {
let req = GetFriendshipsIncomingRequestV1(
cursor: "_c_",
stringifyIDs: true
)

XCTAssertEqual(req.method, .get)
XCTAssertEqual(req.baseURLType, .api)
XCTAssertEqual(req.path, "/1.1/friendships/incoming.json")
XCTAssertEqual(req.bodyContentType, .wwwFormUrlEncoded)
AssertEqualAnyDict(
req.parameters,
[
"cursor": "_c_",
"stringify_ids": true,
]
)
}

func testDefaultArg() throws {
let req = GetFriendshipsIncomingRequestV1()

AssertEqualAnyDict(
req.parameters,
[:]
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import TwitterAPIKit
import XCTest

class GetFriendshipsLookupRequestV1Tests: XCTestCase {
override func setUpWithError() throws {
}

override func tearDownWithError() throws {
}

func test() throws {
let req = GetFriendshipsLookupRequestV1(
users: .userIDs(["uid1", "uid2"])
)

XCTAssertEqual(req.method, .get)
XCTAssertEqual(req.baseURLType, .api)
XCTAssertEqual(req.path, "/1.1/friendships/lookup.json")
XCTAssertEqual(req.bodyContentType, .wwwFormUrlEncoded)
AssertEqualAnyDict(
req.parameters,
[
"user_id": "uid1,uid2"
]
)
}

func testScreenName() throws {
let req = GetFriendshipsLookupRequestV1(
users: .screenNames(["s1", "s2"])
)

XCTAssertEqual(req.bodyContentType, .wwwFormUrlEncoded)
AssertEqualAnyDict(
req.parameters,
[
"screen_name": "s1,s2"
]
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import TwitterAPIKit
import XCTest

class GetFriendshipsNoRetweetsIDsRequestV1Tests: XCTestCase {
override func setUpWithError() throws {
}

override func tearDownWithError() throws {
}

func test() throws {
let req = GetFriendshipsNoRetweetsIDsRequestV1(
stringifyIDs: true
)

XCTAssertEqual(req.method, .get)
XCTAssertEqual(req.baseURLType, .api)
XCTAssertEqual(req.path, "/1.1/friendships/no_retweets/ids.json")
XCTAssertEqual(req.bodyContentType, .wwwFormUrlEncoded)
AssertEqualAnyDict(
req.parameters,
[
"stringify_ids": true
]
)
}

func testDefaultArg() throws {
let req = GetFriendshipsNoRetweetsIDsRequestV1()

AssertEqualAnyDict(
req.parameters,
[:]
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import TwitterAPIKit
import XCTest

class GetFriendshipsOutgoingRequestV1Tests: XCTestCase {
override func setUpWithError() throws {
}

override func tearDownWithError() throws {
}

func test() throws {
let req = GetFriendshipsOutgoingRequestV1(
cursor: "_c_",
stringifyIDs: true
)

XCTAssertEqual(req.method, .get)
XCTAssertEqual(req.baseURLType, .api)
XCTAssertEqual(req.path, "/1.1/friendships/outgoing")
XCTAssertEqual(req.bodyContentType, .wwwFormUrlEncoded)
AssertEqualAnyDict(
req.parameters,
[
"cursor": "_c_",
"stringify_ids": true,
]
)
}

func testDefaultArg() throws {
let req = GetFriendshipsOutgoingRequestV1()

AssertEqualAnyDict(
req.parameters,
[:]
)
}
}
Loading