65 lines
2.2 KiB
Swift
65 lines
2.2 KiB
Swift
//
|
|
// AccountFullSyncTest.swift
|
|
// AccountTests
|
|
//
|
|
// Created by Maurice Parker on 5/6/19.
|
|
// Copyright © 2019 Ranchero Software, LLC. All rights reserved.
|
|
//
|
|
|
|
import XCTest
|
|
@testable import Account
|
|
|
|
class AccountFeedSyncTest: 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/icons.json"] = "icons.json"
|
|
let account = TestAccountManager.shared.createAccount(type: .feedbin, transport: testTransport)
|
|
|
|
// Test initial folders
|
|
let initialExpection = self.expectation(description: "Initial feeds")
|
|
account.refreshAll() { _ in
|
|
initialExpection.fulfill()
|
|
}
|
|
waitForExpectations(timeout: 5, handler: nil)
|
|
|
|
XCTAssertEqual(224, account.flattenedFeeds().count)
|
|
|
|
let daringFireball = account.idToFeedDictionary["1296379"]
|
|
XCTAssertEqual("Daring Fireball", daringFireball!.name)
|
|
XCTAssertEqual("https://daringfireball.net/feeds/json", daringFireball!.url)
|
|
XCTAssertEqual("https://daringfireball.net/", daringFireball!.homePageURL)
|
|
XCTAssertEqual("https://favicons.feedbinusercontent.com/6ac/6acc098f35ed2bcc0915ca89d50a97e5793eda45.png", daringFireball!.faviconURL)
|
|
|
|
// Test Adding a Feed
|
|
testTransport.testFiles["https://api.feedbin.com/v2/subscriptions.json"] = "subscriptions_add.json"
|
|
|
|
let addExpection = self.expectation(description: "Add feeds")
|
|
account.refreshAll() { _ in
|
|
addExpection.fulfill()
|
|
}
|
|
waitForExpectations(timeout: 5, handler: nil)
|
|
|
|
XCTAssertEqual(225, account.flattenedFeeds().count)
|
|
|
|
let bPixels = account.idToFeedDictionary["1096623"]
|
|
XCTAssertEqual("Beautiful Pixels", bPixels!.name)
|
|
XCTAssertEqual("https://feedpress.me/beautifulpixels", bPixels!.url)
|
|
XCTAssertEqual("https://beautifulpixels.com/", bPixels!.homePageURL)
|
|
XCTAssertEqual("https://favicons.feedbinusercontent.com/ea0/ea010c658d6e356e49ab239b793dc415af707b05.png", bPixels?.faviconURL)
|
|
|
|
TestAccountManager.shared.deleteAccount(account)
|
|
|
|
}
|
|
|
|
}
|