Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: can not delete friendship request #659

Merged
merged 4 commits into from
Aug 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions AVOS/LeanCloudObjcTests/BaseTestCase.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ class BaseTestCase: XCTestCase {
id: "S5vDI3IeCk1NLLiM1aFg3262-gzGzoHsz",
key: "7g5pPsI55piz2PRLPWK5MPz0",
serverURL: "https://s5vdi3ie.lc-cn-n1-shared.com",
// serverURL: "https://beta.leancloud.cn",
masterKey: "Q26gTodbyi1Ki7lM9vtncF6U,master")

static let ceApp = AppInfo(
Expand Down Expand Up @@ -67,6 +68,11 @@ class BaseTestCase: XCTestCase {
LCFile.clearAllPersistentCache()
super.tearDown()
}

override func tearDown() {
LCUser.logOut()
super.tearDown()
}
}

extension BaseTestCase {
Expand Down
6 changes: 0 additions & 6 deletions AVOS/LeanCloudObjcTests/LCLeaderboardTestCase.swift
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,6 @@ class LCLeaderboardTestCase: BaseTestCase {
}

func testGetUserStatistics() {
defer {
LCUser.logOut()
}
let user = LCUser()
expecting { exp in
user.login(withAuthData: ["openid" : uuid], platformId: "test", options: nil) { _, error in
Expand Down Expand Up @@ -328,9 +325,6 @@ class LCLeaderboardTestCase: BaseTestCase {
}

func testGetUserRankings() {
defer {
LCUser.logOut()
}
let object = LCObject()
XCTAssertTrue(object.save())
let user = LCUser()
Expand Down
125 changes: 50 additions & 75 deletions AVOS/LeanCloudObjcTests/LCUserTestCase.swift
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ class LCUserTestCase: BaseTestCase {
exp.fulfill()
}
}
LCUser.logOut()
*/
}

Expand Down Expand Up @@ -106,17 +105,13 @@ class LCUserTestCase: BaseTestCase {
exp.fulfill()
}
}
LCUser.logOut()
*/
}

func testFriendshipRequestAccept() {
let openid_1 = uuid
let openid_2 = uuid

let user_1 = LCUser()
expecting { exp in
user_1.login(withAuthData: ["openid": openid_1], platformId: "test", options: nil) { succeeded, error in
user_1.login(withAuthData: ["openid": uuid], platformId: "test", options: nil) { succeeded, error in
XCTAssertTrue(succeeded)
XCTAssertNil(error)
exp.fulfill()
Expand All @@ -132,7 +127,7 @@ class LCUserTestCase: BaseTestCase {

let user_2 = LCUser()
expecting { exp in
user_2.login(withAuthData: ["openid": openid_2], platformId: "test", options: nil) { succeeded, error in
user_2.login(withAuthData: ["openid": uuid], platformId: "test", options: nil) { succeeded, error in
XCTAssertTrue(succeeded)
XCTAssertNil(error)
exp.fulfill()
Expand All @@ -153,31 +148,25 @@ class LCUserTestCase: BaseTestCase {
}
}

LCUser.logOut()
LCUser.changeCurrentUser(user_1, save: false)

var query: LCQuery!
expecting(description: "Accept Friendship Request", count: 3) { exp in
user_1.login(withAuthData: ["openid": openid_1], platformId: "test", options: nil) { succeeded, error in
expecting(description: "Accept Friendship Request", count: 2) { exp in
query = LCFriendshipRequest.query()
query.findObjectsInBackground { requests, error in
let request = requests?.first as? LCFriendshipRequest
let friend = request?["friend"] as? LCUser
let user = request?["user"] as? LCUser
XCTAssertNotNil(request)
XCTAssertNotNil(friend)
XCTAssertNotNil(user)
XCTAssertNil(error)
exp.fulfill()
if succeeded {
query = LCFriendshipRequest.query()
query.findObjectsInBackground { requests, error in
let request = requests?.first as? LCFriendshipRequest
let friend = request?["friend"] as? LCUser
let user = request?["user"] as? LCUser
XCTAssertNotNil(request)
XCTAssertNotNil(friend)
XCTAssertNotNil(user)
if let request = request {
LCFriendship.accept(request, attributes: ["group": "music"]) { succeeded, error in
XCTAssertTrue(succeeded)
XCTAssertNil(error)
exp.fulfill()
if let request = request {
LCFriendship.accept(request, attributes: ["group": "music"]) { succeeded, error in
XCTAssertTrue(succeeded)
XCTAssertNil(error)
exp.fulfill()
}
}
}
}
}
Expand All @@ -195,50 +184,39 @@ class LCUserTestCase: BaseTestCase {
}
}

LCUser.logOut()
LCUser.changeCurrentUser(user_2, save: false)

expecting(count: 4) { exp in
user_2.login(withAuthData: ["openid": openid_2], platformId: "test", options: nil) { succeeded, error in
expecting(count: 3) { exp in
query = user_2.followeeObjectsQuery()
query.whereKey("friendStatus", equalTo: true)
query.findObjectsInBackground { followees, error in
let followee = followees?.first as? LCObject
XCTAssertNotNil(followee)
XCTAssertEqual(followee?["group"] as? String, "sport")
XCTAssertNil(error)
exp.fulfill()
if succeeded {
query = user_2.followeeObjectsQuery()
query.whereKey("friendStatus", equalTo: true)
query.findObjectsInBackground { followees, error in
let followee = followees?.first as? LCObject
XCTAssertNotNil(followee)
XCTAssertEqual(followee?["group"] as? String, "sport")
if let followee = followee {
followee["group"] = "music"
followee.saveInBackground { succeeded, error in
XCTAssertNil(error)
exp.fulfill()
if let followee = followee {
followee["group"] = "music"
followee.saveInBackground { succeeded, error in
if succeeded {
user_2.unfollow(user_1.objectId!) { succeeded, error in
XCTAssertTrue(succeeded)
XCTAssertNil(error)
exp.fulfill()
if succeeded {
user_2.unfollow(user_1.objectId!) { succeeded, error in
XCTAssertTrue(succeeded)
XCTAssertNil(error)
exp.fulfill()
}
}
}
}
}
}
}
}

LCUser.logOut()
}

func testFriendshipRequestDecline() {
let openid_1 = uuid
let openid_2 = uuid

let user_1 = LCUser()
expecting { exp in
user_1.login(withAuthData: ["openid": openid_1], platformId: "test", options: nil) { succeeded, error in
user_1.login(withAuthData: ["openid": uuid], platformId: "test", options: nil) { succeeded, error in
XCTAssertTrue(succeeded)
XCTAssertNil(error)
exp.fulfill()
Expand All @@ -254,7 +232,7 @@ class LCUserTestCase: BaseTestCase {

let user_2 = LCUser()
expecting { exp in
user_2.login(withAuthData: ["openid": openid_2], platformId: "test", options: nil) { succeeded, error in
user_2.login(withAuthData: ["openid": uuid], platformId: "test", options: nil) { succeeded, error in
XCTAssertTrue(succeeded)
XCTAssertNil(error)
exp.fulfill()
Expand All @@ -275,37 +253,31 @@ class LCUserTestCase: BaseTestCase {
}
}

LCUser.logOut()
LCUser.changeCurrentUser(user_1, save: false)

var query: LCQuery!
expecting(description: "Decline Friendship Request", count: 3) { exp in
user_1.login(withAuthData: ["openid": openid_1], platformId: "test", options: nil) { succeeded, error in
expecting(description: "Decline Friendship Request", count: 2) { exp in
query = LCFriendshipRequest.query()
query.findObjectsInBackground { requests, error in
let request = requests?.first as? LCFriendshipRequest
let friend = request?["friend"] as? LCUser
let user = request?["user"] as? LCUser
XCTAssertNotNil(request)
XCTAssertNotNil(friend)
XCTAssertNotNil(user)
XCTAssertNil(error)
exp.fulfill()
if succeeded {
query = LCFriendshipRequest.query()
query.findObjectsInBackground { requests, error in
let request = requests?.first as? LCFriendshipRequest
let friend = request?["friend"] as? LCUser
let user = request?["user"] as? LCUser
XCTAssertNotNil(request)
XCTAssertNotNil(friend)
XCTAssertNotNil(user)
if let request = request {
LCFriendship.declineRequest(request) { succeeded, error in
XCTAssertTrue(succeeded)
XCTAssertNil(error)
exp.fulfill()
if let request = request {
LCFriendship.declineRequest(request) { succeeded, error in
XCTAssertTrue(succeeded)
XCTAssertNil(error)
exp.fulfill()
}
}
}
}
}
}

expecting { exp in
expecting(description: "Delete Friendship Request", count: 2) { exp in
query = LCFriendshipRequest.query()
query.whereKey("status", equalTo: "declined")
query.findObjectsInBackground { requests, error in
Expand All @@ -317,9 +289,12 @@ class LCUserTestCase: BaseTestCase {
XCTAssertNotNil(user)
XCTAssertNil(error)
exp.fulfill()
request?.deleteInBackground({ succeeded, error in
XCTAssertTrue(succeeded)
XCTAssertNil(error)
exp.fulfill()
})
}
}

LCUser.logOut()
}
}
8 changes: 4 additions & 4 deletions AVOS/Sources/Foundation/Object/LCObjectUtils.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,18 +60,18 @@
+ (NSMutableDictionary *)objectSnapshot:(LCObject *)object;
+ (NSMutableDictionary *)objectSnapshot:(LCObject *)object recursive:(BOOL)recursive;

+(LCObject *)lcObjectFromDictionary:(NSDictionary *)dict;
+(LCObject *)lcObjectForClass:(NSString *)className;
+(LCObject *)targetObjectFromRelationDictionary:(NSDictionary *)dict;
+ (LCObject *)lcObjectForClass:(NSString *)className;
+ (LCObject *)lcObjectFromDictionary:(NSDictionary *)dictionary;
+ (LCObject *)targetObjectFromRelationDictionary:(NSDictionary *)dictionary;

+(NSSet *)allObjectProperties:(Class)objectClass;

#pragma mark - Rebuild Relation
+(void)setupRelation:(LCObject *)parent
withDictionary:(NSDictionary *)relationMap;

// MARK: Batch Request from operation list

#pragma mark - batch request from operation list
+ (BOOL)isUserClass:(NSString *)className;
+ (BOOL)isRoleClass:(NSString *)className;
+ (BOOL)isFileClass:(NSString *)className;
Expand Down
Loading