public AdicionarMedicoResponse Executar(AdicionarMedicoRequest request) { var response = new AdicionarMedicoResponse(); var validacao = new AdicionarMedicoRequestValidator(); try { response = validacao.ValidarCamposAdicionarMedico(request); if (response.erros.Count > 0) { response.msg.Add("Erro ao adicionar o medico"); return(response); } var medicoAdicionar = _adapter.converterRequestParaMedico(request); _repositorioMedicos.Add(medicoAdicionar); response.msg.Add("Adicionado com sucesso"); response.id = medicoAdicionar.id; return(response); } catch (Exception) { response.msg.Add("Erro ao adicionar o medico"); return(response); } }
public void Medico_AdicionarMedico_QuandoRepositorioExcecao() { //Entidade_O que vai estar_comportamento esperado //Arrange //criar as variáveis var request = new AdicionarMedicoRequestBuilder().Build(); var response = new AdicionarMedicoResponse(); var medico = new MedicoEntities(); medico.id = 1; response.msg.Add("Erro ao adicionar o medico"); _adapter.Setup(adapter => adapter.converterRequestParaMedico(request)).Returns(medico); _repositorioMedicos.Setup(repositorio => repositorio.Add(medico)).Throws(new Exception()); //Act //Chamar as funções var result = _useCase.Executar(request); //Assert //As regras dos testes response.Should().BeEquivalentTo(result); }
public void Medico_AdicionarMedico_QuandoNomeMenorVinte() { //Arrange var request = new AdicionarMedicoRequestBuilder().withNameLength(10).Build(); var response = new AdicionarMedicoResponse(); //var medico = new MedicoEntities(); //medico.id = 1; response.msg.Add("Erro ao adicionar o medico"); response.erros.Add("Nome deve conter de 3 a 20 caracteres"); //_repositorioMedicos.Setup(repositorio => repositorio.Add(medico)).Returns(medico.id); //_adapter.Setup(adapter => adapter.converterRequestParaMedico(request)).Returns(medico); //Act var result = _useCase.Executar(request); //Assert response.Should().BeEquivalentTo(result); }
public AdicionarMedicoResponse ValidarCamposAdicionarMedico(AdicionarMedicoRequest request) { var response = new AdicionarMedicoResponse(); List <string> erros = new List <string>(); if (request.nome.Length < 20 && request.nome.Length > 3) { erros.Add("Nome deve conter de 3 a 20 caracteres"); } Regex expressao = new Regex(@"(\([0-9]{2}\)|)[0-9]{4,5}-[0-9]{4}"); //Match(request.telefone, expressao); //request.telefone.Length <= 10 || if (!expressao.IsMatch(request.telefone.ToString())) { erros.Add("Telefone numero de digitos incorretos. Ex. 12345-1234 "); } if (request.crm.Length != 10) { erros.Add("CRM deve conter 10 digitos."); } if (request.especialidade.Length > 40 || request.especialidade.Length < 3) { erros.Add("Especialidade deve conter 3 a 40 digitos."); } foreach (var item in erros) { response.erros.Add(item); } return(response); }