81 lines
2.5 KiB
Swift
81 lines
2.5 KiB
Swift
import PMKAccounts
|
|
import PromiseKit
|
|
import Accounts
|
|
import XCTest
|
|
|
|
class Test_ACAccountStore_Swift: XCTestCase {
|
|
var dummy: ACAccount { return ACAccount() }
|
|
|
|
func test_renewCredentialsForAccount() {
|
|
let ex = expectation(description: "")
|
|
|
|
class MockAccountStore: ACAccountStore {
|
|
override func renewCredentials(for account: ACAccount!, completion: ACAccountStoreCredentialRenewalHandler!) {
|
|
completion(.renewed, nil)
|
|
}
|
|
}
|
|
|
|
MockAccountStore().renewCredentials(for: dummy).done { result in
|
|
XCTAssertEqual(result, ACAccountCredentialRenewResult.renewed)
|
|
ex.fulfill()
|
|
}.catch {
|
|
XCTFail("\($0)")
|
|
}
|
|
|
|
waitForExpectations(timeout: 1)
|
|
}
|
|
|
|
func test_requestAccessToAccountsWithType() {
|
|
class MockAccountStore: ACAccountStore {
|
|
override func requestAccessToAccounts(with accountType: ACAccountType!, options: [AnyHashable : Any]! = [:], completion: ACAccountStoreRequestAccessCompletionHandler!) {
|
|
completion(true, nil)
|
|
}
|
|
}
|
|
|
|
let ex = expectation(description: "")
|
|
let store = MockAccountStore()
|
|
let type = store.accountType(withAccountTypeIdentifier: ACAccountTypeIdentifierFacebook)!
|
|
store.requestAccessToAccounts(with: type).done { _ in
|
|
ex.fulfill()
|
|
}.catch {
|
|
XCTFail("\($0)")
|
|
}
|
|
|
|
waitForExpectations(timeout: 1)
|
|
}
|
|
|
|
func test_saveAccount() {
|
|
class MockAccountStore: ACAccountStore {
|
|
override func saveAccount(_ account: ACAccount!, withCompletionHandler completionHandler: ACAccountStoreSaveCompletionHandler!) {
|
|
completionHandler(true, nil)
|
|
}
|
|
}
|
|
|
|
let ex = expectation(description: "")
|
|
MockAccountStore().saveAccount(dummy).done { _ in
|
|
ex.fulfill()
|
|
}.catch {
|
|
XCTFail("\($0)")
|
|
}
|
|
|
|
waitForExpectations(timeout: 1)
|
|
}
|
|
|
|
func test_removeAccount() {
|
|
class MockAccountStore: ACAccountStore {
|
|
override func removeAccount(_ account: ACAccount!, withCompletionHandler completionHandler: ACAccountStoreSaveCompletionHandler!) {
|
|
completionHandler(true, nil)
|
|
}
|
|
}
|
|
|
|
let ex = expectation(description: "")
|
|
MockAccountStore().removeAccount(dummy).done { _ in
|
|
ex.fulfill()
|
|
}.catch {
|
|
XCTFail("\($0)")
|
|
}
|
|
|
|
waitForExpectations(timeout: 1)
|
|
}
|
|
}
|