diff --git a/Codev.Avalonia.Tests/MainWindowTests.cs b/Codev.Avalonia.Tests/MainWindowTests.cs index dc734119..f239fd3d 100644 --- a/Codev.Avalonia.Tests/MainWindowTests.cs +++ b/Codev.Avalonia.Tests/MainWindowTests.cs @@ -26,7 +26,7 @@ namespace Codev.Avalonia.Tests; public sealed class MainWindowTests { [AvaloniaFact] - public async Task Child_session_rows_show_running_state_collapse_and_reopen_the_child() + public async Task Child_session_rows_show_running_state_can_be_reordered_and_collapse() { var root = Path.Combine(Path.GetTempPath(), "Codev-auto-mode-ui", Guid.NewGuid().ToString("N")); MainViewModel? viewModel = null; @@ -40,12 +40,22 @@ public async Task Child_session_rows_show_running_state_collapse_and_reopen_the_ { Title = "Parallel child fixture", ParentConversationId = parent.Id, + SidebarOrder = 0, IsChildTaskRunning = true }; + var secondChild = new Conversation + { + Title = "Second child fixture", + ParentConversationId = parent.Id, + SidebarOrder = 1 + }; var conversations = Assert.IsType>( typeof(MainViewModel).GetField("_conversations", BindingFlags.Instance | BindingFlags.NonPublic)?.GetValue(viewModel)); conversations.Add(child); + conversations.Add(secondChild); typeof(MainViewModel).GetMethod("RebuildLists", BindingFlags.Instance | BindingFlags.NonPublic)!.Invoke(viewModel, null); + Assert.True(viewModel.ReorderConversation(secondChild.Id, child, insertAfter: false)); + Assert.Equal(new[] { secondChild.Id, child.Id }, parent.ChildConversations.Select(item => item.Id)); window = new MainWindow { DataContext = viewModel }; window.Show(); @@ -55,11 +65,13 @@ public async Task Child_session_rows_show_running_state_collapse_and_reopen_the_ item.DataContext is Conversation conversation && conversation.Id == parent.Id); Assert.True(expander.IsVisible); Assert.True(expander.IsExpanded); - Assert.Equal("Child sessions · 1 · 1 running", expander.Header?.ToString()); + Assert.Equal("Child sessions · 2 · 1 running", expander.Header?.ToString()); var childRow = Assert.Single(window.GetVisualDescendants().OfType