public ICommandResult Handle(CancelReservaCommand command) { command.Validate(); if (command.Invalid) { return(new GenericCommandResult(false, "Dados incorretos", command.Notifications)); } var reserva = _reservaRepository.GetById(command.ReservaId); _reservaRepository.Delete(reserva); return(new GenericCommandResult(true, "Reserva cancelada com sucesso")); }
public void Dado_um_CancelReservaCommand_valido_a_reserva_deve_ser_confirmada() { var cliente = _clientRepository.GetById(Guid.NewGuid()); var sessao = _sessaoRepository.GetById(Guid.NewGuid()); var reserva = new Reserva(cliente, sessao); reserva.AdicionarIngresso(new Ingresso("Jose", sessao.Poltrona[0])); _reservaRepository.Add(reserva); var command = new CancelReservaCommand(reserva.Id); var commandResult = (GenericCommandResult)_handler.Handle(command); Assert.IsTrue(commandResult.Sucess); Assert.AreEqual(_reservaRepository.GetByCliente(cliente.Id).Count(), 0); }