Пример #1
0
        public async Task Creating_Task_ShouldCreateProjection()
        {
            // Arrange
            using (var connection = this._testInfrastructure.OpenDatabaseConnection())
            {
                var commandDispatcher       = this._testInfrastructure.DiContainer.GetInstance <IMediator>();
                var repository              = new TaskRepository();
                var categoryRepository      = new CategoryRepository();
                var laneRepository          = new LaneRepository();
                var exampleCategory         = (await categoryRepository.GetAllAsync(connection)).Shuffle().FirstOrDefault();
                var exampleLane             = (await laneRepository.GetAllAsync(connection)).Shuffle().FirstOrDefault();
                var timeStampBeforeCreation = DateTime.Now;
                var taskService             = new TaskService(commandDispatcher);
                var taskName = "Test";

                // Act
                var newTask =
                    await taskService.CreateNewTaskAsync(taskName, exampleCategory.CategoryId, exampleLane.LaneId);

                var projection = await repository.GetByIdAsync(connection, newTask.TaskId);

                // Assert
                Assert.That(newTask.TaskId, Is.Not.EqualTo(Guid.Empty));
                Assert.That(projection, Is.Not.Null);
                Assert.That(projection.TaskId, Is.EqualTo(newTask.TaskId));
                Assert.That(projection.Name, Is.EqualTo(taskName));
                Assert.That(projection.CategoryId, Is.EqualTo(exampleCategory.CategoryId));
                Assert.That(projection.CreatedOn, Is.GreaterThan(timeStampBeforeCreation));
                Assert.That(projection.DueDate, Is.Null);
            }
        }
Пример #2
0
        private async Task <CreateTaskResponse> CreateNewTask()
        {
            using (var connection = this._testInfrastructure.OpenDatabaseConnection())
            {
                var commandDispatcher  = this._testInfrastructure.DiContainer.GetInstance <IMediator>();
                var categoryRepository = new CategoryRepository();
                var laneRepository     = new LaneRepository();

                var exampleCategory = (await categoryRepository.GetAllAsync(connection)).Shuffle().FirstOrDefault();
                var exampleLane     = (await laneRepository.GetAllAsync(connection)).Shuffle().FirstOrDefault();

                var task = await commandDispatcher.Send(new CreateTaskCommand("Test", exampleCategory.CategoryId,
                                                                              exampleLane.LaneId));

                return(task);
            }
        }
Пример #3
0
        public async Task Creating_Task_ShouldNotThrowException()
        {
            // Arrange
            using (var connection = this._testInfrastructure.OpenDatabaseConnection())
            {
                var commandDispatcher  = this._testInfrastructure.DiContainer.GetInstance <IMediator>();
                var categoryRepository = new CategoryRepository();
                var laneRepository     = new LaneRepository();
                var exampleCategory    = (await categoryRepository.GetAllAsync(connection)).Shuffle().FirstOrDefault();
                var exampleLane        = (await laneRepository.GetAllAsync(connection)).Shuffle().FirstOrDefault();
                var taskService        = new TaskService(commandDispatcher);

                // Act
                Assert.DoesNotThrowAsync(async() =>
                                         await taskService.CreateNewTaskAsync("Test", exampleCategory.CategoryId, exampleLane.LaneId));
            }
        }
Пример #4
0
        private async Task <CreateTaskResponse> CreateNewTask()
        {
            using (var connection = this._testInfrastructure.OpenDatabaseConnection())
            {
                var taskService        = this._testInfrastructure.DiContainer.GetInstance <TaskService>();
                var categoryRepository = new CategoryRepository();
                var laneRepository     = new LaneRepository();

                var exampleCategory = (await categoryRepository.GetAllAsync(connection)).Shuffle().FirstOrDefault();
                var exampleLane     = (await laneRepository.GetAllAsync(connection)).Shuffle().FirstOrDefault();

                var task = await taskService.CreateNewTaskAsync(
                    "Prepare Q2 Overview of Mixpanel Statistics (Keynote required)",
                    exampleCategory.CategoryId, exampleLane.LaneId);

                return(task);
            }
        }