session-ios/SessionUtilitiesKitTests/General/DependenciesSpec.swift

44 lines
1.6 KiB
Swift

// Copyright © 2023 Rangeproof Pty Ltd. All rights reserved.
import Foundation
import Quick
import Nimble
@testable import SessionUtilitiesKit
class DependenciesSpec: QuickSpec {
override class func spec() {
// MARK: Configuration
@TestState var dependencies: Dependencies! = Dependencies()
// MARK: - Dependencies
describe("Dependencies") {
// MARK: -- when accessing dateNow
context("when accessing dateNow") {
// MARK: ---- creates a new date every time when not overwritten
it("creates a new date every time when not overwritten") {
let date1 = dependencies.dateNow
Thread.sleep(forTimeInterval: 0.05)
let date2 = dependencies.dateNow
expect(date1.timeIntervalSince1970).toNot(equal(date2.timeIntervalSince1970))
}
// MARK: ---- returns the same new date every time when overwritten
it("returns the same new date every time when overwritten") {
dependencies.dateNow = Date(timeIntervalSince1970: 1234567890)
let date1 = dependencies.dateNow
Thread.sleep(forTimeInterval: 0.05)
let date2 = dependencies.dateNow
expect(date1.timeIntervalSince1970).to(equal(date2.timeIntervalSince1970))
expect(date1.timeIntervalSince1970).to(equal(1234567890))
}
}
}
}
}