示例#1
0
        public void DoTasksCommandHandler_HandlesNullItemNumbers()
        {
            var command = new DoTasksCommand {
                ItemNumbers = null
            };

            Assert.DoesNotThrowAsync(async() => await _handler.Handle(command, new CancellationToken()));
        }
示例#2
0
        public async Task DoTasksCommandHandler_CompletesGivenTasks()
        {
            var command = new DoTasksCommand {
                ItemNumbers = new int[] { 1, 5 }
            };
            var result = await _handler.Handle(command, new CancellationToken());

            result.Where(t => t.Completed).Should().HaveCount(2);
        }
示例#3
0
        public async Task DoTasksCommandHandler_WithoutArchive_RemovesBlankLinesFromTodoFile()
        {
            var command = new DoTasksCommand {
                ItemNumbers = new int[] { 1, 5 }, DontArchive = true
            };

            _ = await _handler.Handle(command, new CancellationToken());

            _taskFile.TaskLines.Should().HaveCount(7);
        }
示例#4
0
        public async Task DoTasksCommandHandler_AddsGivenTasksToDoneFile()
        {
            var command = new DoTasksCommand {
                ItemNumbers = new int[] { 1, 5 }
            };

            _ = await _handler.Handle(command, new CancellationToken());

            _taskFile.DoneLines.Should().HaveCount(2);
        }
示例#5
0
        public async Task DoTasksCommandHandler_RemovesGivenTasksAndBlankLinesFromTodoFile()
        {
            var command = new DoTasksCommand {
                ItemNumbers = new int[] { 1, 5 }
            };

            _ = await _handler.Handle(command, new CancellationToken());

            _taskFile.TaskLines.Should().HaveCount(5);
        }
示例#6
0
        public async Task DoTasksCommandHandler_WithoutArchive_MarksBlankCompletedInTodoFile()
        {
            var command = new DoTasksCommand {
                ItemNumbers = new int[] { 1, 5 }, DontArchive = true
            };

            _ = await _handler.Handle(command, new CancellationToken());

            _taskFile.TaskLines[0].Should().StartWith("x ");
            _taskFile.TaskLines[3].Should().StartWith("x ");
        }
示例#7
0
        public async Task DoTasksCommandHandler_WithoutArchive_CompletesGivenTasks()
        {
            var command = new DoTasksCommand {
                ItemNumbers = new int[] { 1, 5 }, DontArchive = true
            };
            var result = await _handler.Handle(command, new CancellationToken());

            result.Where(t => t.Completed).Should().HaveCount(2);
            _taskFile.DoneLines.Should().HaveCount(0);
            _taskFile.TaskLines.Should().HaveCount(7);
            _taskFile.TaskLines.Where(l => l.StartsWith("x ")).Should().HaveCount(2);
        }
示例#8
0
        private async Task Complete(int[] items, bool dontArchive)
        {
            var command = new DoTasksCommand {
                ItemNumbers = items, DontArchive = dontArchive
            };
            var result = await Mediator.Send(command);

            foreach (var completed in result)
            {
                Console.WriteLine(completed.ToString(true));
                Console.WriteLine($"TODO: {completed.LineNumber} marked as done");
            }
        }