38 lines
1.4 KiB
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)
|
|
}
|
|
}
|