ssap_app/node_modules/expo-dev-launcher/ios/Tests/EXDevLauncherRecentlyOpened...

47 lines
1.3 KiB
Swift

import Quick
import Nimble
@testable import EXDevLauncher
class EXDevLauncherRecentlyOpenedAppsRegistryTest: QuickSpec {
override class func spec() {
let appsRegistry = EXDevLauncherRecentlyOpenedAppsRegistry()
beforeEach {
appsRegistry.resetStorage()
}
it("registry should be empty on start") {
expect(appsRegistry.recentlyOpenedApps().count).to(equal(0))
}
it("registry should update when apps are opened") {
let url1 = "http://localhost:1234"
let url2 = "http://localhost:9876"
appsRegistry.appWasOpened(url1, queryParams: [:], manifest: nil)
appsRegistry.appWasOpened(url2, queryParams: [:], manifest: nil)
let openedApps = appsRegistry.recentlyOpenedApps()
expect(openedApps.count).to(equal(2))
expect(openedApps.filter { appEntry in
appEntry["url"] as! String == url1
}.count).to(equal(1))
expect(openedApps.filter { appEntry in
appEntry["url"] as! String == url2
}.count).to(equal(1))
}
it("registry timestamp should be correct") {
let registerTimestamp = appsRegistry.getCurrentTimestamp()
let now = Int64(Date().timeIntervalSince1970 * 1_000)
expect(registerTimestamp).to(beLessThanOrEqualTo(now))
expect(registerTimestamp).to(beGreaterThan(now - 1_000))
}
}
}