示例#1
0
文件: Faq.cs 项目: 232629/test
        public void Faq(string lng)
        {
            #region Test Data

            string login = "******";
            string pas   = "******";

            Actions action  = new Actions(ngWebDriver);
            Actions action1 = new Actions(ngWebDriver.WrappedDriver);


            #endregion

            //Create user with account currency = 'currency'
            LoginHelper.Login(ngWebDriver, lng, login, pas);

            PageTradingAccountsReal pageTradingAccountsReal = new PageTradingAccountsReal(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
            pageTradingAccountsReal.LnkFaq.Click();

            PageFaq pageFaq = new PageFaq(ngWebDriver, lng);
            pageFaq.WaitLoadPage(pageFaq);

            pageFaq.WaitDisplayElements(pageFaq.LblVideo1);
            Assert.AreEqual("How to upload documents?", pageFaq.LblVideo1.Text);
            pageFaq.LblVideo1.Click();
            pageFaq.WaitDisplayElements(pageFaq.BtnCloseVideo1);
            Thread.Sleep(1000);
            pageFaq.BtnCloseVideo1.Click();


            pageFaq.WaitDisplayElements(pageFaq.LblVideo2);
            Assert.AreEqual("How to deposit by credit card?", pageFaq.LblVideo2.Text);
            pageFaq.LblVideo2.Click();
            pageFaq.WaitDisplayElements(pageFaq.BtnCloseVideo2);
            Thread.Sleep(1000);
            pageFaq.BtnCloseVideo2.Click();


            pageFaq.WaitDisplayElements(pageFaq.LblVideo3);
            Assert.AreEqual("How to deposit by Bank Wire?", pageFaq.LblVideo3.Text);
            pageFaq.LblVideo3.Click();
            pageFaq.WaitDisplayElements(pageFaq.BtnCloseVideo3);
            Thread.Sleep(1000);
            pageFaq.BtnCloseVideo3.Click();


            pageFaq.WaitDisplayElements(pageFaq.LblVideo4);
            Assert.AreEqual("How to create more accounts?", pageFaq.LblVideo4.Text);
            pageFaq.LblVideo4.Click();
            pageFaq.WaitDisplayElements(pageFaq.BtnCloseVideo4);
            Thread.Sleep(1000);
            pageFaq.BtnCloseVideo4.Click();
        }
示例#2
0
        public void CreateRealAccount(string accountType, string lng)
        {
            #region Test Data

            List <string> CurrencyList = new List <string>();
            switch (accountType)
            {
            case "MT4":
                CurrencyList.Add("EUR");
                CurrencyList.Add("GBP");
                CurrencyList.Add("USD");
                break;

            case "MT5":
                CurrencyList.Add("EUR");
                CurrencyList.Add("GBP");
                CurrencyList.Add("USD");
                break;

            case "cTrader":
                CurrencyList.Add("EUR");
                CurrencyList.Add("GBP");
                CurrencyList.Add("USD");
                break;

            default:
                break;
            }

            #endregion

            LoginHelper.Login(ngWebDriver, lng);

            PageTradingAccountsReal pageTradingAccountsReal = new PageTradingAccountsReal(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
            PageCreateRealAccount pageCreateRealAccount = new PageCreateRealAccount(ngWebDriver, lng);

            for (int i = 0; i < CurrencyList.Count; i++)
            {
                pageTradingAccountsReal.LnkCreateNewAccount.Click();
                pageCreateRealAccount.WaitLoadPage(pageCreateRealAccount);
                pageCreateRealAccount.CmbSelectAccountType.SetValueAfterClick(accountType);
                pageCreateRealAccount.CmbSelectLeverage.SetValueAfterClick(0);
                //checking currencies' list
                pageCreateRealAccount.CmbSelectCurrencyBase.GetValuesList().Should().BeEquivalentTo(CurrencyList);
                pageCreateRealAccount.CmbSelectCurrencyBase.SetValueAfterClick(i);
                pageCreateRealAccount.BtnCreate.Click();
                pageCreateRealAccount.WaitLoadPage(pageTradingAccountsReal);
                Thread.Sleep(3000);
            }
        }
示例#3
0
        public void BankTransferDeposit(string currency, string lng)
        {
            #region Test Data

            #endregion

            //Create user with account currency = 'currency'
            LoginHelper.Login(ngWebDriver, lng);

            PageTradingAccountsReal pageTradingAccountsReal = new PageTradingAccountsReal(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
            pageTradingAccountsReal.BtnQuickDeposit.Click();

            PageDeposit pageDeposit = new PageDeposit(ngWebDriver, lng);
            pageDeposit.WaitLoadPage(pageDeposit);
            pageDeposit.BtnBankwire.Click();

            PageDepositBankWire pageDepositBankWire = new PageDepositBankWire(ngWebDriver, lng);
            pageDepositBankWire.WaitLoadPage(pageDepositBankWire);
            pageDepositBankWire.CmbAccountNumber.SetValueAfterClick(0);
            pageDepositBankWire.CmbBank.SetValueAfterClick(0);
            pageDepositBankWire.CmbCurrency.SetValueAfterClick(currency);
            pageDepositBankWire.BtnGetTransferDetails.Click();

            PageTransferInstructions pageTransferInstructions = new PageTransferInstructions(ngWebDriver, lng);
            pageTransferInstructions.WaitLoadPage(pageTransferInstructions);

            Assert.AreEqual("Beneficiary name", pageTransferInstructions.LblName(0).Text);
            Assert.AreEqual("Benificiary bank name", pageTransferInstructions.LblName(1).Text);
            Assert.AreEqual("Bank address", pageTransferInstructions.LblName(2).Text);
            Assert.AreEqual("SWIFT/BIC", pageTransferInstructions.LblName(3).Text);
            Assert.AreEqual("IBAN", pageTransferInstructions.LblName(4).Text);
            Assert.AreEqual("Payment details", pageTransferInstructions.LblName(5).Text);
            Assert.AreEqual("Currency", pageTransferInstructions.LblName(6).Text);

            Assert.AreEqual("FxPro Global Markets MENA Limited", pageTransferInstructions.LblValue(0).Text);
            Assert.AreEqual("Emirates NBD", pageTransferInstructions.LblValue(1).Text);
            Assert.AreEqual("P.O. Box 777 Baniyas Road, Dubai United Arab Emirates", pageTransferInstructions.LblValue(2).Text);
            Assert.AreEqual("EBILAEADXXX", pageTransferInstructions.LblValue(3).Text);
            Assert.IsTrue(pageTransferInstructions.LblValue(5).Text.Contains("FXPRO WALLET NUMBER:"));
            Assert.AreEqual(currency, pageTransferInstructions.LblValue(6).Text);
        }
示例#4
0
        public void MakeDepositIngenico(string lng)
        {
            #region Test Data

            string login      = "******";
            string pas        = "******";
            var    currencies = new[] { "EUR", "GBP", "USD" };

            #endregion

            //Create user with account currency = 'currency'
            LoginHelper.Login(ngWebDriver, lng, login, pas);

            PageTradingAccountsReal pageTradingAccountsReal = new PageTradingAccountsReal(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
            pageTradingAccountsReal.BtnMakeFirstDeposit.Click();

            PageDeposit pageDeposit = new PageDeposit(ngWebDriver, lng);
            pageDeposit.WaitLoadPage(pageDeposit);

            pageDeposit.BtnIngenico.Click();

            PageDepositIngenico pageDepositIngenico = new PageDepositIngenico(ngWebDriver, lng);
            pageDepositIngenico.WaitLoadPage(pageDepositIngenico);

            Assert.AreEqual("The minimum deposit accepted depends on the currency selected.\r\nThe maximum deposit accepted depends on the currency selected.", pageDepositIngenico.LblLimitation.Text);
            pageDepositIngenico.CmbCurrency.GetValuesList().Should().BeEquivalentTo(currencies);

            foreach (var currency in currencies)
            {
                pageDepositIngenico.CmbCurrency.SetValueAfterClick(currency);
                Assert.AreEqual("The minimum deposit amount accepted is 100 " + currency + ".\r\nThe maximum deposit amount accepted is 10000 " + currency + ".", pageDepositIngenico.LblLimitation.Text);
            }

            pageDepositIngenico.BtnDeposit.Click();
            //redirect to Ingenico
        }
示例#5
0
        public void CreateDemoAccount(string accountType, string lng)
        {
            #region Test Data

            #endregion

            LoginHelper.Login(ngWebDriver, lng);

            PageTradingAccountsReal pageTradingAccountsReal = new PageTradingAccountsReal(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);

            PageTradingAccountsDemo pageTradingAccountsDemo = new PageTradingAccountsDemo(ngWebDriver, lng);

            pageTradingAccountsDemo.LnkDemoAccounts.Click();
            pageTradingAccountsDemo.LnkCreateNewAccount.Click();
            PageCreateDemoAccount pageCreateDemoAccount = new PageCreateDemoAccount(ngWebDriver, lng);
            pageCreateDemoAccount.WaitLoadPage(pageCreateDemoAccount);

            //take is count Account Currency Base
            pageCreateDemoAccount.CmbSelectAccountType.SetValueAfterClick(accountType);
            var countCurrency = pageCreateDemoAccount.CmbSelectCurrencyBase.Count();
            pageCreateDemoAccount.LnkBack.Click();

            for (int i = 0; i < countCurrency; i++)
            {
                pageTradingAccountsDemo.LnkCreateNewAccount.Click();
                pageCreateDemoAccount.WaitLoadPage(pageCreateDemoAccount);
                pageCreateDemoAccount.CmbSelectAccountType.SetValueAfterClick(accountType);
                pageCreateDemoAccount.CmbSelectLeverage.SetValueAfterClick(0);
                pageCreateDemoAccount.CmbSelectCurrencyBase.SetValueAfterClick(i);
                pageCreateDemoAccount.TxtAmount.SendKeys("1000");
                pageCreateDemoAccount.BtnCreate.Click();
                pageCreateDemoAccount.WaitLoadPage(pageTradingAccountsDemo);
                Thread.Sleep(3000);
            }
        }
示例#6
0
        public void LegalDocumentation(string lng)
        {
            #region Test Data

            #endregion

            //Create user
            LoginHelper.Login(ngWebDriver, lng);

            PageTradingAccountsReal pageTradingAccountsReal = new PageTradingAccountsReal(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
            pageTradingAccountsReal.BtnMenuProfile.Click();
            pageTradingAccountsReal.LnkMenuMyProfile.Click();

            PageProfile pageProfile = new PageProfile(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageProfile);
            pageProfile.LnkLegalDocumentation.Click();

            PageLegalDocumentation pageLegalDocumentation = new PageLegalDocumentation(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnClientAgreement.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/Client_Agreement.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnClientAgreementAr.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/Client_Agreement_ar.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnComplaintsHandlingProcedure.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/Complaints_Handling_Procedure.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnOrderExecutionPolicy.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/Order_Execution_Policy.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnOrderExecutionPolicyAr.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/Order_Execution_Policy_ar.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnClientCategorisationNotice.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/Client_Categorisation_Notice.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnConflictsOfInterestPolicy.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/Conflict_of_Interest_Policy.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnFxProWallet.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/FxPro_Wallet.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnRiskDisclosure.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/Risk_Disclosure_Notice.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnRiskDisclosureAr.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/Risk_Disclosure_Notice_ar.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnRetailRiskDisclosure.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/Retail_FX_Risk_Disclosure_Statement.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);

            pageLegalDocumentation.BtnTermsAndConditionsForFixedSpreadAccount.Click();
            Assert.AreEqual(@"https://datarepo.fxpro.co.uk/legal/mena/Terms_and_Conditions_for_Fixed_Spread_Account.pdf", ngWebDriver.WrappedDriver.Url);
            ngWebDriver.WrappedDriver.Navigate().Back();
            pageTradingAccountsReal.WaitLoadPage(pageLegalDocumentation);
        }
        public void RegistrationNewUser_UAE_Score4(string lng)
        {
            #region Test Data

            var randomPart = RegistrationHelper.GetRandomNumberPhone(new Random(), 6);

            DataStep0 dataStep0 = new DataStep0();
            dataStep0.TxtEmail = randomPart + "@testing.test";
            Log.Info("Email new user = "******"******";
            Log.Info("Password new user = "******"TestNameUAE";
            dataStep0.TxtLastName  = "TestLastNameUAE";
            dataStep0.CmbCountry   = "United Arab Emirates";
            dataStep0.BtnNexStep   = true;

            DataStep1 dataStep1 = new DataStep1();
            dataStep1.TxtAddress     = "Al Safa Street 1";
            dataStep1.TxtCity        = "Dubai";
            dataStep1.CmbEmirate     = "Dubai";
            dataStep1.TxtBirthdate   = "01/01/1990";
            dataStep1.TxtPhone       = "971500000000";
            dataStep1.CmbNationality = "United Arab Emirates";
            dataStep1.BtnNexStep     = true;

            DataStep2 dataStep2 = new DataStep2();
            //Employment Information
            dataStep2.CmbEmployment       = "Employed";
            dataStep2.CmbEmploymentType   = "Financial Services";
            dataStep2.CmbLevelOfEducation = "Master’s Degree or equivalent";
            //Financial Information
            dataStep2.CmbAnnualIncome      = "> $1,000,000";
            dataStep2.CmbEstimatedNetWorth = "> $5,000,000";
            dataStep2.CmbSourceOfIncome    = "Savings / Investments";
            dataStep2.CmbDeposit           = "> $1,000,000";
            dataStep2.ChkToTradeCFDs       = true;
            dataStep2.UsCitizen            = new DataStep2.DataUsCitizen(btnUScitizen: false);
            //Trading Experience
            dataStep2.CmbTradingExperience          = "No";
            dataStep2.ChkHaveRelevantEducational    = true;
            dataStep2.ChkIRegularlyMonitorNews      = true;
            dataStep2.ChkIHaveReadMaterialOnTrading = true;

            dataStep2.CmbQuestion1 = "2,000 EUR";
            dataStep2.CmbQuestion2 = "A take profit order";
            dataStep2.CmbQuestion3 = "1:50";

            dataStep2.ChkProfessionalClientYes           = true;
            dataStep2.CmbLeveragedProductExperience      = "Other";
            dataStep2.TxtLeveragedProductExperienceOther = "I am good";

            dataStep2.BtnNexStep = true;

            DataStep3 dataStep3 = new DataStep3();
            dataStep3.CmbAccountType              = "MT4";
            dataStep3.CmbCurrencyBase             = "EUR";
            dataStep3.BtnVerifyYourProfileNo      = true;
            dataStep3.ChkReceiveCompanyNews       = true;
            dataStep3.ChkReceiveTechnicalAnalysis = true;
            dataStep3.ChkAcceptRisks              = true;
            dataStep3.CmbLanguage        = "English";
            dataStep3.ChkClientAgreement = true;
            //dataStep3.BtnComplete = true;

            #endregion

            //Login page
            PageLogin pageLogin = new PageLogin(ngWebDriver, lng);
            pageLogin.GoToPage(pageLogin.ExpectedUrl);
            Assert.AreEqual(pageLogin.ExpectedUrl, ngWebDriver.Url);
            pageLogin.LnkCreateAnAccount.Click();
            ngWebDriver.WaitForAngular();

            //Registration Step 0
            RegistrationHelper.RegistrationStep0(ngWebDriver, dataStep0, lng);

            //Registration Step 1
            RegistrationHelper.RegistrationStep1(ngWebDriver, dataStep1, lng);

            //Registration Step 2
            RegistrationHelper.RegistrationStep2(ngWebDriver, dataStep2, lng);

            //Registration Step 3
            RegistrationHelper.RegistrationStep3(ngWebDriver, dataStep3, lng);

            PageRregisterStep3 pageRregisterStep3 = new PageRregisterStep3(ngWebDriver, lng);
            Assert.AreEqual(@"I am aware that trading leveraged products might result in losing all invested capital. I also understand that based on my experience and the responses I have provided in the appropriateness test, I may benefit from learning more about trading CFDs and the risks involved, and wish to proceed with opening a real trading account.", pageRregisterStep3.LblSubmissionRiskAwareness.Text);
            pageRregisterStep3.BtnComplete.Click();

            PageTradingAccountsReal pageTradingAccountsReal = new PageTradingAccountsReal(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
        }
        public void RegistrationNewUser_UAE_OtherFields(string lng)
        {
            #region Test Data

            var randomPart = RegistrationHelper.GetRandomNumberPhone(new Random(), 6);

            DataStep0 dataStep0 = new DataStep0();
            dataStep0.TxtEmail = randomPart + "@testing.test";
            Log.Info("Email new user = "******"******";
            Log.Info("Password new user = "******"TestNameUAE";
            dataStep0.TxtLastName  = "TestLastNameUAE";
            dataStep0.CmbCountry   = "United Arab Emirates";
            dataStep0.BtnNexStep   = true;

            DataStep1 dataStep1 = new DataStep1();
            dataStep1.TxtAddress     = "Al Safa Street 1";
            dataStep1.TxtCity        = "Dubai";
            dataStep1.CmbEmirate     = "Dubai";
            dataStep1.TxtBirthdate   = "01/01/1990";
            dataStep1.TxtPhone       = "971500000000";
            dataStep1.CmbNationality = "United Arab Emirates";
            dataStep1.BtnNexStep     = true;

            DataStep2 dataStep2 = new DataStep2();
            //Employment Information
            dataStep2.CmbEmployment       = "Employed";
            dataStep2.CmbEmploymentType   = "Other";
            dataStep2.TxtEmploymentOther  = "Other-industry";
            dataStep2.CmbLevelOfEducation = "High School";
            //Financial Information
            dataStep2.CmbAnnualIncome        = "> $1,000,000";
            dataStep2.CmbEstimatedNetWorth   = "$1,000,000 – $5,000,000";
            dataStep2.CmbSourceOfIncome      = "Other";
            dataStep2.TxtSourceOfIncomeOther = "Other-Source-of-Wealth";
            dataStep2.CmbDeposit             = "> $1,000,000";
            dataStep2.ChkToTradeCFDs         = true;
            dataStep2.UsCitizen = new DataStep2.DataUsCitizen(btnUScitizen: false);
            //Trading Experience
            dataStep2.CmbTradingExperience          = "No";
            dataStep2.ChkHaveRelevantEducational    = true;
            dataStep2.ChkIRegularlyMonitorNews      = true;
            dataStep2.ChkIHaveReadMaterialOnTrading = true;

            dataStep2.CmbQuestion1 = "500 EUR";
            dataStep2.CmbQuestion2 = "A take profit order";
            dataStep2.CmbQuestion3 = "1:50";

            dataStep2.ChkProfessionalClientYes           = true;
            dataStep2.CmbLeveragedProductExperience      = "Other";
            dataStep2.TxtLeveragedProductExperienceOther = "I am good";

            dataStep2.BtnNexStep = true;

            DataStep3 dataStep3 = new DataStep3();
            dataStep3.CmbAccountType              = "MT4";
            dataStep3.CmbCurrencyBase             = "EUR";
            dataStep3.BtnVerifyYourProfileNo      = true;
            dataStep3.ChkReceiveCompanyNews       = true;
            dataStep3.ChkReceiveTechnicalAnalysis = true;
            dataStep3.ChkAcceptRisks              = true;
            dataStep3.CmbLanguage        = "English";
            dataStep3.ChkClientAgreement = true;
            dataStep3.BtnComplete        = true;

            #endregion

            //Login page
            PageLogin pageLogin = new PageLogin(ngWebDriver, lng);
            pageLogin.GoToPage(pageLogin.ExpectedUrl);
            Assert.AreEqual(pageLogin.ExpectedUrl, ngWebDriver.Url);
            pageLogin.LnkCreateAnAccount.Click();
            ngWebDriver.WaitForAngular();

            //Registration Step 0
            RegistrationHelper.RegistrationStep0(ngWebDriver, dataStep0, lng);

            //Registration Step 1
            RegistrationHelper.RegistrationStep1(ngWebDriver, dataStep1, lng);

            //Registration Step 2
            RegistrationHelper.RegistrationStep2(ngWebDriver, dataStep2, lng);

            //Registration Step 3
            RegistrationHelper.RegistrationStep3(ngWebDriver, dataStep3, lng);

            PageTradingAccountsReal pageTradingAccountsReal = new PageTradingAccountsReal(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
        }
示例#9
0
        public void Partner_UAE_No_No_No(string lng)
        {
            #region Test Data

            var goodPartner1Name = "good_partner1";
            var goodPartner1Id   = "0808331";

            var goodPartner2Name = "good_partner2";
            var goodPartner2Id   = "0808332";

            var goodPartner3MenaName = "good_partner3";
            var goodPartner3MenaId   = "0808333";

            var goodPartner3GmName = "good_partner3";
            var goodPartner3GmId   = "0808334";


            var randomPart = RegistrationHelper.GetRandomNumberPhone(new Random(), 6);

            DataStep0 dataStep0 = new DataStep0();
            dataStep0.TxtEmail = randomPart + "@testing.test";
            Log.Info("Email new user = "******"******";
            Log.Info("Password new user = "******"TestNameUAE";
            dataStep0.TxtLastName  = "TestLastNameUAE";
            dataStep0.CmbCountry   = "United Arab Emirates";
            dataStep0.BtnNexStep   = true;

            DataStep1 dataStep1 = new DataStep1();
            dataStep1.TxtAddress     = "Al Safa Street 1";
            dataStep1.TxtCity        = "Dubai";
            dataStep1.CmbEmirate     = "Dubai";
            dataStep1.TxtBirthdate   = "01/01/1990";
            dataStep1.TxtPhone       = "971500000000";
            dataStep1.CmbNationality = "United Arab Emirates";
            dataStep1.BtnNexStep     = true;

            DataStep2 dataStep2 = new DataStep2();
            //Employment Information
            dataStep2.CmbEmployment       = "Employed";
            dataStep2.CmbEmploymentType   = "Financial Services";
            dataStep2.CmbLevelOfEducation = "High School";
            //Financial Information
            dataStep2.CmbAnnualIncome      = "> $1,000,000";
            dataStep2.CmbEstimatedNetWorth = "$1,000,000 – $5,000,000";
            dataStep2.CmbSourceOfIncome    = "Savings / Investments";
            dataStep2.CmbDeposit           = "> $1,000,000";
            dataStep2.ChkToTradeCFDs       = true;
            dataStep2.UsCitizen            = new DataStep2.DataUsCitizen(btnUScitizen: false);
            //Trading Experience
            dataStep2.CmbTradingExperience          = "No";
            dataStep2.ChkHaveRelevantEducational    = true;
            dataStep2.ChkIRegularlyMonitorNews      = true;
            dataStep2.ChkIHaveReadMaterialOnTrading = true;

            dataStep2.CmbQuestion1 = "500 EUR";
            dataStep2.CmbQuestion2 = "A take profit order";
            dataStep2.CmbQuestion3 = "1:50";

            dataStep2.ChkProfessionalClientYes           = true;
            dataStep2.CmbLeveragedProductExperience      = "Other";
            dataStep2.TxtLeveragedProductExperienceOther = "I am good";

            dataStep2.BtnNexStep = true;

            DataStep3 dataStep3 = new DataStep3();
            dataStep3.CmbAccountType              = "MT4";
            dataStep3.CmbCurrencyBase             = "EUR";
            dataStep3.BtnVerifyYourProfileNo      = true;
            dataStep3.ChkReceiveCompanyNews       = true;
            dataStep3.ChkReceiveTechnicalAnalysis = true;
            dataStep3.ChkAcceptRisks              = true;
            dataStep3.CmbLanguage        = "English";
            dataStep3.ChkClientAgreement = true;
            dataStep3.BtnComplete        = true;

            #endregion

            //Login page
            PageLogin pageLogin = new PageLogin(ngWebDriver, lng);
            pageLogin.GoToPage(pageLogin.ExpectedUrl);
            Assert.AreEqual(pageLogin.ExpectedUrl, ngWebDriver.Url);
            pageLogin.LnkCreateAnAccount.Click();
            ngWebDriver.WaitForAngular();

            //Registration Step 0
            RegistrationHelper.RegistrationStep0(ngWebDriver, dataStep0, lng);

            //Registration Step 1
            RegistrationHelper.RegistrationStep1(ngWebDriver, dataStep1, lng);

            //Registration Step 2
            RegistrationHelper.RegistrationStep2(ngWebDriver, dataStep2, lng);

            //Registration Step 3
            RegistrationHelper.RegistrationStep3(ngWebDriver, dataStep3, lng);

            PageTradingAccountsReal pageTradingAccountsReal = new PageTradingAccountsReal(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);


            //null
            //without partner; Jurisdiction = mena; Country = UAT; default; default
            pageTradingAccountsReal.LnkCreateNewAccount.Click();
            PageCreateRealAccount pageCreateRealAccount = new PageCreateRealAccount(ngWebDriver, lng);
            pageCreateRealAccount.WaitLoadPage(pageCreateRealAccount);
            //NO
            pageCreateRealAccount.CmbSelectAccountType.GetValuesList().Should().BeEquivalentTo(new[] { "cTrader", "MT4", "MT5" });
            pageCreateRealAccount.CmbSelectAccountType.SetValueAfterClick(0);
            pageCreateRealAccount.CmbSelectCurrencyBase.GetValuesList().Should().BeEquivalentTo(new[] { "EUR", "GBP", "USD" });

            //0808331
            //good_partner1; Jurisdiction = mena; Country = all; mt4m, xtrader; EUR, USD
            pageTradingAccountsReal.GoToPage(pageTradingAccountsReal.BaseUrl + "/partner/" + goodPartner1Id);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
            pageTradingAccountsReal.LnkCreateNewAccount.Click();
            pageCreateRealAccount.WaitLoadPage(pageCreateRealAccount);
            //YES
            Assert.AreEqual(goodPartner1Name, pageCreateRealAccount.CmbSelectPartnership.GetValue());
            pageCreateRealAccount.CmbSelectAccountType.GetValuesList().Should().BeEquivalentTo(new[] { "MT4", "cTrader" });
            pageCreateRealAccount.CmbSelectAccountType.SetValueAfterClick(0);
            pageCreateRealAccount.CmbSelectCurrencyBase.GetValuesList().Should().BeEquivalentTo(new[] { "EUR", "USD" });
            Thread.Sleep(3000);

            //0808332
            //good_partner2; Jurisdiction = gm; Country = other; default; default
            pageTradingAccountsReal.GoToPage(pageTradingAccountsReal.BaseUrl + "/partner/" + goodPartner2Id);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
            pageTradingAccountsReal.LnkCreateNewAccount.Click();
            pageCreateRealAccount.WaitLoadPage(pageCreateRealAccount);
            //NO
            pageCreateRealAccount.CmbSelectAccountType.GetValuesList().Should().BeEquivalentTo(new[] { "cTrader", "MT4", "MT5" });
            pageCreateRealAccount.CmbSelectAccountType.SetValueAfterClick(0);
            pageCreateRealAccount.CmbSelectCurrencyBase.GetValuesList().Should().BeEquivalentTo(new[] { "EUR", "GBP", "USD" });
            Thread.Sleep(3000);

            //0808333
            //goodPartner3Mena; Jurisdiction = mena; Country = UAE; xtrader; GBP
            pageTradingAccountsReal.GoToPage(pageTradingAccountsReal.BaseUrl + "/partner/" + goodPartner3MenaId);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
            pageTradingAccountsReal.LnkCreateNewAccount.Click();
            pageCreateRealAccount.WaitLoadPage(pageCreateRealAccount);
            //YES
            Assert.AreEqual(goodPartner3MenaName, pageCreateRealAccount.CmbSelectPartnership.GetValue());
            pageCreateRealAccount.CmbSelectAccountType.GetValuesList().Should().BeEquivalentTo(new[] { "cTrader" });
            pageCreateRealAccount.CmbSelectAccountType.SetValueAfterClick(0);
            pageCreateRealAccount.CmbSelectCurrencyBase.GetValuesList().Should().BeEquivalentTo(new[] { "GBP" });
            Thread.Sleep(3000);

            //0808334
            //goodPartner3Gm; Jurisdiction = mena; Country = UAE; default; default
            pageTradingAccountsReal.GoToPage(pageTradingAccountsReal.BaseUrl + "/partner/" + goodPartner3GmId);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
            pageTradingAccountsReal.LnkCreateNewAccount.Click();
            pageCreateRealAccount.WaitLoadPage(pageCreateRealAccount);
            //NO
            pageCreateRealAccount.CmbSelectAccountType.GetValuesList().Should().BeEquivalentTo(new[] { "cTrader", "MT4", "MT5" });
            pageCreateRealAccount.CmbSelectAccountType.SetValueAfterClick(0);
            pageCreateRealAccount.CmbSelectCurrencyBase.GetValuesList().Should().BeEquivalentTo(new[] { "EUR", "GBP", "USD" });
        }
        public void RegistrationNewUser_Thai_No_No(string lng)
        {
            #region Test Data

            var randomPart = RegistrationHelper.GetRandomNumberPhone(new Random(), 6);

            DataStep0 dataStep0 = new DataStep0();
            dataStep0.TxtEmail = randomPart + "@testing.test";
            Log.Info("Email new user = "******"******";
            Log.Info("Password new user = "******"TestNameThailand";
            dataStep0.TxtLastName  = "TestLastNameThailand";
            dataStep0.CmbCountry   = "Thailand";
            dataStep0.BtnNexStep   = true;

            DataStep1 dataStep1 = new DataStep1();
            dataStep1.TxtAddress     = "Walking Street 1";
            dataStep1.TxtPostcode    = "1234567890";
            dataStep1.TxtCity        = "Muang Pattaya";
            dataStep1.TxtBirthdate   = "01/01/1990";
            dataStep1.TxtPhone       = "66000000000";
            dataStep1.CmbNationality = "Thailand";
            dataStep1.BtnNexStep     = true;

            DataStep2 dataStep2 = new DataStep2();
            //Employment Information
            dataStep2.CmbEmployment       = "Employed";
            dataStep2.CmbEmploymentType   = "Financial Services";
            dataStep2.CmbLevelOfEducation = "High School";
            //Financial Information
            dataStep2.CmbAnnualIncome      = "> $1,000,000";
            dataStep2.CmbEstimatedNetWorth = "$1,000,000 – $5,000,000";
            dataStep2.CmbSourceOfIncome    = "Savings / Investments";
            dataStep2.CmbDeposit           = "> $1,000,000";
            dataStep2.ChkToTradeCFDs       = true;
            //Trading Experience
            dataStep2.CmbTradingExperience          = "No";
            dataStep2.ChkHaveRelevantEducational    = true;
            dataStep2.ChkIRegularlyMonitorNews      = true;
            dataStep2.ChkIHaveReadMaterialOnTrading = true;

            dataStep2.BtnNexStep = true;

            DataStep3 dataStep3 = new DataStep3();
            dataStep3.CmbAccountType              = "MT5";
            dataStep3.CmbLeverage                 = "1:50";
            dataStep3.CmbCurrencyBase             = "EUR";
            dataStep3.BtnVerifyYourProfileNo      = true;
            dataStep3.ChkReceiveCompanyNews       = true;
            dataStep3.ChkReceiveTechnicalAnalysis = true;
            dataStep3.ChkAcceptRisks              = true;
            dataStep3.CmbLanguage                 = "English";
            dataStep3.ChkClientAgreement          = true;
            dataStep3.BtnComplete                 = true;

            #endregion

            //Login page
            PageLogin pageLogin = new PageLogin(ngWebDriver, lng);
            pageLogin.GoToPage(pageLogin.ExpectedUrl);
            Assert.AreEqual(pageLogin.ExpectedUrl, ngWebDriver.Url);
            pageLogin.LnkCreateAnAccount.Click();
            ngWebDriver.WaitForAngular();

            //Registration Step 0
            RegistrationHelper.RegistrationStep0(ngWebDriver, dataStep0, lng);

            //Registration Step 1
            RegistrationHelper.RegistrationStep1(ngWebDriver, dataStep1, lng);

            //Registration Step 2
            RegistrationHelper.RegistrationStep2(ngWebDriver, dataStep2, lng);

            //Registration Step 3
            RegistrationHelper.RegistrationStep3(ngWebDriver, dataStep3, lng);

            PageTradingAccountsReal pageTradingAccountsReal = new PageTradingAccountsReal(ngWebDriver, lng);
            pageTradingAccountsReal.WaitLoadPage(pageTradingAccountsReal);
        }