mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-06 03:07:04 +02:00
120 lines
3.1 KiB
C#
120 lines
3.1 KiB
C#
|
|
// Copyright (c) Microsoft Corporation
|
||
|
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||
|
|
// See the LICENSE file in the project root for more information.
|
||
|
|
|
||
|
|
using System;
|
||
|
|
using System.Linq;
|
||
|
|
using System.Threading.Tasks;
|
||
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||
|
|
|
||
|
|
namespace Microsoft.CmdPal.Ext.Apps.UnitTests;
|
||
|
|
|
||
|
|
[TestClass]
|
||
|
|
public class AllAppsCommandProviderTests : AppsTestBase
|
||
|
|
{
|
||
|
|
[TestMethod]
|
||
|
|
public void ProviderHasDisplayName()
|
||
|
|
{
|
||
|
|
// Setup
|
||
|
|
var provider = new AllAppsCommandProvider();
|
||
|
|
|
||
|
|
// Assert
|
||
|
|
Assert.IsNotNull(provider.DisplayName);
|
||
|
|
Assert.IsTrue(provider.DisplayName.Length > 0);
|
||
|
|
}
|
||
|
|
|
||
|
|
[TestMethod]
|
||
|
|
public void ProviderHasIcon()
|
||
|
|
{
|
||
|
|
// Setup
|
||
|
|
var provider = new AllAppsCommandProvider();
|
||
|
|
|
||
|
|
// Assert
|
||
|
|
Assert.IsNotNull(provider.Icon);
|
||
|
|
}
|
||
|
|
|
||
|
|
[TestMethod]
|
||
|
|
public void TopLevelCommandsNotEmpty()
|
||
|
|
{
|
||
|
|
// Setup
|
||
|
|
var provider = new AllAppsCommandProvider();
|
||
|
|
|
||
|
|
// Act
|
||
|
|
var commands = provider.TopLevelCommands();
|
||
|
|
|
||
|
|
// Assert
|
||
|
|
Assert.IsNotNull(commands);
|
||
|
|
Assert.IsTrue(commands.Length > 0);
|
||
|
|
}
|
||
|
|
|
||
|
|
[TestMethod]
|
||
|
|
public void LookupAppWithEmptyNameReturnsNotNull()
|
||
|
|
{
|
||
|
|
// Setup
|
||
|
|
var mockApp = TestDataHelper.CreateTestWin32Program("Notepad", "C:\\Windows\\System32\\notepad.exe");
|
||
|
|
MockCache.AddWin32Program(mockApp);
|
||
|
|
var page = new AllAppsPage(MockCache);
|
||
|
|
|
||
|
|
var provider = new AllAppsCommandProvider(page);
|
||
|
|
|
||
|
|
// Act
|
||
|
|
var result = provider.LookupApp(string.Empty);
|
||
|
|
|
||
|
|
// Assert
|
||
|
|
Assert.IsNotNull(result);
|
||
|
|
}
|
||
|
|
|
||
|
|
[TestMethod]
|
||
|
|
public async Task ProviderWithMockData_LookupApp_ReturnsCorrectApp()
|
||
|
|
{
|
||
|
|
// Arrange
|
||
|
|
var testApp = TestDataHelper.CreateTestWin32Program("TestApp", "C:\\TestApp.exe");
|
||
|
|
MockCache.AddWin32Program(testApp);
|
||
|
|
|
||
|
|
var provider = new AllAppsCommandProvider(Page);
|
||
|
|
|
||
|
|
// Wait for initialization to complete
|
||
|
|
await WaitForPageInitializationAsync();
|
||
|
|
|
||
|
|
// Act
|
||
|
|
var result = provider.LookupApp("TestApp");
|
||
|
|
|
||
|
|
// Assert
|
||
|
|
Assert.IsNotNull(result);
|
||
|
|
Assert.AreEqual("TestApp", result.Title);
|
||
|
|
}
|
||
|
|
|
||
|
|
[TestMethod]
|
||
|
|
public async Task ProviderWithMockData_LookupApp_ReturnsNullForNonExistentApp()
|
||
|
|
{
|
||
|
|
// Arrange
|
||
|
|
var testApp = TestDataHelper.CreateTestWin32Program("TestApp", "C:\\TestApp.exe");
|
||
|
|
MockCache.AddWin32Program(testApp);
|
||
|
|
|
||
|
|
var provider = new AllAppsCommandProvider(Page);
|
||
|
|
|
||
|
|
// Wait for initialization to complete
|
||
|
|
await WaitForPageInitializationAsync();
|
||
|
|
|
||
|
|
// Act
|
||
|
|
var result = provider.LookupApp("NonExistentApp");
|
||
|
|
|
||
|
|
// Assert
|
||
|
|
Assert.IsNull(result);
|
||
|
|
}
|
||
|
|
|
||
|
|
[TestMethod]
|
||
|
|
public void ProviderWithMockData_TopLevelCommands_IncludesListItem()
|
||
|
|
{
|
||
|
|
// Arrange
|
||
|
|
var provider = new AllAppsCommandProvider(Page);
|
||
|
|
|
||
|
|
// Act
|
||
|
|
var commands = provider.TopLevelCommands();
|
||
|
|
|
||
|
|
// Assert
|
||
|
|
Assert.IsNotNull(commands);
|
||
|
|
Assert.IsTrue(commands.Length >= 1); // At least the list item should be present
|
||
|
|
}
|
||
|
|
}
|