public void Testar_Listar_Solicitacao() { //Arrange Cliente clientePF_CPF_Valido = new Cliente("Nome Cliente PF", CPF_VALIDO, "Endereço Cliente Maior que 20"); var solicitacao = new Solicitacao(Guid.Parse("906d319a-2f3a-4fc4-91aa-ed9699da2b54"), Convert.ToDateTime("01/07/2020"), agenteCedente, agenteCessionario, clientePF_CPF_Valido, 10); solicitacao.AdicionarAtivo(ativo1); solicitacao.AdicionarAtivo(ativo2); List <Solicitacao> _local_lista = new List <Solicitacao>(); _local_lista.Add(solicitacao); string codigoSolicitacaoVirtual = Convert.ToString(_local_lista[0].CodigoInternoSolicitacao); //Act List <Solicitacao> listaMock = new List <Solicitacao>((mock.Listar()).Result); string codigoSolicitacaoReal = Convert.ToString(listaMock[0].CodigoInternoSolicitacao); //Assert Assert.AreEqual(codigoSolicitacaoVirtual, codigoSolicitacaoReal); }
public void Testar_Obter_Solicitacao() { //Arrange Cliente clientePF_CPF_Valido = new Cliente("Nome Cliente PF", CPF_VALIDO, "Endereço Cliente Maior que 20"); //string solicitacaoRetorno = "{'CodigoInternoSolicitacao':'906d319a-2f3a-4fc4-91aa-ed9699da2b54','DataTransferencia':'2020-07-01T00:00:00','AgenteCedente':{'Instituicao':'BB BANCO DE INVESTIMENTO S/A - 820','CodigoInvestidor':'AA123456'},'AgenteCessionario':{'Instituicao':'BANK OF AMERICA MERRILL LYNCH - 1817','CodigoInvestidor':'13579'},'Cliente':{'Nome':'Nome Cliente','DocumentoCpf':'179.506.820-51','Endereco':'Endereço Cliente Maior que 20'},'Motivo':10,'Ativos':[{'Codigo':'PETR4','Tipo':'Ações','Quantidade':100.0},{'Codigo':'Debênture','Tipo':'Debênture','Quantidade':200.0}]}"; var solicitacao = new Solicitacao(Guid.Parse("906d319a-2f3a-4fc4-91aa-ed9699da2b54"), Convert.ToDateTime("01/07/2020"), agenteCedente, agenteCessionario, clientePF_CPF_Valido, 10); solicitacao.AdicionarAtivo(ativo1); solicitacao.AdicionarAtivo(ativo2); var mockVirtual = new Mock <ISqliteRepository <Solicitacao> >(); mockVirtual.Setup(s => s.Obter(It.IsAny <string>())).Returns(new ValueTask <Solicitacao>(solicitacao)); //Act var resultadoObtido = mock.Obter("906d319a-2f3a-4fc4-91aa-ed9699da2b54"); var resultadoEsperado = mockVirtual.Object.Obter(Convert.ToString(localGuid)); //Assert Assert.AreEqual(resultadoObtido.ToString(), resultadoEsperado.ToString()); }
public void InicializarMockObject() { //objetoAlvoTeste = new SqliteSolicitacaoRepository(); // Se utilizar uma interface que crie a conexão com o banco consegue até mockar ela aqui :) mock = new Mock <ISqliteRepository <Solicitacao> >(MockBehavior.Default); mock.Setup(s => s.Incluir(It.IsAny <Solicitacao>())).Returns((new ValueTask())); mock.Setup(s => s.Excluir(It.IsAny <string>())).Returns((new ValueTask <bool>(true))); Cliente clientePF_CPF_Valido = new Cliente("Nome Cliente PF", CPF_VALIDO, "Endereço Cliente Maior que 20"); var solicitacao = new Solicitacao(Guid.Parse("906d319a-2f3a-4fc4-91aa-ed9699da2b54"), Convert.ToDateTime("01/07/2020"), agenteCedente, agenteCessionario, clientePF_CPF_Valido, 10); solicitacao.AdicionarAtivo(ativo1); solicitacao.AdicionarAtivo(ativo2); mock.Setup(s => s.Obter(It.IsAny <string>())).Returns(new ValueTask <Solicitacao>(solicitacao)); List <Solicitacao> _local_storage = new List <Solicitacao>(); _local_storage.Add(solicitacao); mock.Setup(s => s.Listar()).Returns(new ValueTask <IEnumerable <Solicitacao> >(_local_storage)); clientePF_CPF_Valido = null; solicitacao = null; _local_storage = null; }
public void Testar_Incluir_Solicitacao() { //Arrange Cliente clientePF_CPF_Valido = new Cliente("Nome Cliente PF", CPF_VALIDO, "Endereço Cliente Maior que 20"); //var localGuid = Guid.NewGuid(); var solicitacao = new Solicitacao(localGuid, Convert.ToDateTime("01/07/2020"), agenteCedente, agenteCessionario, clientePF_CPF_Valido, 10); solicitacao.AdicionarAtivo(ativo1); solicitacao.AdicionarAtivo(ativo2); string solicitacaoRetorno = "{'codigoInternoSolicitacao':'" + Convert.ToString(localGuid) + "','dataTransferencia':'2020-07-01T00:00:00','agenteCedente':{'instituicao':'BB BANCO DE INVESTIMENTO S/A - 820','codigoInvestidor':'AA123456'},'agenteCessionario':{'instituicao':'BANK OF AMERICA MERRILL LYNCH - 1817','codigoInvestidor':'13579'},'cliente':{'nome':'Nome Cliente','documentoCpf':'179.506.820-51','endereco':'Endereço Cliente Maior que 20'},'motivo':10,'ativos':[{'codigo':'PETR4','tipo':'Ações','quantidade':100.0},{'codigo':'Debênture','tipo':'Debênture','quantidade':200.0}]}"; //Act bool success = mock.Incluir(JObject.Parse(solicitacaoRetorno)).IsCompletedSuccessfully; //mock.Incluir(JObject.Parse(solicitacaoRetorno)); //Assert Assert.IsTrue(success); }
public void Testar_Incluir_Excluir_Solicitacao() { //Arrange Cliente clientePF_CPF_Valido = new Cliente("Nome Cliente PF", CPF_VALIDO, "Endereço Cliente Maior que 20"); var localGuid = Guid.NewGuid(); var solicitacao = new Solicitacao(localGuid, Convert.ToDateTime("01/07/2020"), agenteCedente, agenteCessionario, clientePF_CPF_Valido, 10); solicitacao.AdicionarAtivo(ativo1); solicitacao.AdicionarAtivo(ativo2); //Act //Para testar é interessante não usar mock, o correto é usar o objeto concreto mesmo, acredito que se separar em interfaces diferente consegue fazer o mesmo cenario sem utilizar o objeto mock //OUTRO PONTO: o //ACT normalmente deve ser no maximo umas 2 linhas exatamente para testar apenas um ponto por vez facilitando a identificação do problema mais facil qualquer pré requisito fazer no arrange //objetoAlvoTeste.Incluir(solicitacao) mock.Object.Incluir(solicitacao); // 1°Teste: Testar_IncluirSolicitacao_deve_efetuarInclusaoComSucesso mock.Object.Excluir(Convert.ToString(localGuid)); //2°Teste: Testar_ExcluirSolicitacaoExistente_deve_RemoverSolicitacaoComSucesso var resultadoMock = mock.Object.Obter(Convert.ToString(Guid.Parse("906d319a-2f3a-4fc4-91aa-ed9699da2b54"))); //3°Teste: Testar_BuscarPorIdSolicitacaoExistente_deve_retornarSolicitacaoEsperada //var resultadoMock = mock.Object.Obter(Convert.ToString(Guid.Empty));//4°Teste: Testar_BuscarPorIdSolicitacaoNaoExistente_deve_retornarSolicitacaoNull var listaMock = mock.Object.Listar(); //5ºTeste: Testar_ListarSolicitacoes_DeveRetornarListaSolicitacoesEsperadas //Assert mock.Verify(); }