Пример #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
 public async Task Handle(LaneCreatedEvent notification, CancellationToken cancellationToken)
 {
     using (var connection = this._dbConnectionFactory.OpenConnection())
     {
         var laneRepository = new LaneRepository();
         await laneRepository.InsertAsync(connection, new LaneEntity
         {
             LaneId          = notification.AggregateId,
             Name            = notification.Name,
             IsCompletedLane = notification.IsCompletedLane,
             IsRejectedLane  = notification.IsRejectedLane,
             ColorCode       = notification.ColorCode,
             RunningNumberId = notification.RunningNumberId
         });
     }
 }
Пример #3
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);
            }
        }
Пример #4
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));
            }
        }
Пример #5
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);
            }
        }
Пример #6
0
        public async Task Creating_RegularLane_ShouldCreateProjection()
        {
            using (var connection = this._testInfrastructure.OpenDatabaseConnection())
            {
                // Arrange
                var commandDispatcher = this._testInfrastructure.DiContainer.GetInstance <IMediator>();
                var laneRepository    = new LaneRepository();
                var name      = "Test";
                var colorCode = "#123456";

                // Act
                var newLane = await commandDispatcher.Send(new CreateLaneCommand(name, colorCode, false, false));

                var laneFromProjection = await laneRepository.GetByIdAsync(connection, newLane.LaneId);

                // Assert
                Assert.That(newLane, Is.Not.EqualTo(Guid.Empty));
                Assert.That(laneFromProjection, Is.Not.Null);
                Assert.That(laneFromProjection.Name, Is.EqualTo(name));
                Assert.That(laneFromProjection.ColorCode, Is.EqualTo(colorCode));
            }
        }