Files
ClaudeDo/tests/ClaudeDo.Ui.Tests/ViewModels/CheatSheetsViewModelTests.cs
T
mika kuns 0db9fadee9 feat(ui): Cheat-Sheet-Fenster im Hilfe-Menue
Sechs Markdown-Sheets (git, Conventional Commits, Claude CLI, Claude-Config,
dotnet CLI, PowerShell) als EmbeddedResource, gerendert im modelosen, per
Topmost anpinnbaren CheatSheetsWindow. MarkdownView bekommt dafuer das Opt-in
CommandRows: `befehl` - beschreibung wird zu Mono-Chip + Copy-Button, jede
##-Sektion landet in einem Expander. Enthaelt ausserdem: Mission Control
wird beim Oeffnen aus dem Minimiert-Zustand geholt, nicht nur aktiviert.
2026-09-07 08:17:37 +02:00

35 lines
1008 B
C#

using System.Linq;
using ClaudeDo.Ui.ViewModels.Modals;
using Xunit;
namespace ClaudeDo.Ui.Tests.ViewModels;
public class CheatSheetsViewModelTests
{
[Fact]
public void LoadsEverySheetWithTitleFromHeading()
{
var vm = new CheatSheetsViewModel();
Assert.Equal(6, vm.Sheets.Count);
Assert.Equal(
["Git", "Conventional Commits", "Claude CLI", "Claude Konfiguration", "dotnet CLI", "PowerShell"],
vm.Sheets.Select(s => s.Title));
// The heading is stripped so the window doesn't render the title twice.
Assert.All(vm.Sheets, s => Assert.StartsWith("## ", s.Body));
}
[Fact]
public void SelectSwitchesSheetAndIgnoresUnknownKeys()
{
var vm = new CheatSheetsViewModel();
Assert.Equal("git", vm.SelectedSheet!.Key);
vm.Select("dotnet-cli");
Assert.Equal("dotnet-cli", vm.SelectedSheet!.Key);
vm.Select("nope");
Assert.Equal("dotnet-cli", vm.SelectedSheet!.Key);
}
}