public async Task Handle(TaskRemovedEvent notification, CancellationToken cancellationToken) { using (var connection = this._dbConnectionFactory.OpenConnection()) { var laneRepository = new LaneTaskRepository(); await laneRepository.RemoveTaskFromLaneAsync(connection, notification.TaskId, notification.AggregateId); } }
public async Task Creating_Task_ShouldCreate_TaskLaneProjection() { // 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 laneTaskRepository = new LaneTaskRepository(); var exampleCategory = (await categoryRepository.GetAllAsync(connection)).Shuffle().FirstOrDefault(); var exampleLane = (await laneRepository.GetAllAsync(connection)).Shuffle().FirstOrDefault(); var timeStampBeforeCreation = DateTime.Now; var taskName = "Test"; var taskService = new TaskService(commandDispatcher); // Act var newTask = await taskService.CreateNewTaskAsync(taskName, exampleCategory.CategoryId, exampleLane.LaneId); var projection = await repository.GetByIdAsync(connection, newTask.TaskId); var createdLink = await laneTaskRepository.GetLaneTaskByTaskId(connection, newTask.TaskId); // Assert Assert.That(newTask.TaskId, Is.Not.EqualTo(Guid.Empty)); Assert.That(createdLink, Is.Not.Null); Assert.That(createdLink.TaskId, Is.EqualTo(newTask.TaskId)); 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); } }