68 lines
2.2 KiB
C#
68 lines
2.2 KiB
C#
// This Source Code Form is subject to the terms of the MIT License.
|
|
// If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT.
|
|
// Copyright (C) Leszek Pomianowski and WPF UI Contributors.
|
|
// All Rights Reserved.
|
|
|
|
using System.Windows.Automation;
|
|
using WindowVisualState = FlaUI.Core.Definitions.WindowVisualState;
|
|
|
|
namespace Wpf.Ui.Gallery.IntegrationTests;
|
|
|
|
public sealed class TitleBarTests : UiTest
|
|
{
|
|
[Fact]
|
|
public async Task CloseButton_ShouldCloseWindow_WhenClicked()
|
|
{
|
|
Button? closeButton = FindFirst("TitleBarCloseButton").AsButton();
|
|
|
|
closeButton.Should().NotBeNull("because CloseButton should be present in the main window title bar");
|
|
closeButton.Click(moveMouse: false);
|
|
|
|
await Wait(2);
|
|
|
|
Application
|
|
?.HasExited.Should()
|
|
.BeTrue("because the main window should be closed after clicking the close button");
|
|
}
|
|
|
|
[Fact]
|
|
public async Task MinimizeButton_ShouldHideWindow_WhenClicked()
|
|
{
|
|
Button? minimizeButton = FindFirst("TitleBarMinimizeButton").AsButton();
|
|
|
|
minimizeButton
|
|
.Should()
|
|
.NotBeNull("because MinimizeButton should be present in the main window title bar");
|
|
minimizeButton.Click(moveMouse: false);
|
|
|
|
await Wait(2);
|
|
|
|
MainWindow
|
|
.Patterns.Window.Pattern.WindowVisualState.ValueOrDefault.Should()
|
|
.Be(
|
|
WindowVisualState.Minimized,
|
|
"because the main window should be minimized after clicking the minimize button"
|
|
);
|
|
}
|
|
|
|
[Fact]
|
|
public async Task MaximizeButton_ShouldExpandWindow_WhenClicked()
|
|
{
|
|
Button? maximizeButton = FindFirst("TitleBarMaximizeButton").AsButton();
|
|
|
|
maximizeButton
|
|
.Should()
|
|
.NotBeNull("because MaximizeButton should be present in the main window title bar");
|
|
maximizeButton.Click(moveMouse: false);
|
|
|
|
await Wait(2);
|
|
|
|
MainWindow
|
|
.Patterns.Window.Pattern.WindowVisualState.ValueOrDefault.Should()
|
|
.Be(
|
|
WindowVisualState.Maximized,
|
|
"because the main window should be maximized after clicking the maximize button"
|
|
);
|
|
}
|
|
}
|