public async Task <IActionResult> Update([FromRoute] int id) { var command = new DeleteWorkerCommand(id); var result = await _mediator.Send(command); return(result.Success ? (IActionResult)Ok(result) : NotFound()); }
public async Task DeleteCommandHandler_ThrowsException_WhenWorkerDoesNotExit() { var workerId = 1; var command = new DeleteWorkerCommand { Id = workerId }; var handler = new DeleteWorkerCommandHandler(mockRepo.Object); await Assert.ThrowsAsync <NotFoundException>(() => handler.Handle(command, CancellationToken.None)); mockRepo.Verify(x => x.GetById(workerId), Times.Once()); mockRepo.Verify(x => x.Remove(It.IsAny <Worker>()), Times.Never()); }
public async Task DeleteCommandHandler_SuccessfullyDeletesWorker_WhenWorkerExists() { var worker = GetWorkerToDelete(); var command = new DeleteWorkerCommand { Id = worker.Id }; var handler = new DeleteWorkerCommandHandler(mockRepo.Object); mockRepo.Setup(x => x.GetById(worker.Id)).ReturnsAsync(GetWorkerToDelete()); await handler.Handle(command, CancellationToken.None); mockRepo.Verify(x => x.GetById(worker.Id), Times.Once()); mockRepo.Verify(x => x.Remove(It.Is <Worker>(w => w.Id == worker.Id)), Times.Once()); }
public async Task ShouldDeleteWorkerTest() { // Arrange var worker = new Worker { Id = Guid.NewGuid(), Email = "*****@*****.**", Name = "Name Nameson", PhoneNumber = "0700123123", }; await InsertAsync <Worker>(worker); var query = new GetWorkerByIdQuery(worker.WorkerId); var command = new DeleteWorkerCommand(worker.WorkerId); // Act var getBeforeDeletion = await SendRequestAsync(query); var deleteCommandResult = await SendRequestAsync(command); var getQueryResult = await SendRequestAsync(query); // Assert // Asserting before delete command getBeforeDeletion.Success.ShouldBeTrue(); deleteCommandResult.Data.ShouldNotBeNull(); deleteCommandResult.Message.ShouldBeNullOrEmpty(); // Asserting delete command deleteCommandResult.Success.ShouldBeTrue(); deleteCommandResult.Data.ShouldNotBeNull(); deleteCommandResult.Message.ShouldBeNullOrEmpty(); // Asserting query command getQueryResult.Data.ShouldBeNull(); getQueryResult.Message.ShouldNotBeNullOrEmpty(); getQueryResult.Success.ShouldBeFalse(); }