Refine app structure for persisted sessions and test coverage
CI / test (push) Has been cancelled

This commit is contained in:
2026-04-18 12:29:32 +02:00
parent 243029c798
commit d534964601
18 changed files with 1850 additions and 1162 deletions
+23
View File
@@ -0,0 +1,23 @@
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)
}
}