Files
ToastKit/Tests/ToastKitTests/ToastStackTests.swift
T
2025-04-18 22:15:53 +04:00

54 lines
1.2 KiB
Swift

import XCTest
@testable import ToastKit
final class ToastStackTests: XCTestCase {
private var sut: ToastStackManager!
override func setUpWithError() throws {
sut = ToastStackManager()
}
override func tearDownWithError() throws {
sut = nil
}
@MainActor func testAddToastToStack() throws {
//Given
XCTAssertTrue(sut.toasts.isEmpty)
//When
sut.show(title: "test", toastColor: .success, autoDisappearDuration: 2)
//Then
XCTAssertEqual(sut.toasts.count, 1)
}
@MainActor func testToastDissapearWithDuration() async throws {
// Given
sut.show(title: "Auto Disappear", toastColor: .info, autoDisappearDuration: 2.0)
XCTAssertEqual(sut.toasts.count, 1)
Task {
// When
try await Task.sleep(nanoseconds: 2_000_000_000)
// Then
XCTAssertEqual(sut.toasts.count, 0)
}
}
func testRemoveToastFromToasts() throws {
//Given
let toast1 = ToastItemModel(title: "One", toastColor: .info, autoDisappearDuration: 2.0)
sut.toasts = [toast1]
XCTAssertEqual(sut.toasts.count, 1)
//When
sut.removeToast(toast1)
//Then
XCTAssertTrue(sut.toasts.isEmpty)
}
}