Files
Termind/TFMTests/CommandNotificationRenderingTests.swift

38 lines
1.4 KiB
Swift

// SPDX-FileCopyrightText: 2026 Kaede Akino
// SPDX-License-Identifier: GPL-3.0-only
import AppKit
import TermindApplication
import TermindDomain
import TermindPresentation
import Testing
@testable import Termind
@Suite(.requiresVisibleWindow, .serialized) @MainActor
struct CommandNotificationRenderingTests {
@Test func transfersNotificationOpensAndReusesTheTransfersWindow() throws {
let app = AppModel(hosts: HostLibraryModel())
let originalWindows = Set(NSApp.windows.map(ObjectIdentifier.init))
defer {
app.mainWindows.saveSizeForTermination()
app.shutdownForTermination()
}
app.mainWindows.showTransfers()
let window = try #require(NSApp.windows.first { !originalWindows.contains(ObjectIdentifier($0)) })
#expect(window.title == String(localized: AppStrings.SFTP.transfers))
#expect(window.isVisible)
#expect(window.contentViewController != nil)
app.mainWindows.showTransfers()
#expect(NSApp.windows.filter { !originalWindows.contains(ObjectIdentifier($0)) }.count == 1)
window.miniaturize(nil)
app.mainWindows.showTransfers()
#expect(!window.isMiniaturized)
window.close()
#expect(!window.isVisible)
app.mainWindows.showTransfers()
#expect(window.isVisible)
#expect(NSApp.windows.filter { !originalWindows.contains(ObjectIdentifier($0)) }.count == 1)
}
}