예제 #1
0
        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);
        }
예제 #2
0
        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());
        }
예제 #3
0
        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;
        }
예제 #4
0
        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);
        }
예제 #5
0
        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();
        }