Exemplo n.º 1
0
        public void ThenUserCanOnlyCreateTransactionsIfHavingBankingOrTrusteeRole()
        {
            CaseDetailPage   caseDetailPage = ((CaseDetailPage)GetSharedPageObjectFromContext("Case Detail"));
            List <String>    roles          = ScenarioContext.Current.Get <List <string> >("Roles");
            BankingDetailTab bankingTab     = caseDetailPage.GoToBankingDetail();

            if (roles.Contains("Banking") || roles.Contains("Trustee Role"))
            {
                //Check button
                bankingTab.IsCheckButtonInactive().Should().BeFalse("User has roles " + this.PrintableRoles(roles) + ", so Add Check button is active");
                TransactionForm form = bankingTab.ClickCheckButton();
                bankingTab.IsNewTransactionFormOpen().Should().BeTrue("User has roles " + this.PrintableRoles(roles) + ", so clicking Check button opens the Form");
                form.Cancel();

                //Deposit button
                bankingTab.IsDepositButtonInactive().Should().BeFalse("User has roles " + this.PrintableRoles(roles) + ", so Deposit button is active");
                bankingTab.ClickDepositButton();
                bankingTab.IsNewTransactionFormOpen().Should().BeTrue("User has roles " + this.PrintableRoles(roles) + ", so clicking Deposit button opens the Form");
            }
            else
            {
                //Check button
                bankingTab.IsCheckButtonInactive().Should().BeTrue("User has roles " + this.PrintableRoles(roles) + ", so Add Check button is inactive");
                try
                {
                    bankingTab.ClickCheckButton();
                    bankingTab.IsNewTransactionFormOpen().Should().BeFalse("User has roles " + this.PrintableRoles(roles) + ", so clicking Check does nothing");
                }
                catch (Exception)
                {
                    //do nothing, if not clickeable the test passes
                }

                //Deposit button
                bankingTab.IsDepositButtonInactive().Should().BeTrue("User has roles " + this.PrintableRoles(roles) + ", so Deposit button is inactive");
                try
                {
                    bankingTab.ClickDepositButton();
                    bankingTab.IsNewTransactionFormOpen().Should().BeFalse("User has roles " + this.PrintableRoles(roles) + ", so clicking Deposit button does nothing");
                }
                catch (Exception)
                {
                    //do nothing, if not clickeable the test passes
                }
            }
        }
        private void GivenGoToTab(string tab)
        {
            CaseDetailPage caseDetailPage = ((CaseDetailPage)GetSharedPageObjectFromContext("Case Detail"));

            switch (tab)
            {
            case "Assets":
                caseDetailPage.GoToAssetsDetail();
                break;

            case "Banking":
                caseDetailPage.GoToBankingDetail();
                break;

            case "Claims":
                caseDetailPage.GoToClaimsDetail();
                break;

            default:
                ScenarioContext.Current.Pending();
                break;
            }
        }
        private void GivenIGoToBankingDetail()
        {
            CaseDetailPage caseDetailPage = ((CaseDetailPage)GetSharedPageObjectFromContext("Case Detail"));

            SetSharedPageObjectInCurrentContext("Banking Tab", caseDetailPage.GoToBankingDetail());
        }