public async Task Invoke() { var animals = await _mediator.Send(new GetDeletedAnimalsQuery()); if (animals.Any()) { foreach (var a in animals) { var animalId = a.Id; var qrDeleteCommand = new DeleteQRCodeCommand { AnimalId = animalId }; await _mediator.Send(qrDeleteCommand); var animalDeleteCommand = new DeleteAnimalCommand { Id = animalId }; await _mediator.Send(animalDeleteCommand); } } _logger.LogInformation($"The clear database job completed successfully. {animals.Count()} marked data has been deleted."); }
public void Handle_GivenInvalidId_ThrowsException() { var command = new DeleteQRCodeCommand { AnimalId = 99 }; var handler = new DeleteQRCodeCommand.DeleteQRCodeCommandHandler(Context); Should.ThrowAsync <NotFoundException>(() => handler.Handle(command, CancellationToken.None)); }
public async Task Handle_GivenValidId_ShouldRemovePersistedQRCode() { var command = new DeleteQRCodeCommand { AnimalId = 1 }; var handler = new DeleteQRCodeCommand.DeleteQRCodeCommandHandler(Context); await handler.Handle(command, CancellationToken.None); var entity = Context.QRCodes.Find(command.AnimalId); entity.ShouldBeNull(); }