예제 #1
0
        public void DesfazerAcertoDePromotorComCobrancaGerada_8200()
        {
            MultiClubesFunctions McFunctions = new MultiClubesFunctions();
            MultiClubesMenus     McMenus     = new MultiClubesMenus();

            var dc = new DesiredCapabilities();

            dc.SetCapability("app", @"\\tsidev\Triade\Application\Dev\MultiClubes\System\MultiClubes\MultiClubes.UI.application");
            dc.SetCapability("debugConnectToRunningApp", true);
            RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:9999"), dc);

            // 1. Pré-requisito: Acerto de comissão gerada para o promotor @NomePromotor, associado ao título  @IdTitulo
            McMenus.AcessarMenuOperacaoFinanceiroAcertoDeComissao();

            McFunctions.SearchElementByNameAndClick("Localizar");

            McFunctions.WaitForElementLoad(By.Id("listView"));
            List <IWebElement> elementlist = new List <IWebElement>();

            elementlist.AddRange(driver.FindElement(By.Id("listView")).FindElements(By.Name("Sophie Promotor")));

            if (elementlist.Count > 0)
            {
                new Actions(driver).ContextClick(elementlist[0]).Perform();
                McFunctions.SearchElementByNameAndClick("Gerar acerto");
                McFunctions.SearchElementByNameAndClick("Sim");
                McFunctions.SearchElementByIdAndClick("buttonCancel", true);
            }
            //3.Logar no MultiClubes
            // Presente no TestInitialize

            //4.Acessar Central de Atendimento
            McFunctions.AcessarCentralDeAtendimento();

            //5.Localizar e Acessar Título
            McFunctions.AcessarCentralDeAtendimento();
            McFunctions.SearchHolder("008Pro");

            //6.Acessar o menu Produtos
            //Serem apresentadas as opções A receber, Recebido, Desativados, Créditos, Resgate, Parcelamento e Mudar promotor
            //// Já vem marcada como default

            //7.Clicar na opção A receber
            //Ser apresentada tela contendo as parcelas de produtos a receber, constando parcela do produto Acerto promotor
            McFunctions.AcessarProdutosAReceber();

            //8.Copiar o valor referente a coluna Nosso número
            McFunctions.WaitForElementLoad(By.Id("listViewParcel"));
            var ListViewParcelElements = driver.FindElement(By.Id("listViewParcel")).FindElements(By.Id(""));
            int counterStep8           = 0;

            foreach (IWebElement i in ListViewParcelElements)
            {
                if (i.GetAttribute("Name") == "Acerto Promotor")
                {
                    break;
                }
                counterStep8++;
            }

            var nossoNumero = ListViewParcelElements[counterStep8 + 6].GetAttribute("Name");

            McFunctions.CloseWindow();

            //9.Clicar no menu Cobranças
            //Serem apresentadas as opções Ativas, Desativadas e Editar Cobranças
            //10.Clicar na opção Ativas
            //Ser apresentada tela contendo as cobranças ativas, constando na coluna Nosso número o mesmo valor do número copiado no passo 8
            McFunctions.AcessarCobrancasAtivas();

            McFunctions.WaitForElementLoad(By.Id("listViewDun"));
            var  listViewDunElements = driver.FindElement(By.Id("listViewDun")).FindElements(By.Id(""));
            int  counterStep9        = 0;
            bool encontrounn         = false;

            foreach (IWebElement i in listViewDunElements)
            {
                if (i.GetAttribute("Name") == nossoNumero)
                {
                    encontrounn = true;
                    break;
                }
                counterStep9++;
            }

            Assert.IsTrue(encontrounn, "Nosso numero encontrado");

            McFunctions.CloseWindow();

            McFunctions.FinalizarAtendimentoTitulo();

            //11.Acessar Acerto de Comissão
            McMenus.AcessarMenuOperacaoFinanceiroAcertoDeComissao();

            //12.Clicar no menu Histórico
            //Ser apresentada tela para acessar o histórico de acertos de promotores gerados
            McFunctions.SearchElementByIdAndClick("sideButtonClassHistoric");

            McFunctions.SearchElementByNameAndClick("Promotor", true);
            Thread.Sleep(500);
            McFunctions.SearchElementByNameAndClick("Promotor");

            //13.Clicar no botão Localizar
            //Ser apresentada lista contendo todos os acertos de promotores gerados
            McFunctions.SearchElementByIdAndClick("buttonFilter");

            //14.Localizar e clicar no acerto de comissão referente aos passos 7 e 10
            //Registro de acerto ser corretamente selecionado e apresentado em destaque
            //15.Dar duplo clique no registro de acerto de promotor
            //Ser apresentada tela contendo Detalhe do acerto da comissão

            new Actions(driver).DoubleClick(driver.FindElementsByName("Sophie Promotor")[3]).Build().Perform();

            //16.Clicar no botão Opções
            //Ser apresentado sub - menu contendo as opções disponíveis
            McFunctions.SearchElementByNameAndClick("Opções");

            //17.No sub-menu, clicar na opção Desfazer acerto
            //Ser apresentada tela solicitando confirmação para desfazer acerto de comissão para o promotor
            McFunctions.SearchElementByNameAndClick("Desfazer acerto");

            //18.Clicar no botão Sim
            //Acerto de comissão de promotor ser corretamente desfeito e ser apresentada tela de histórico de acertos sem constar o acerto de comissão desfeito
            McFunctions.SearchElementByNameAndClick("Sim");

            McFunctions.CloseWindow();

            McFunctions.CloseWindow();

            //19.Acessar Central de Atendimento
            McFunctions.AcessarCentralDeAtendimento();

            //20.Localizar e Acessar Título
            McFunctions.AcessarCentralDeAtendimento();
            McFunctions.SearchHolder("008Pro");

            //21.Repetir os passos 6 e 7
            //Ser apresentada tela contendo as parcelas de produtos a receber, não constando parcela do produto Acerto promotor, desfeita no passo 18
            McFunctions.AcessarProdutosAReceber();

            McFunctions.WaitForElementLoad(By.Id("listViewParcel"));
            var  NewlistViewParcelElements = driver.FindElement(By.Id("listViewParcel")).FindElements(By.Id(""));
            var  counterStep21             = 0;
            bool encontrouacertopromotor   = false;

            foreach (IWebElement i in NewlistViewParcelElements)
            {
                if (i.GetAttribute("Name") == "Acerto Promotor")
                {
                    encontrouacertopromotor = true;
                    break;
                }
                counterStep21++;
            }
            Assert.IsFalse(encontrouacertopromotor, "Acerto Promotor continuou em Produtos a receber");

            McFunctions.CloseWindow();

            //22.Repetir os passos 9 e 10
            //Ser apresentada tela contendo as cobranças ativas, não constando cobrança referente ao acerto de comissão de promotor, desfeita no passo 18
            McFunctions.AcessarCobrancasAtivas();

            McFunctions.WaitForElementLoad(By.Id("listViewDun"));
            var  NewListViewDunElements = driver.FindElement(By.Id("listViewDun")).FindElements(By.Id(""));
            var  counterStep22          = 0;
            bool encontrounn2           = false;

            foreach (IWebElement i in NewListViewDunElements)
            {
                if (i.GetAttribute("Name") == nossoNumero)
                {
                    encontrounn = true;
                    break;
                }
                counterStep22++;
            }
            Assert.IsFalse(encontrounn2, "Nosso numero encontrado nas cobranças ativas");
            McFunctions.CloseWindow();

            McFunctions.FinalizarAtendimentoTitulo();
            McFunctions.CloseWindow("Central de Atendimento");
        }