public async Task Handle(DeleteTaskItemCommand message) { var existingTask = await _repository.GetOneAsync <TaskItem>(message.TaskItemId); await _repository.DeleteAsync(existingTask); await _bus.RaiseEvent(new TaskItemDeletedEvent(_dataMapper.Map <TaskItemDto>(existingTask))); }
public async Task Handle_GivenValidTaskItemId_LoginUserIsNotCreatorAndTeamIdNotExist_ThrowsNotFoundException() { // Login user is not creator _sut = SetLoginUser(memberId); var command = new DeleteTaskItemCommand { Id = teamNotExistTaskItemId.ToString() }; await Assert.ThrowsAsync <NotFoundException>(() => _sut.Handle(command, CancellationToken.None)); }
public async Task Handle_GivenNullTaskItemId_ThrowsArgumentNullException() { // Login user is creator _sut = SetLoginUser(creatorId); var command = new DeleteTaskItemCommand { Id = null }; await Assert.ThrowsAsync <ArgumentNullException>(() => _sut.Handle(command, CancellationToken.None)); }
public async Task Handle_GivenValidTaskItemIdAndValidTeamId_LoginUserIsNotCreatorAndNotLeaderAndNotAssignee_ThrowsNotOwnedException() { // Login user is member but is not creator and is not assignee _sut = SetLoginUser(memberId); var command = new DeleteTaskItemCommand { Id = taskItemId.ToString() }; await Assert.ThrowsAsync <NotOwnedException>(() => _sut.Handle(command, CancellationToken.None)); }
public async Task Handle_GivenInvalidTaskItemId_ThrowsNotFoundException() { // Login user is creator _sut = SetLoginUser(creatorId); var invalidTaskId = Guid.NewGuid(); var command = new DeleteTaskItemCommand { Id = invalidTaskId.ToString() }; await Assert.ThrowsAsync <NotFoundException>(() => _sut.Handle(command, CancellationToken.None)); }
public async Task Handle_GivenValidTaskItemIdAndValidTeamId_LoginUserIsCreator_DeletesTaskItem() { // Login user is creator _sut = SetLoginUser(creatorId); var command = new DeleteTaskItemCommand { Id = taskItemId.ToString() }; await _sut.Handle(command, CancellationToken.None); var taskItem = await _context.TaskItems.FindAsync(taskItemId); Assert.Null(taskItem); }