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()); }