public async Task ShouldUpdateJogo() { var userId = await RunAsDefaultUserAsync(); var jogoId = await SendAsync(new CreateJogoCommand { Nome = "Jogo Novo" }); var command = new UpdateJogoCommand { Id = jogoId, Nome = "Jogo Novo Atualizado" }; await SendAsync(command); var jogo = await FindAsync <Jogo>(jogoId); jogo.Nome.Should().Be(command.Nome); jogo.LastModifiedBy.Should().NotBeNull(); jogo.LastModifiedBy.Should().Be(userId); jogo.LastModified.Should().NotBeNull(); jogo.LastModified.Should().BeCloseTo(DateTime.Now, 1000); }
public async Task <ActionResult> Update(int id, UpdateJogoCommand command) { if (id != command.Id) { return(BadRequest()); } await Mediator.Send(command); return(NoContent()); }
public void ShouldRequireValidJogoId() { var command = new UpdateJogoCommand { Id = 99, Nome = "Jogo Teste" }; FluentActions.Invoking(() => SendAsync(command)).Should().Throw <NotFoundException>(); }
public Task Handle(UpdateJogoCommand message, CancellationToken cancellation) { if (!message.IsValid()) { NotifyValidationErrors(message); return(Unit.Task); } //var jogo = new Jogo(message.Id, message.Nome, message.Descricao); var jogo = _jogoRepository.GetById(message.Id); if (jogo == null) { jogo = new Jogo(message.Id, message.Nome, message.Descricao); } //if (existingjogo != null && existingjogo.Id != jogo.Id) //{ // if (!existingjogo.Equals(jogo)) // { // Bus.RaiseEvent(new DomainNotification(message.MessageType, "Erro ao realizar o update da entidade")); // return Unit.Task; // } //} if (message.AmigoId != null) { jogo.Amigo = _amigoRepository.GetById(message.AmigoId); } jogo.Descricao = message.Descricao; jogo.Nome = message.Nome; _jogoRepository.Update(jogo); if (Commit()) { Bus.RaiseEvent(new AmigoUpdatedEvent(jogo.Id, jogo.Nome, jogo.Descricao)); } return(Unit.Task); }