public void Doacao_CorretamentePreenchidos_DoacaoValida()
        {
            // Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido(doacao.DadosPessoais.Nome));

            // Act
            var valido = doacao.Valido();

            // Assert
            valido.Should().BeTrue(because: "os campos foram preenchidos corretamente");
            doacao.ErrorMessages.Should().BeEmpty();
        }
        public void DoacaoUI_CriacaoDoacao()         //teste de caixa preta(designação!)
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://vaquinha.azurewebsites.net/");
            _driver = _driverFactory.GetWebDriver();

            //Act1
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            //Act2
            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);

            //obs: para rodar o driver selenium tem que estar na maquina, igual aos testes usados no whatsapp
            // e os demais campos tem que estar sendo preenchidos também passando os dados igual em Act2, depois
            //é necessário dar o click em doar, também usando o selenium.

            //Assert
            //_driver.Url.Should().Contain("/Doacoes/Create");//verifica se as doacoes foram feitas/criadas
            _driver.Url.Should().Contain("/Home/Index");//verifica se efetivou e voltou para a tela de home
        }
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://vaquinha.azurewebsites.net/");
            _driver = _driverFactory.GetWebDriver();


            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);

            //preencher direto os campos
            //Depois localizar o botão que tá o doar
            // chamar o .click
            // verificar se ele fez a doação

            //Assert
            _driver.Url.Should().Contain("/Home/Index");
            _driver.Url.Should().Contain("/Doacoes/Create");
        }
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://vaquinha.azurewebsites.net/");
            _driver = _driverFactory.GetWebDriver();

            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);

            IWebElement campoEmail = _driver.FindElement(By.Id("DadosPessoais_Email"));

            campoEmail.SendKeys(doacao.DadosPessoais.Email);

            IWebElement campoMensagem = _driver.FindElement(By.Id("DadosPessoais_MensagemApoio"));

            campoMensagem.SendKeys(doacao.DadosPessoais.MensagemApoio);


            //Assert
            _driver.Url.Should().Contain("/Home/Index");
            //_driver.Url.Should().Contain("/Doacoes/Create");
        }
        public HomeControllerTests(DoacaoFixture doacaoFixture, EnderecoFixture enderecoFixture, CartaoCreditoFixture cartaoCreditoFixture)
        {
            _doacaoFixture        = doacaoFixture;
            _enderecoFixture      = enderecoFixture;
            _cartaoCreditoFixture = cartaoCreditoFixture;

            _mapper = new Mock <IMapper>();

            _doacaoValida = doacaoFixture.DoacaoValida();
            _doacaoValida.AdicionarEnderecoCobranca(enderecoFixture.EnderecoValido());
            _doacaoValida.AdicionarFormaPagamento(cartaoCreditoFixture.CartaoCreditoValido());

            _doacaoModelValida = doacaoFixture.DoacaoModelValida();
            _doacaoModelValida.EnderecoCobranca = enderecoFixture.EnderecoModelValido();
            _doacaoModelValida.FormaPagamento   = cartaoCreditoFixture.CartaoCreditoModelValido();

            _mapper.Setup(a => a.Map <DoacaoViewModel, Doacao>(_doacaoModelValida)).Returns(_doacaoValida);

            _doacaoService = new DoacaoService(_mapper.Object, _doacaoRepository.Object, _domainNotificationService);

            DbContextOptions <VaquinhaOnlineDBContext> _options = new DbContextOptionsBuilder <VaquinhaOnlineDBContext>()
                                                                  .UseInMemoryDatabase(databaseName: "VaquinhaOnlineDIOTests")
                                                                  .Options;
            var _context = new VaquinhaOnlineDBContext(_options);

            var _homeRepository  = new HomeInfoRepository(_context);
            var _causaRepository = new CausaRepository(_context);

            _homeInfoService = new HomeInfoService(_mapper.Object, _doacaoService, _globallAppConfig.Object, _homeRepository, _causaRepository);
        }
        public DoacaoControllerTests(
            DoacaoFixture doacaoFixture,
            EnderecoFixture enderecoFixture,
            CartaoCreditoFixture cartaoCreditoFixture,
            CausaFixture causaFixture,
            PessoaFixture pessoaFixture)
        {
            _doacaoFixture        = doacaoFixture;
            _enderecoFixture      = enderecoFixture;
            _cartaoCreditoFixture = cartaoCreditoFixture;
            _causaFixture         = causaFixture;
            _pessoaFixture        = pessoaFixture;

            _mapper = new Mock <IMapper>();

            _doacaoValida = doacaoFixture.DoacaoValida();
            _doacaoValida.AdicionarEnderecoCobranca(enderecoFixture.EnderecoValido());
            _doacaoValida.AdicionarFormaPagamento(cartaoCreditoFixture.CartaoCreditoValido());

            _doacaoModelValida = doacaoFixture.DoacaoModelValida();
            _doacaoModelValida.EnderecoCobranca = enderecoFixture.EnderecoModelValido();
            _doacaoModelValida.FormaPagamento   = cartaoCreditoFixture.CartaoCreditoModelValido();

            _mapper.Setup(a => a.Map <DoacaoViewModel, Doacao>(_doacaoModelValida)).Returns(_doacaoValida);

            _doacaoService = new DoacaoService(_mapper.Object, _doacaoRepository.Object, _domainNotificationService);
        }
예제 #7
0
        public void DoacaoUI_AcessarPaginaDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://localhost:44317/");
            _driver = _driverFactory.GetWebDriver();

            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.Name("btnDoar"));
            webElement.Click();

            //Assert
            _driver.Url.Should().Contain("/Doacoes/Create");
        }
예제 #8
0
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl(APPLICATION_URL);
            _driver = _driverFactory.GetWebDriver();

            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            //Assert
            _driver.Url.Should().Contain("/Doacoes/Create");
        }
예제 #9
0
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://vaquinha.azurewebsites.net/");
            _driver = _driverFactory.GetWebDriver();

            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);

            IWebElement campoEmail = _driver.FindElement(By.Id("DadosPessoais_Email"));

            campoNome.SendKeys(doacao.DadosPessoais.Email);

            IWebElement campoEnderecoCobranca = _driver.FindElement(By.Id("EnderecoCobranca_TextoEndereco"));

            campoNome.SendKeys(doacao.EnderecoCobranca.TextoEndereco);

            IWebElement campoNumero = _driver.FindElement(By.Id("EnderecoCobranca_Numero"));

            campoNome.SendKeys(doacao.EnderecoCobranca.Numero);

            IWebElement campoCidade = _driver.FindElement(By.Id("EnderecoCobranca_Cidade"));

            campoNome.SendKeys(doacao.EnderecoCobranca.Cidade);

            IWebElement campoEstado = _driver.FindElement(By.Id("estado"));

            campoNome.SendKeys(doacao.EnderecoCobranca.Estado);

            IWebElement campoCEP = _driver.FindElement(By.Id("cep"));

            campoNome.SendKeys(doacao.EnderecoCobranca.CEP);

            IWebElement campoComplemento = _driver.FindElement(By.Id("EnderecoCobranca_Complemento"));

            campoNome.SendKeys(doacao.EnderecoCobranca.Complemento);

            IWebElement campoTelefone = _driver.FindElement(By.Id("telefone"));

            campoNome.SendKeys(doacao.EnderecoCobranca.Telefone);

            //Assert
            _driver.Url.Should().Contain("/Doacoes/Create");
        }
        public void Doacao_UsuarioPagaTaxa_DoacaoValida()
        {
            // Arrange
            var doacao = _doacaoFixture.DoacaoValida(false, 5, false, true);

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());

            // Act
            var valido = doacao.Valido();

            // Assert
            doacao.Valor.Should().Be(6, because: "valor com taxa de 20%");
        }
예제 #11
0
        public void Doacao_CorretamentePreenchidos_DoacaoValida()
        {
            // Arrange prepara o cenario
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());

            // Act executa
            var valido = doacao.Valido();

            // Assert audita o resultado - biblioteca FluentAssertions
            valido.Should().BeTrue(because: "os campos foram preenchidos corretamente");
            doacao.ErrorMessages.Should().BeEmpty();
        }
예제 #12
0
        public void Doacao_CorretamentePreenchidos_DoacaoValida_SemTaxa()
        {
            // Arrange
            var doacao = _doacaoFixture.DoacaoValida(false, 5, false, false);

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());

            // Act
            var valido = doacao.Valido();

            // Assert
            valido.Should().BeTrue(because: "os campos foram preenchidos corretamente");
            doacao.Valor.Should().Be(5, because: "Valor sem o acréscimo da taxa");
            doacao.ErrorMessages.Should().BeEmpty();
        }
예제 #13
0
        public void Doacao_CorretamentePreenchidos_DoacaoValida()
        {
            // Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());

            // Act
            var valido = doacao.Valido();

            // Assert
            //Assert.True(valido); // Mesma coisa que a linha de baixo mas sem a package FluentAssertions
            valido.Should().BeTrue(because: "os campos foram preenchidos corretamente");
            doacao.ErrorMessages.Should().BeEmpty();
        }
		public void DoacaoUI_CriacaoDoacao()
		{
			//Arrange
			var doacao = _doacaoFixture.DoacaoValida();
            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
			_driverFactory.NavigateToUrl("https://vaquinha.azurewebsites.net/");
			_driver = _driverFactory.GetWebDriver();

			//Act
			IWebElement webElement = null;
			webElement = _driver.FindElement(By.ClassName("btn-yellow"));
			webElement.Click();

			//Assert
			_driver.Url.Should().Contain("/Home/Index");
		}
        public void Doacao_CorretamentePreenchidos_DoacaoValida()
        {
            //Triple A
            // Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());

            // Act
            //Verifica se todos os campos estao válidos
            var valido = doacao.Valido();

            // Assert
            //utilizando biblioteca para escrita de test mais fluente | dotnet add package fluentassertions
            //sem fluenteassertions  | Assert.True(valido);
            valido.Should().BeTrue(because: "os campos foram preenchidos corretamente");
            doacao.ErrorMessages.Should().BeEmpty();
        }
예제 #16
0
        public void Doacao_UsuarioAceitaPagarComTaxa_DoacaoValida()
        {
            // Arrange
            var doacao = _doacaoFixture.DoacaoValida(false, 5, false, true);

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());

            // Act
            var valido = doacao.Valido();

            // Assert
            /*valido.Should().BeTrue(because: "os campos foram preenchidos corretamente");*/
            doacao.Valor.Should().Be(6, because: "Valor com taxa de 20%");

            /*doacao.ErrorMessages.Should().BeEmpty();*/
        }
예제 #17
0
        public void Doacao_CorretamentePreenchidos_DoacaoValida()
        {
            // Triple A - Arrange, Act, Assert
            // Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());

            // Act
            var valido = doacao.Valido();

            // Assert
            // Assert.True(valido); se não tiver o "FluentAssertions"
            valido.Should().BeTrue(because: "os campos foram preenchidos corretamente");
            doacao.ErrorMessages.Should().BeEmpty();
        }
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://localhost:5001/");
            _driver = _driverFactory.GetWebDriver();

            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);

            //Assert
            _driver.Url.Should().Contain("/Doacoes/Create");
        }
예제 #19
0
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://localhost:44317");
            _driver = _driverFactory.GetWebDriver();

            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);


            IWebElement campoEmail = _driver.FindElement(By.Id("DadosPessoais_Email"));

            campoEmail.SendKeys(doacao.DadosPessoais.Email);

            IWebElement campoTexto = _driver.FindElement(By.Id("EndereçoCobranca_TextoEndereco"));

            campoTexto.SendKeys(doacao.EnderecoCobranca.TextoEndereco);

            IWebElement campoNumero = _driver.FindElement(By.Id("EndereçoCobranca_Numero"));

            campoNumero.SendKeys(doacao.EnderecoCobranca.Numero);

            IWebElement campoCidade = _driver.FindElement(By.Id("EndereçoCobranca_Cidade"));

            campoCidade.SendKeys(doacao.EnderecoCobranca.Cidade);

            IWebElement campoEstado = _driver.FindElement(By.Id("estado"));

            campoEstado.SendKeys(doacao.EnderecoCobranca.Estado);

            IWebElement campoCEP = _driver.FindElement(By.Id("cep"));

            campoCEP.SendKeys(doacao.EnderecoCobranca.CEP);

            IWebElement campoComplemento = _driver.FindElement(By.Id("EnderecoCobranca_Complemento"));

            campoComplemento.SendKeys(doacao.EnderecoCobranca.Complemento);

            IWebElement campoTelefone = _driver.FindElement(By.Id("telefone"));

            campoTelefone.SendKeys(doacao.EnderecoCobranca.Telefone);



            IWebElement cartaoNome = _driver.FindElement(By.Id("FormaPagamento_NomeTitular"));

            cartaoNome.SendKeys(doacao.FormaPagamento.NomeTitular);

            IWebElement cartaoNumero = _driver.FindElement(By.Id("cardNumber"));

            cartaoNumero.SendKeys(doacao.FormaPagamento.NumeroCartaoCredito);

            IWebElement cartaoData = _driver.FindElement(By.Id("validade"));

            cartaoData.SendKeys(doacao.FormaPagamento.Validade);

            IWebElement cartaoCVV = _driver.FindElement(By.Id("id"));

            cartaoCVV.SendKeys(doacao.FormaPagamento.CVV);

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            //Assert
            _driver.Url.Should().Contain("/Home/Index");
        }
예제 #20
0
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://vaquinha.azurewebsites.net/");
            _driver = _driverFactory.GetWebDriver();

            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            //--> Simulando a entrada de dados na View
            //-> Utiliza o sendkeys para preencher os campos da view
            IWebElement campoValor = _driver.FindElement(By.Id("valor"));

            campoValor.SendKeys(doacao.Valor.ToString());
            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);
            IWebElement campoEmail = _driver.FindElement(By.Id("DadosPessoais_Email"));

            campoEmail.SendKeys(doacao.DadosPessoais.Email);
            IWebElement campoMensagemApoio = _driver.FindElement(By.Id("DadosPessoais_MensagemApoio"));

            campoMensagemApoio.SendKeys(doacao.DadosPessoais.MensagemApoio);
            IWebElement campoAnonima = _driver.FindElement(By.Id("DadosPessoais_Anonima"));

            if (doacao.DadosPessoais.Anonima)
            {
                campoAnonima.SendKeys("{SPACE}");
            }
            //
            IWebElement campoEnderecoCobranca = _driver.FindElement(By.Id("EnderecoCobranca_TextoEndereco"));

            campoEnderecoCobranca.SendKeys(doacao.EnderecoCobranca.TextoEndereco);
            IWebElement campoEnderecoCobrancaNumero = _driver.FindElement(By.Id("EnderecoCobranca_Numero"));

            campoEnderecoCobrancaNumero.SendKeys(doacao.EnderecoCobranca.Numero);
            IWebElement campoEnderecoCobrancaCidade = _driver.FindElement(By.Id("EnderecoCobranca_Cidade"));

            campoEnderecoCobrancaCidade.SendKeys(doacao.EnderecoCobranca.Cidade);
            IWebElement campoEnderecoCobrancaEstado = _driver.FindElement(By.Id("estado"));

            campoEnderecoCobrancaEstado.SendKeys(doacao.EnderecoCobranca.Estado);
            IWebElement campoEnderecoCobrancaCEP = _driver.FindElement(By.Id("cep"));

            campoEnderecoCobrancaCEP.SendKeys(doacao.EnderecoCobranca.CEP);
            IWebElement campoEnderecoCobrancaComplemento = _driver.FindElement(By.Id("EnderecoCobranca_Complemento"));

            campoEnderecoCobrancaComplemento.SendKeys(doacao.EnderecoCobranca.Complemento);
            IWebElement campoEnderecoCobrancatelefone = _driver.FindElement(By.Id("telefone"));

            campoEnderecoCobrancatelefone.SendKeys(doacao.EnderecoCobranca.Telefone);
            //
            IWebElement campoFormaPagamentoNomeTitular = _driver.FindElement(By.Id("FormaPagamento_NomeTitular"));

            campoFormaPagamentoNomeTitular.SendKeys(doacao.FormaPagamento.NomeTitular);
            IWebElement campoFormaPagamentoNumerodoCartao = _driver.FindElement(By.Id("cardNumber"));

            campoFormaPagamentoNumerodoCartao.SendKeys(doacao.FormaPagamento.NumeroCartaoCredito);
            IWebElement campoFormaPagamentoValidade = _driver.FindElement(By.Id("validade"));

            campoFormaPagamentoValidade.SendKeys(doacao.FormaPagamento.Validade);
            IWebElement campoFormaPagamentoCVV = _driver.FindElement(By.Id("cvv"));

            campoFormaPagamentoCVV.SendKeys(doacao.FormaPagamento.CVV);
            //Aciona o botão Doar
            //webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            //webElement.Click();
            //<--

            //Assert
            //_driver.Url.Should().Contain("/Doacoes/Create");
            //-> Alterado para verificar se acessa a index;
            _driver.Url.Should().Contain("/Home/index");
        }
예제 #21
0
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://vaquinha.azurewebsites.net/");
            _driver = _driverFactory.GetWebDriver();

            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);

            IWebElement campoEmail = _driver.FindElement(By.Id("DadosPessoais_Email"));

            campoEmail.SendKeys(doacao.DadosPessoais.Email);

            IWebElement cep = _driver.FindElement(By.Id("cep"));

            cep.SendKeys(doacao.EnderecoCobranca.CEP);

            IWebElement endereco = _driver.FindElement(By.Id("EnderecoCobranca_TextoEndereco"));

            endereco.SendKeys(doacao.EnderecoCobranca.TextoEndereco);

            IWebElement numero = _driver.FindElement(By.Id("EnderecoCobranca_Numero"));

            numero.SendKeys(doacao.EnderecoCobranca.Numero);

            IWebElement cidade = _driver.FindElement(By.Id("EnderecoCobranca_Cidade"));

            cidade.SendKeys(doacao.EnderecoCobranca.Cidade);

            IWebElement telefone = _driver.FindElement(By.Id("telefone"));

            telefone.SendKeys(doacao.EnderecoCobranca.Telefone);

            IWebElement titular = _driver.FindElement(By.Id("FormaPagamento_NomeTitular"));

            titular.SendKeys(doacao.FormaPagamento.NomeTitular);

            IWebElement cardNumber = _driver.FindElement(By.Id("cardNumber"));

            cardNumber.SendKeys(doacao.FormaPagamento.NumeroCartaoCredito);

            IWebElement cvv = _driver.FindElement(By.Id("cvv"));

            cvv.SendKeys(doacao.FormaPagamento.CVV);

            IWebElement validade = _driver.FindElement(By.Id("validade"));

            validade.SendKeys(doacao.FormaPagamento.Validade);

            IWebElement btnDoar = _driver.FindElement(By.ClassName("btn-yellow"));

            btnDoar.Click();

            //Assert
            _driver.Url.Should().Contain("/Home/Index");
        }
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://vaquinha.azurewebsites.net/");
            _driver = _driverFactory.GetWebDriver();

            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            //preencher os campos da doação
            IWebElement campoValor = _driver.FindElement(By.Id("valor"));

            campoValor.SendKeys(doacao.Valor.ToString());

            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);

            IWebElement campoEmail = _driver.FindElement(By.Id("DadosPessoais_Email"));

            campoEmail.SendKeys(doacao.DadosPessoais.Email);

            IWebElement campoMensagem = _driver.FindElement(By.Id("DadosPessoais_MensagemApoio"));

            campoMensagem.SendKeys(doacao.DadosPessoais.MensagemApoio);

            IWebElement campoEndereco = _driver.FindElement(By.Id("EnderecoCobranca_TextoEndereco"));

            campoEndereco.SendKeys(doacao.EnderecoCobranca.TextoEndereco);

            IWebElement campoNumero = _driver.FindElement(By.Id("EnderecoCobranca_Numero"));

            campoNumero.SendKeys(doacao.EnderecoCobranca.Numero);

            IWebElement campoCidade = _driver.FindElement(By.Id("EnderecoCobranca_Cidade"));

            campoCidade.SendKeys(doacao.EnderecoCobranca.Cidade);

            IWebElement campoEstado = _driver.FindElement(By.Id("estado"));

            campoEstado.SendKeys(doacao.EnderecoCobranca.Estado);

            IWebElement campoCEP = _driver.FindElement(By.Id("cep"));

            campoCEP.SendKeys(doacao.EnderecoCobranca.CEP);

            IWebElement campoComplemento = _driver.FindElement(By.Id("EnderecoCobranca_Complemento"));

            campoComplemento.SendKeys(doacao.EnderecoCobranca.Complemento);

            IWebElement campoTelefone = _driver.FindElement(By.Id("telefone"));

            campoTelefone.SendKeys(doacao.EnderecoCobranca.Telefone);

            IWebElement campoNomeTitularPagamento = _driver.FindElement(By.Id("FormaPagamento_NomeTitular"));

            campoNomeTitularPagamento.SendKeys(doacao.FormaPagamento.NomeTitular);

            IWebElement campoNumeroCartaoPagamento = _driver.FindElement(By.Id("cardNumber"));

            campoNumeroCartaoPagamento.SendKeys(doacao.FormaPagamento.NumeroCartaoCredito);

            IWebElement campoValidadePagamento = _driver.FindElement(By.Id("validade"));

            campoValidadePagamento.SendKeys(doacao.FormaPagamento.Validade);

            IWebElement campoNumeroCVVPagamento = _driver.FindElement(By.Id("cvv"));

            campoNumeroCVVPagamento.SendKeys(doacao.FormaPagamento.CVV);

            IWebElement botaoDoar = _driver.FindElement(By.ClassName("btn-yellow"));

            botaoDoar.Click();

            //Assert
            _driver.Url.Should().Contain("/");
        }
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl(baseUrl);
            _driver = _driverFactory.GetWebDriver();

            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            IWebElement valor = _driver.FindElement(By.Id("valor"));

            valor.SendKeys("10");

            // dados pessoais
            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);

            IWebElement campoEmail = _driver.FindElement(By.Id("DadosPessoais_Email"));

            campoEmail.SendKeys(doacao.DadosPessoais.Email);

            IWebElement mensagemApoio = _driver.FindElement(By.Id("DadosPessoais_MensagemApoio"));

            mensagemApoio.SendKeys(doacao.DadosPessoais.MensagemApoio);



            // endereco de cobranca

            IWebElement textoEndereco = _driver.FindElement(By.Id("EnderecoCobranca_TextoEndereco"));

            textoEndereco.SendKeys(doacao.EnderecoCobranca.TextoEndereco);

            IWebElement numeroEndereco = _driver.FindElement(By.Id("EnderecoCobranca_Numero"));

            numeroEndereco.SendKeys(doacao.EnderecoCobranca.Numero);

            IWebElement cidadeCobranca = _driver.FindElement(By.Id("EnderecoCobranca_Cidade"));

            cidadeCobranca.SendKeys(doacao.EnderecoCobranca.Cidade);

            IWebElement cepEndereco = _driver.FindElement(By.Id("cep"));

            cepEndereco.SendKeys(doacao.EnderecoCobranca.CEP);

            IWebElement complementoEndereco = _driver.FindElement(By.Id("EnderecoCobranca_Complemento"));

            complementoEndereco.SendKeys(doacao.EnderecoCobranca.Complemento);

            IWebElement telefoneEndereco = _driver.FindElement(By.Id("telefone"));

            telefoneEndereco.SendKeys(doacao.EnderecoCobranca.Telefone);

            // dados para pagamento

            IWebElement nomeTPagamento = _driver.FindElement(By.Id("FormaPagamento_NomeTitular"));

            nomeTPagamento.SendKeys(doacao.FormaPagamento.NomeTitular);

            IWebElement cartaoPagamento = _driver.FindElement(By.Id("cardNumber"));

            cartaoPagamento.SendKeys(doacao.FormaPagamento.NumeroCartaoCredito);

            IWebElement validadeCartaoPagamento = _driver.FindElement(By.Id("validade"));

            validadeCartaoPagamento.SendKeys(doacao.FormaPagamento.Validade);

            IWebElement cvvPagamento = _driver.FindElement(By.Id("cvv"));

            cvvPagamento.SendKeys(doacao.FormaPagamento.CVV);

            //Assert
            _driver.Url.Should().Contain(baseUrl + "Doacoes/Create");
        }
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://myvaquinhatest.azurewebsites.net/Doacoes/Create");
            _driver = _driverFactory.GetWebDriver();

            //Act
            // Dados Pessoais
            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);

            IWebElement campoEmail = _driver.FindElement(By.Id("DadosPessoais_Email"));

            campoEmail.SendKeys(doacao.DadosPessoais.Email);

            IWebElement campoMensangemApoio = _driver.FindElement(By.Id("DadosPessoais_MensagemApoio"));

            campoMensangemApoio.SendKeys(doacao.DadosPessoais.MensagemApoio);
            // Dados Endereço de Cobrança
            IWebElement campoEndereçoCobrança = _driver.FindElement(By.Id("EnderecoCobranca_TextoEndereco"));

            campoEndereçoCobrança.SendKeys(doacao.EnderecoCobranca.TextoEndereco);

            IWebElement campoNumero = _driver.FindElement(By.Id("EnderecoCobranca_Numero"));

            campoNumero.SendKeys(doacao.EnderecoCobranca.Numero);

            IWebElement campoCidade = _driver.FindElement(By.Id("EnderecoCobranca_Cidade"));

            campoCidade.SendKeys(doacao.EnderecoCobranca.Cidade);

            IWebElement campoEstado = _driver.FindElement(By.Id("estado"));

            campoEstado.SendKeys(doacao.EnderecoCobranca.Estado);

            IWebElement campoCEP = _driver.FindElement(By.Id("cep"));

            campoCEP.SendKeys(doacao.EnderecoCobranca.CEP);

            IWebElement campoComplemento = _driver.FindElement(By.Id("EnderecoCobranca_Complemento"));

            campoComplemento.SendKeys(doacao.EnderecoCobranca.Complemento);

            IWebElement campoTelefone = _driver.FindElement(By.Id("telefone"));

            campoTelefone.SendKeys(doacao.EnderecoCobranca.Telefone);

            // Dados pagamento

            IWebElement campoNomeTitular = _driver.FindElement(By.Id("FormaPagamento_NomeTitular"));

            campoNomeTitular.SendKeys(doacao.FormaPagamento.NomeTitular);

            IWebElement campoNumeroCartao = _driver.FindElement(By.Id("cardNumber"));

            campoNumeroCartao.SendKeys(doacao.FormaPagamento.NumeroCartaoCredito);

            IWebElement campoValidade = _driver.FindElement(By.Id("validade"));

            campoValidade.SendKeys(doacao.FormaPagamento.Validade);

            IWebElement campoCVV = _driver.FindElement(By.Id("cvv"));

            campoCVV.SendKeys(doacao.FormaPagamento.CVV);

            //Assert
            _driver.Url.Should().Contain("/Doacoes/Create");
        }
        public void DoacaoUI_CriacaoDoacao()
        {
            //Arrange
            var doacao = _doacaoFixture.DoacaoValida();

            doacao.AdicionarEnderecoCobranca(_enderecoFixture.EnderecoValido());
            doacao.AdicionarFormaPagamento(_cartaoCreditoFixture.CartaoCreditoValido());
            _driverFactory.NavigateToUrl("https://vaquinha.azurewebsites.net/");
            _driver = _driverFactory.GetWebDriver();

            //Act
            IWebElement webElement = null;

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            IWebElement campoNome = _driver.FindElement(By.Id("DadosPessoais_Nome"));

            campoNome.SendKeys(doacao.DadosPessoais.Nome);

            IWebElement campoEmail = _driver.FindElement(By.Id("DadosPessoais_Email"));

            campoNome.SendKeys(doacao.DadosPessoais.Email);

            IWebElement campoMsgApoio = _driver.FindElement(By.Id("DadosPessoais_MensagemApoio"));

            campoNome.SendKeys(doacao.DadosPessoais.MensagemApoio);

            //Dados do Endereço
            IWebElement campoEndereçoCobrança = _driver.FindElement(By.Id("EnderecoCobranca_TextoEndereco"));

            campoNome.SendKeys(doacao.EnderecoCobranca.TextoEndereco);

            IWebElement campoNumeroEndereçoCobrança = _driver.FindElement(By.Id("EnderecoCobranca_Numero"));

            campoNome.SendKeys(doacao.EnderecoCobranca.Numero);

            IWebElement campoCidadeEndereçoCobrança = _driver.FindElement(By.Id("EnderecoCobranca_Cidade"));

            campoNome.SendKeys(doacao.EnderecoCobranca.Cidade);

            IWebElement campoEstadoEndereçoCobrança = _driver.FindElement(By.Id("EnderecoCobranca_Estado"));

            campoNome.SendKeys(doacao.EnderecoCobranca.Estado);

            IWebElement campoCepEndereçoCobrança = _driver.FindElement(By.Id("EnderecoCobranca_Cep"));

            campoNome.SendKeys(doacao.EnderecoCobranca.CEP);

            IWebElement campoComplementoEndereçoCobrança = _driver.FindElement(By.Id("EnderecoCobranca_Complemento"));

            campoNome.SendKeys(doacao.EnderecoCobranca.Complemento);

            IWebElement campoTelefoneEndereçoCobrança = _driver.FindElement(By.Id("EnderecoCobranca_Telefone"));

            campoNome.SendKeys(doacao.EnderecoCobranca.Telefone);

            //Dados da forma de pagamento
            IWebElement campoFormaPagamentoNomeTitular = _driver.FindElement(By.Id("FormaPagamento_NomeTitular"));

            campoNome.SendKeys(doacao.FormaPagamento.NomeTitular);

            IWebElement campoNumeroCartaoCredito = _driver.FindElement(By.Id("cardNumber"));

            campoNome.SendKeys(doacao.FormaPagamento.NumeroCartaoCredito);

            IWebElement campoValidadeCartaoCredito = _driver.FindElement(By.Id("validade"));

            campoNome.SendKeys(doacao.FormaPagamento.Validade);

            IWebElement campoCVVCartaoCredito = _driver.FindElement(By.Id("cvv"));

            campoNome.SendKeys(doacao.FormaPagamento.CVV);

            webElement = _driver.FindElement(By.ClassName("btn-yellow"));
            webElement.Click();

            //Assert
            _driver.Url.Should().Contain("/Doacoes/Create");
            _driver.Url.Should().Contain("/Home/Index");
        }