mirror of
https://github.com/Ranchero-Software/NetNewsWire.git
synced 2024-12-12 01:17:29 +01:00
69 lines
2.1 KiB
Swift
69 lines
2.1 KiB
Swift
|
//
|
||
|
// AccountFolderContentsSyncTest.swift
|
||
|
// AccountTests
|
||
|
//
|
||
|
// Created by Maurice Parker on 5/7/19.
|
||
|
// Copyright © 2019 Ranchero Software, LLC. All rights reserved.
|
||
|
//
|
||
|
|
||
|
import XCTest
|
||
|
@testable import Account
|
||
|
|
||
|
class AccountFolderContentsSyncTest: XCTestCase {
|
||
|
|
||
|
override func setUp() {
|
||
|
}
|
||
|
|
||
|
override func tearDown() {
|
||
|
}
|
||
|
|
||
|
func testDownloadSync() {
|
||
|
|
||
|
let testTransport = TestTransport()
|
||
|
testTransport.testFiles["https://api.feedbin.com/v2/tags.json"] = "tags_add.json"
|
||
|
testTransport.testFiles["https://api.feedbin.com/v2/subscriptions.json"] = "subscriptions_initial.json"
|
||
|
testTransport.testFiles["https://api.feedbin.com/v2/taggings.json"] = "taggings_initial.json"
|
||
|
testTransport.testFiles["https://api.feedbin.com/v2/icons.json"] = "icons.json"
|
||
|
let account = TestAccountManager.shared.createAccount(type: .feedbin, transport: testTransport)
|
||
|
|
||
|
// Test initial folders
|
||
|
let initialExpection = self.expectation(description: "Initial contents")
|
||
|
account.refreshAll() {
|
||
|
initialExpection.fulfill()
|
||
|
}
|
||
|
waitForExpectations(timeout: 5, handler: nil)
|
||
|
|
||
|
let folder = account.folders?.filter { $0.name == "Developers" } .first!
|
||
|
XCTAssertEqual(156, folder?.topLevelFeeds.count ?? 0)
|
||
|
XCTAssertEqual(2, account.topLevelFeeds.count)
|
||
|
|
||
|
// Test Adding a Feed to the folder
|
||
|
testTransport.testFiles["https://api.feedbin.com/v2/taggings.json"] = "taggings_add.json"
|
||
|
|
||
|
let addExpection = self.expectation(description: "Add contents")
|
||
|
account.refreshAll() {
|
||
|
addExpection.fulfill()
|
||
|
}
|
||
|
waitForExpectations(timeout: 5, handler: nil)
|
||
|
|
||
|
XCTAssertEqual(157, folder?.topLevelFeeds.count ?? 0)
|
||
|
XCTAssertEqual(1, account.topLevelFeeds.count)
|
||
|
|
||
|
// Test Deleting some Feeds from the folder
|
||
|
testTransport.testFiles["https://api.feedbin.com/v2/taggings.json"] = "taggings_delete.json"
|
||
|
|
||
|
let deleteExpection = self.expectation(description: "Delete contents")
|
||
|
account.refreshAll() {
|
||
|
deleteExpection.fulfill()
|
||
|
}
|
||
|
waitForExpectations(timeout: 5, handler: nil)
|
||
|
|
||
|
XCTAssertEqual(153, folder?.topLevelFeeds.count ?? 0)
|
||
|
XCTAssertEqual(5, account.topLevelFeeds.count)
|
||
|
|
||
|
TestAccountManager.shared.deleteAccount(account)
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|