diff --git a/src/Todo.CLI.Tests/Commands/CommandTests.cs b/src/Todo.CLI.Tests/Commands/CommandTests.cs deleted file mode 100644 index bf62c3a..0000000 --- a/src/Todo.CLI.Tests/Commands/CommandTests.cs +++ /dev/null @@ -1,156 +0,0 @@ -using System.CommandLine; -using Todo.CLI.Commands; -using Todo.CLI.Tests.Handlers; -using Todo.Core; -using Xunit; - -namespace Todo.CLI.Tests.Commands; - -public abstract class CommandTestsBase -{ - protected readonly ServiceProvider _serviceProvider; - - protected CommandTestsBase() - { - _serviceProvider = new ServiceCollection() - .AddSingleton() - .AddTodoRepositories() - .AddSingleton(new MockUserInteraction()) - .BuildServiceProvider(); - } -} - -public class AddCommandTests : CommandTestsBase -{ - - [Fact] - public void AddCommand_ShouldHaveCorrectName() - { - // Arrange & Act - var command = new AddCommand(_serviceProvider); - - // Assert - Assert.Equal("add", command.Name); - } - - [Fact] - public void AddCommand_ShouldHaveDescription() - { - // Arrange & Act - var command = new AddCommand(_serviceProvider); - - // Assert - Assert.False(string.IsNullOrEmpty(command.Description)); - } - - [Fact] - public void AddItemCommand_ShouldAcceptSubjectArgument() - { - // Arrange - var command = new AddCommand(_serviceProvider); - var itemSubCommand = command.Subcommands.Single(c => c.Name == "item"); - - // Act - var subjectArgument = itemSubCommand.Arguments.SingleOrDefault(a => a.Name == "subject"); - - // Assert - Assert.NotNull(subjectArgument); - } - - [Fact] - public void AddItemCommand_ShouldAcceptListAndStarOptions() - { - // Arrange - var command = new AddCommand(_serviceProvider); - var itemSubCommand = command.Subcommands.Single(c => c.Name == "item"); - - // Act - var listOption = itemSubCommand.Options.SingleOrDefault(o => o.Name == "list"); - var starOption = itemSubCommand.Options.SingleOrDefault(o => o.Name == "star"); - - // Assert - Assert.NotNull(listOption); - Assert.NotNull(starOption); - } -} - -public class ListCommandTests : CommandTestsBase -{ - - [Fact] - public void ListCommand_ShouldHaveCorrectName() - { - // Arrange & Act - var command = new ListCommand(_serviceProvider); - - // Assert - Assert.Equal("list", command.Name); - } - - [Fact] - public void ListCommand_ShouldAcceptAllFlag() - { - // Arrange - var command = new ListCommand(_serviceProvider); - - // Act - var allOption = command.Children.OfType