public void RetornarSucessoAssinaturaAtiva() { var pagamento = new PaypalPagamento("12312313", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, _endereco, "Cangaço Corp", _documento, _email); _assinatura.AdicionarPagamento(pagamento); _estudante.AdicionarAssinatura(_assinatura); Assert.IsTrue(_estudante.Valid); }
public ICommandResult Handle(CriarAssinaturaPayPalCommand command) { // Fail Fast Validations command.Validate(); if (command.Invalid) { AddNotifications(command); return(new CommandResult(false, "Não foi possível realizar sua assinatura")); } // Verificar se documento já está cadastrado if (_repository.DocumentoExiste(command.Documento)) { AddNotification("Documemnto", "Este CPF já está em uso"); } // Verificar se e-mail já está cadastrado if (_repository.EmailExiste(command.Email)) { AddNotification("Documemnto", "Este E-mail já está em uso"); } // Gerar os VOs var nome = new Nome(command.PrimeiroNome, command.Sobrenome); var documento = new Documento(command.Documento, ETipoDocumento.CPF); var endereco = new Endereco(command.Logradouro, command.NumeroEndereco, command.Bairro, command.Cidade, command.Estado, command.Pais, command.CEP); var email = new Email(command.Email); // Gerar as entidades var estudante = new Estudante(nome, documento, email); var assinatura = new Assinatura(DateTime.Now.AddMonths(1)); var pagamento = new PaypalPagamento(command.CodigoTransacao, command.DataPagamento, command.DataVencimento, command.ValorGerado, command.ValorPago, endereco, command.Pagador, new Documento(command.PagadorDocumento, command.PagadorDocumentoTipo), email); // Relacionamentos assinatura.AdicionarPagamento(pagamento); estudante.AdicionarAssinatura(assinatura); // Aplicar as validacoes AddNotifications(nome, documento, email, endereco, estudante, assinatura, pagamento); // Checar as notificacoes if (Invalid) { return(new CommandResult(false, "Não foi possível realizar sua assinatura")); } // Salvar as informacoes _repository.CriarAssinatura(estudante); // Enviar e-mail de boas vindas // Chamar servico de e-mail // Retornar informacoes return(new CommandResult(true, "Assinatura realizada com sucesso")); }
public void RetornarSuvessoSeAssinaturaInativa() { var pagamento = new PaypalPagamento("12345678", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, _documento, "Edvilson Almeida", _endereco, _email); _assinatura.IncluirPagamento(pagamento); _estudante.IncluirAssinatura(_assinatura); _estudante.IncluirAssinatura(_assinatura); Assert.IsTrue(_estudante.Valid); }