Files
swiftapp/Tests/OneTimePasscodeGeneratorTests.swift

24 lines
1.1 KiB
Swift
Raw Normal View History

import XCTest
@testable import IDPGlobal
final class OneTimePasscodeGeneratorTests: XCTestCase {
func testCodeStaysStableWithinWindow() {
let firstDate = Date(timeIntervalSince1970: 60)
let secondDate = Date(timeIntervalSince1970: 89)
let nextWindowDate = Date(timeIntervalSince1970: 90)
let firstCode = OneTimePasscodeGenerator.code(for: "pairing-payload", at: firstDate)
let secondCode = OneTimePasscodeGenerator.code(for: "pairing-payload", at: secondDate)
let nextWindowCode = OneTimePasscodeGenerator.code(for: "pairing-payload", at: nextWindowDate)
XCTAssertEqual(firstCode, secondCode)
XCTAssertNotEqual(firstCode, nextWindowCode)
}
func testRenewalCountdownResetsAtBoundary() {
XCTAssertEqual(OneTimePasscodeGenerator.renewalCountdown(at: Date(timeIntervalSince1970: 90)), 30)
XCTAssertEqual(OneTimePasscodeGenerator.renewalCountdown(at: Date(timeIntervalSince1970: 119)), 1)
XCTAssertEqual(OneTimePasscodeGenerator.renewalCountdown(at: Date(timeIntervalSince1970: 120)), 30)
}
}