public void Medico_AtualizarMedico_QuandoRetornarSucesso() { var request = new AtualizarMedicoRequestBuilder().Build(); var response = new AtualizarMedicoResponse(); var medico = new MedicoEntities(); int id = 1; _repositorioMedicos.Setup(repositorio => repositorio.GetId(id)).Returns(medico); medico.id = id; response.msg.Add("Atualizado com sucesso"); response.id = medico.id; _adapter.Setup(adapter => adapter.converterRequestParaMedico(request)).Returns(medico); _repositorioMedicos.Setup(repositorio => repositorio.Update(medico)).Returns(medico.id); //Act //Chamar as funções var result = _useCase.Executar(request, id); //Assert //As regras dos testes response.Should().BeEquivalentTo(result); }
public void Medico_AtualizarMedico_QuandoNomeMenorVinte() { var request = new AtualizarMedicoRequestBuilder().withNameLength(10).Build(); var response = new AtualizarMedicoResponse(); var medico = new MedicoEntities(); int id = 1; _repositorioMedicos.Setup(repositorio => repositorio.GetId(id)).Returns(medico); medico.id = id; response.msg.Add("Erro ao atualizar o médico"); response.erros.Add("Nome deve conter de 3 a 20 caracteres"); //Act //Chamar as funções var result = _useCase.Executar(request, id); //Assert //As regras dos testes response.Should().BeEquivalentTo(result); }
public AtualizarMedicoResponse ValidarCamposAtualizarMedico(AtualizarMedicoRequest request) { var response = new AtualizarMedicoResponse(); 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); }
public void Medico_AtualizarMedico_QuandoRepositorioExcecao() { var request = new AtualizarMedicoRequestBuilder().Build(); var response = new AtualizarMedicoResponse(); var medico = new MedicoEntities(); int id = 1; response.msg.Add("Erro ao atualizar o médico"); medico.id = id; _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, id); //Assert //As regras dos testes response.Should().BeEquivalentTo(result); }
public AtualizarMedicoResponse Executar(AtualizarMedicoRequest request, int id) { var response = new AtualizarMedicoResponse(); var validacao = new AtualizarMedicoRequestValidator(); try { var medico = _repositorioMedicos.GetId(id); if (medico == null) { response.msg.Add("Erro ao atualizar o médico"); return(response); } response = validacao.ValidarCamposAtualizarMedico(request); if (response.erros.Count > 0) { response.msg.Add("Erro ao atualizar o médico"); return(response); } var medicoAtualizar = _adapter.converterRequestParaMedico(request); medicoAtualizar.id = id; _repositorioMedicos.Update(medicoAtualizar); response.msg.Add("Atualizado com sucesso"); response.id = medicoAtualizar.id; return(response); } catch (Exception) { response.msg.Add("Erro ao atualizar o médico"); return(response); } }