public Candidato(RegistroDeInscricaoNovoCandidato command) { Nome = command.Nome; Email = command.Email; Cpf = new Cpf(command.Cpf); DataNascimento = command.DataNascimento; }
public void TesteNovaInscricao() { var commando = new RegistroDeInscricaoNovoCandidato { CursoId = 1, DataNascimento = new System.DateTime(1980, 1, 6), Email = "*****@*****.**", Nome = "Yan de Lima Justino", Cpf = "11111111111" }; var mock = new Mock <IRepositorioInscricao>(); mock.Setup(framework => framework.Salvar(null)); IRepositorioInscricao irepositorio = mock.Object; InscricaoService service = new InscricaoService(irepositorio, new ServicoDeVerificacaoDeBolsaDeEstudo()); service.Executar(commando); Assert.IsTrue(service.Valid); mock.Verify(framework => framework.Salvar(null), Times.AtMostOnce()); }
public ActionResult Post([FromBody] RegistroDeInscricaoNovoCandidato command) { _service.Executar(command); if (_service.Invalid) { return(BadRequest(_service.Notifications)); } else { return(Ok()); } }
public void CpfCandidatoInvalido() { var commando = new RegistroDeInscricaoNovoCandidato { CursoId = 1, DataNascimento = new System.DateTime(2019, 1, 24), Email = "*****@*****.**", Nome = "", Cpf = "1" }; var candidato = new Candidato(commando); candidato.Validate(); Assert.IsTrue(candidato.Invalid, string.Join(',', candidato.Notifications)); }
public static Inscricao NovaInscricao(RegistroDeInscricaoNovoCandidato comando, Curso cursoPretendido) { var inscricao = new Inscricao() { Candidato = new Candidato(comando), Situacao = SituacaoCandidato.Nenhuma.DisplayName, CursoPretendido = cursoPretendido, DataInscricao = DateTime.Today, BolsaEstudo = false }; if (inscricao.Candidato.Invalid) { inscricao.AddNotifications(inscricao.Candidato); } return(inscricao); }
public void Executar(RegistroDeInscricaoNovoCandidato command) { var curso = _repositorioInscricao.RecuperarCursoPorId(command.CursoId); var inscricao = Dominio.Inscricao.Fabrica.NovaInscricao(command, curso); if (inscricao.Invalid) { AddNotifications(inscricao); } else { if (_servicoDeVerificacaoDeBolsaDeEstudo.TentarAplicarBolsaEstudo(inscricao.Candidato, curso)) { inscricao.LiberarBolsaEstudo(); } _repositorioInscricao.Salvar(inscricao); } }