From 6583688e38712e06172fe085e00e975b03454e36 Mon Sep 17 00:00:00 2001 From: Tim Ekl Date: Tue, 31 Dec 2019 19:06:10 -0600 Subject: [PATCH] Fix errors in Feedly unread operations tests Most fetch completion blocks took a parameter that was expected to be some result data type, but is now a Result. Rename these parameters; wrap their existing bodies in do/catch blocks; and recreate the original underlying variable using the result of `Result.get()`. Prepend a few synchronous calls that started throwing with `try` along the way. --- ...eedlySetUnreadArticlesOperationTests.swift | 184 +++++++++++------- 1 file changed, 117 insertions(+), 67 deletions(-) diff --git a/Frameworks/Account/AccountTests/Feedly/FeedlySetUnreadArticlesOperationTests.swift b/Frameworks/Account/AccountTests/Feedly/FeedlySetUnreadArticlesOperationTests.swift index e7e936e85..04ebb191d 100644 --- a/Frameworks/Account/AccountTests/Feedly/FeedlySetUnreadArticlesOperationTests.swift +++ b/Frameworks/Account/AccountTests/Feedly/FeedlySetUnreadArticlesOperationTests.swift @@ -49,10 +49,15 @@ class FeedlySetUnreadArticlesOperationTests: XCTestCase { waitForExpectations(timeout: 2) let fetchIdsExpectation = expectation(description: "Fetched Articles Ids") - account.fetchUnreadArticleIDs { accountArticlesIDs in - XCTAssertTrue(accountArticlesIDs.isEmpty) - XCTAssertEqual(accountArticlesIDs.count, testIds.count) - fetchIdsExpectation.fulfill() + account.fetchUnreadArticleIDs { accountArticlesIDsResult in + do { + let accountArticlesIDs = try accountArticlesIDsResult.get() + XCTAssertTrue(accountArticlesIDs.isEmpty) + XCTAssertEqual(accountArticlesIDs.count, testIds.count) + fetchIdsExpectation.fulfill() + } catch let e { + XCTFail("Error checking account articles IDs result: \(e)") + } } waitForExpectations(timeout: 2) @@ -74,9 +79,14 @@ class FeedlySetUnreadArticlesOperationTests: XCTestCase { waitForExpectations(timeout: 2) let fetchIdsExpectation = expectation(description: "Fetched Articles Ids") - account.fetchUnreadArticleIDs { accountArticlesIDs in - XCTAssertEqual(accountArticlesIDs.count, testIds.count) - fetchIdsExpectation.fulfill() + account.fetchUnreadArticleIDs { accountArticlesIDsResult in + do { + let accountArticlesIDs = try accountArticlesIDsResult.get() + XCTAssertEqual(accountArticlesIDs.count, testIds.count) + fetchIdsExpectation.fulfill() + } catch let e { + XCTFail("Error checking account articles IDs result: \(e)") + } } waitForExpectations(timeout: 2) } @@ -97,9 +107,14 @@ class FeedlySetUnreadArticlesOperationTests: XCTestCase { waitForExpectations(timeout: 2) let fetchIdsExpectation = expectation(description: "Fetched Articles Ids") - account.fetchUnreadArticleIDs { accountArticlesIDs in - XCTAssertEqual(accountArticlesIDs.count, testIds.count) - fetchIdsExpectation.fulfill() + account.fetchUnreadArticleIDs { accountArticlesIDsResult in + do { + let accountArticlesIDs = try accountArticlesIDsResult.get() + XCTAssertEqual(accountArticlesIDs.count, testIds.count) + fetchIdsExpectation.fulfill() + } catch let e { + XCTFail("Error checking account articles IDs result: \(e)") + } } waitForExpectations(timeout: 2) } @@ -135,9 +150,14 @@ class FeedlySetUnreadArticlesOperationTests: XCTestCase { waitForExpectations(timeout: 2) let fetchIdsExpectation = expectation(description: "Fetched Articles Ids") - account.fetchUnreadArticleIDs { remainingAccountArticlesIDs in - XCTAssertEqual(remainingAccountArticlesIDs, remainingUnreadIds) - fetchIdsExpectation.fulfill() + account.fetchUnreadArticleIDs { remainingAccountArticlesIDsResult in + do { + let remainingAccountArticlesIDs = try remainingAccountArticlesIDsResult.get() + XCTAssertEqual(remainingAccountArticlesIDs, remainingUnreadIds) + fetchIdsExpectation.fulfill() + } catch let e { + XCTFail("Error checking account articles IDs result: \(e)") + } } waitForExpectations(timeout: 2) } @@ -173,9 +193,14 @@ class FeedlySetUnreadArticlesOperationTests: XCTestCase { waitForExpectations(timeout: 2) let fetchIdsExpectation = expectation(description: "Fetched Articles Ids") - account.fetchUnreadArticleIDs { remainingAccountArticlesIDs in - XCTAssertEqual(remainingAccountArticlesIDs, remainingUnreadIds) - fetchIdsExpectation.fulfill() + account.fetchUnreadArticleIDs { remainingAccountArticlesIDsResult in + do { + let remainingAccountArticlesIDs = try remainingAccountArticlesIDsResult.get() + XCTAssertEqual(remainingAccountArticlesIDs, remainingUnreadIds) + fetchIdsExpectation.fulfill() + } catch let e { + XCTFail("Error checking account articles IDs result: \(e)") + } } waitForExpectations(timeout: 2) } @@ -222,15 +247,20 @@ class FeedlySetUnreadArticlesOperationTests: XCTestCase { waitForExpectations(timeout: 2) let fetchIdsExpectation = expectation(description: "Fetched Articles Ids") - account.fetchUnreadArticleIDs { accountArticlesIDs in - XCTAssertEqual(accountArticlesIDs, remainingUnreadIds) - let idsOfUnreadArticles = Set(self.account - .fetchArticles(.articleIDs(remainingUnreadIds)) - .filter { $0.status.boolStatus(forKey: .read) == false } - .map { $0.articleID }) - - XCTAssertEqual(idsOfUnreadArticles, remainingUnreadIds) - fetchIdsExpectation.fulfill() + account.fetchUnreadArticleIDs { accountArticlesIDsResult in + do { + let accountArticlesIDs = try accountArticlesIDsResult.get() + XCTAssertEqual(accountArticlesIDs, remainingUnreadIds) + let idsOfUnreadArticles = Set(try self.account + .fetchArticles(.articleIDs(remainingUnreadIds)) + .filter { $0.status.boolStatus(forKey: .read) == false } + .map { $0.articleID }) + + XCTAssertEqual(idsOfUnreadArticles, remainingUnreadIds) + fetchIdsExpectation.fulfill() + } catch let e { + XCTFail("Error checking account articles IDs result: \(e)") + } } waitForExpectations(timeout: 2) } @@ -275,16 +305,21 @@ class FeedlySetUnreadArticlesOperationTests: XCTestCase { waitForExpectations(timeout: 2) let fetchIdsExpectation = expectation(description: "Fetched Articles Ids") - account.fetchUnreadArticleIDs { accountArticlesIDs in - XCTAssertEqual(accountArticlesIDs, remainingUnreadIds) - - let idsOfUnreadArticles = Set(self.account - .fetchArticles(.articleIDs(remainingUnreadIds)) - .filter { $0.status.boolStatus(forKey: .read) == false } - .map { $0.articleID }) - - XCTAssertEqual(idsOfUnreadArticles, remainingUnreadIds) - fetchIdsExpectation.fulfill() + account.fetchUnreadArticleIDs { accountArticlesIDsResult in + do { + let accountArticlesIDs = try accountArticlesIDsResult.get() + XCTAssertEqual(accountArticlesIDs, remainingUnreadIds) + + let idsOfUnreadArticles = Set(try self.account + .fetchArticles(.articleIDs(remainingUnreadIds)) + .filter { $0.status.boolStatus(forKey: .read) == false } + .map { $0.articleID }) + + XCTAssertEqual(idsOfUnreadArticles, remainingUnreadIds) + fetchIdsExpectation.fulfill() + } catch let e { + XCTFail("Error checking account articles IDs result: \(e)") + } } } @@ -322,16 +357,21 @@ class FeedlySetUnreadArticlesOperationTests: XCTestCase { waitForExpectations(timeout: 2) let fetchIdsExpectation = expectation(description: "Fetched Articles Ids") - account.fetchUnreadArticleIDs { accountArticlesIDs in - XCTAssertEqual(accountArticlesIDs, remainingUnreadIds) - - let idsOfUnreadArticles = Set(self.account - .fetchArticles(.articleIDs(remainingUnreadIds)) - .filter { $0.status.boolStatus(forKey: .read) == false } - .map { $0.articleID }) - - XCTAssertEqual(idsOfUnreadArticles, remainingUnreadIds) - fetchIdsExpectation.fulfill() + account.fetchUnreadArticleIDs { accountArticlesIDsResult in + do { + let accountArticlesIDs = try accountArticlesIDsResult.get() + XCTAssertEqual(accountArticlesIDs, remainingUnreadIds) + + let idsOfUnreadArticles = Set(try self.account + .fetchArticles(.articleIDs(remainingUnreadIds)) + .filter { $0.status.boolStatus(forKey: .read) == false } + .map { $0.articleID }) + + XCTAssertEqual(idsOfUnreadArticles, remainingUnreadIds) + fetchIdsExpectation.fulfill() + } catch let e { + XCTFail("Error checking account articles IDs result: \(e)") + } } waitForExpectations(timeout: 2) } @@ -369,16 +409,21 @@ class FeedlySetUnreadArticlesOperationTests: XCTestCase { waitForExpectations(timeout: 2) let fetchIdsExpectation = expectation(description: "Fetched Articles Ids") - account.fetchUnreadArticleIDs { accountArticlesIDs in - XCTAssertEqual(accountArticlesIDs, remainingUnreadIds) - - let idsOfUnreadArticles = Set(self.account - .fetchArticles(.articleIDs(remainingUnreadIds)) - .filter { $0.status.boolStatus(forKey: .read) == false } - .map { $0.articleID }) - - XCTAssertEqual(idsOfUnreadArticles, remainingUnreadIds) - fetchIdsExpectation.fulfill() + account.fetchUnreadArticleIDs { accountArticlesIDsResult in + do { + let accountArticlesIDs = try accountArticlesIDsResult.get() + XCTAssertEqual(accountArticlesIDs, remainingUnreadIds) + + let idsOfUnreadArticles = Set(try self.account + .fetchArticles(.articleIDs(remainingUnreadIds)) + .filter { $0.status.boolStatus(forKey: .read) == false } + .map { $0.articleID }) + + XCTAssertEqual(idsOfUnreadArticles, remainingUnreadIds) + fetchIdsExpectation.fulfill() + } catch let e { + XCTFail("Error checking account articles IDs result: \(e)") + } } } @@ -418,18 +463,23 @@ class FeedlySetUnreadArticlesOperationTests: XCTestCase { waitForExpectations(timeout: 2) let fetchIdsExpectation = expectation(description: "Fetched Articles Ids") - account.fetchUnreadArticleIDs { accountArticlesIDs in - XCTAssertEqual(accountArticlesIDs, remainingUnreadIds) - - let someTestItems = Set(someItemsAndFeeds.flatMap { $0.value }) - let someRemainingUnreadIdsOfIngestedArticles = Set(someTestItems.compactMap { $0.syncServiceID }) - let idsOfUnreadArticles = Set(self.account - .fetchArticles(.articleIDs(someRemainingUnreadIdsOfIngestedArticles)) - .filter { $0.status.boolStatus(forKey: .read) == false } - .map { $0.articleID }) - - XCTAssertEqual(idsOfUnreadArticles, someRemainingUnreadIdsOfIngestedArticles) - fetchIdsExpectation.fulfill() + account.fetchUnreadArticleIDs { accountArticlesIDsResult in + do { + let accountArticlesIDs = try accountArticlesIDsResult.get() + XCTAssertEqual(accountArticlesIDs, remainingUnreadIds) + + let someTestItems = Set(someItemsAndFeeds.flatMap { $0.value }) + let someRemainingUnreadIdsOfIngestedArticles = Set(someTestItems.compactMap { $0.syncServiceID }) + let idsOfUnreadArticles = Set(try self.account + .fetchArticles(.articleIDs(someRemainingUnreadIdsOfIngestedArticles)) + .filter { $0.status.boolStatus(forKey: .read) == false } + .map { $0.articleID }) + + XCTAssertEqual(idsOfUnreadArticles, someRemainingUnreadIdsOfIngestedArticles) + fetchIdsExpectation.fulfill() + } catch let e { + XCTFail("Error checking account articles IDs result: \(e)") + } } } }