diff --git a/src/main/java/com/nci/automation/web/TestProperties.java b/src/main/java/com/nci/automation/web/TestProperties.java index 9627b4b3e..609a1fc85 100644 --- a/src/main/java/com/nci/automation/web/TestProperties.java +++ b/src/main/java/com/nci/automation/web/TestProperties.java @@ -106,6 +106,7 @@ public class TestProperties { */ public static final String AWARD_NOMINATION_TEST_URL = "https://service-test.nci.nih.gov/ncisp"; public static String AWARD_NOMINATION_URL; + public static final String AWARD_NOMINATION_ADMIN_GROUP_URL = "https://service-test.nci.nih.gov/sys_user_group.do?sys_id=5c673fd31b45921089b9ece0f54bcb03"; /** * E-GRANTS URLS @@ -859,4 +860,13 @@ public static String getAwardNominationUrl() { } return AWARD_NOMINATION_URL; } + + public static String getAwardNominationAdminGroupUrl() { + switch (ENV.toLowerCase()) { + case "test": + AWARD_NOMINATION_URL = AWARD_NOMINATION_ADMIN_GROUP_URL ; + break; + } + return AWARD_NOMINATION_ADMIN_GROUP_URL; + } } \ No newline at end of file diff --git a/src/test/java/ServiceNow/AwardNomination/Constants/AwardNominationConstants.java b/src/test/java/ServiceNow/AwardNomination/Constants/AwardNominationConstants.java index 5016135c2..2d3387b1c 100644 --- a/src/test/java/ServiceNow/AwardNomination/Constants/AwardNominationConstants.java +++ b/src/test/java/ServiceNow/AwardNomination/Constants/AwardNominationConstants.java @@ -3,4 +3,4 @@ public class AwardNominationConstants { public static final String SUBMITTER_AWARD_NOMINATION = "Aaron Bonnell"; -} +} \ No newline at end of file diff --git a/src/test/java/ServiceNow/AwardNomination/Features/VIBEAppreciationRequest.feature b/src/test/java/ServiceNow/AwardNomination/Features/VIBEAppreciationRequest.feature index 7d1d9520e..9ddb1e22c 100644 --- a/src/test/java/ServiceNow/AwardNomination/Features/VIBEAppreciationRequest.feature +++ b/src/test/java/ServiceNow/AwardNomination/Features/VIBEAppreciationRequest.feature @@ -35,7 +35,7 @@ Feature: VIBE Peer-to-Peer Appreciation Program Then User can verify that VIBE attachment is added @selenium @Alena @Regression @AWARDNOM-10 @AWARDNOM-78 @AWARDNOM-82 - Scenario: Verify Optional Responses and Which value best reflects your appreciation options + Scenario: Verify Optional Responses Given Submitter User logged in to VIBE Peer-to-Peer Appreciation Program application via Portal And User navigates to VIBE Peer-to-Peer Appreciation Program via Services menu And Submitter User is on VIBE Peer-to-Peer Appreciation Program home page @@ -51,7 +51,7 @@ Feature: VIBE Peer-to-Peer Appreciation Program And User can verify Optional Responses option "In My Own Words - A text box will appear below when checked." is displayed @selenium @Alena @Regression @AWARDNOM-78 @AWARDNOM-82 - Scenario: Verify Optional Responses + Scenario: Verify Which value best reflects your appreciation options Given Submitter User logged in to VIBE Peer-to-Peer Appreciation Program application via Portal And User navigates to VIBE Peer-to-Peer Appreciation Program via Services menu And Submitter User is on VIBE Peer-to-Peer Appreciation Program home page @@ -63,4 +63,10 @@ Feature: VIBE Peer-to-Peer Appreciation Program And User can see Which value best reflects your appreciation option "Fostering Belonging and Respect—They cultivate a respectful environment where everyone feels valued." And User can see Which value best reflects your appreciation option "Promoting Transparency—They ensure that diversity, equity, and inclusion processes are clear and accessible." And User can see Which value best reflects your appreciation option "Being an Ally—They advocate for marginalized or excluded colleagues." - And User can see Which value best reflects your appreciation option "In My Own Words - A text box will appear below when checked." \ No newline at end of file + And User can see Which value best reflects your appreciation option "In My Own Words - A text box will appear below when checked." + + @selenium @Alena @Regression @AWARDNOM-12 + Scenario: Verify Administrator Approvers group + Given Admin User logged in to view PEIC Appreciation Program - Administrator Approvers + And Admin User can see that Administrator Approvers Group Manager is "Nic Perez" + Then Admin User can see that listed Administrator Approvers are "Brandy Wimberly", "Nic Perez", and "Staci Tyler" \ No newline at end of file diff --git a/src/test/java/ServiceNow/AwardNomination/Pages/AwardNominationPage.java b/src/test/java/ServiceNow/AwardNomination/Pages/AwardNominationPage.java index 565d6a7f5..f76ca4483 100644 --- a/src/test/java/ServiceNow/AwardNomination/Pages/AwardNominationPage.java +++ b/src/test/java/ServiceNow/AwardNomination/Pages/AwardNominationPage.java @@ -112,7 +112,7 @@ public class AwardNominationPage { public WebElement textFieldAddWatchers; /** Save Changes confirmation modal button */ - @FindBy(xpath = "//button[@class='md-raised md-primary md-button md-ink-ripple']") + @FindBy(xpath = "//span[contains(text(),'Save Changes')]") public WebElement saveChangesConfModalButton; /** Watch list field */ @@ -195,6 +195,26 @@ public class AwardNominationPage { @FindBy(xpath = "//span[contains(text(),'In My Own Words - A text box will appear below when checked.')]") public WebElement whichValueSectionInMyOwnWordsOption; + /** group manager*/ + @FindBy(xpath = "//*[@id='sys_display.sys_user_group.manager']") + public WebElement groupManagerTextField; + + /** tab Admin Group Members*/ + @FindBy(xpath = "//span[.='Group Members (3)']") + public WebElement tabAdminGroupMembers; + + /** Admin Group Member One*/ + @FindBy(xpath = "//a[@sys_id='4d77a2986fc54e001c857eeeae3ee41b']") + public WebElement adminGroupMemberOne; + + /** Admin Group Member Two*/ + @FindBy(xpath = "//a[@sys_id='b73b214a6f0671002b0d58622e3ee445']") + public WebElement adminGroupMemberTwo; + + /** Admin Group Member Three*/ + @FindBy(xpath = "//a[@sys_id='3793a3691be6a190550143bae54bcb28']") + public WebElement adminGroupMemberThree; + public AwardNominationPage() { PageFactory.initElements(WebDriverUtils.webDriver, this); } diff --git a/src/test/java/ServiceNow/AwardNomination/Steps/AwardNominationSteps.java b/src/test/java/ServiceNow/AwardNomination/Steps/AwardNominationSteps.java index 1303083e1..bdbd102cc 100644 --- a/src/test/java/ServiceNow/AwardNomination/Steps/AwardNominationSteps.java +++ b/src/test/java/ServiceNow/AwardNomination/Steps/AwardNominationSteps.java @@ -62,6 +62,7 @@ public void submitter_user_submits_vibe_peer_to_peer_appreciation_program_reques @Then("Submitter User can verify they are redirected to general tickets view page") public void submitter_user_can_verify_they_are_redirected_to_general_tickets_view_page() { awardNominationStepsImplementation.verifyWeHaveReceivedRequest(); + CommonUtils.sleep(5000); } /** @@ -169,4 +170,24 @@ public void user_can_verify_optional_responses_option_is_displayed(String option public void user_can_see_which_value_best_reflects_your_appreciation_option(String option) { awardNominationStepsImplementation.verifyWhichValueBestReflectsYourAppreciationsOptions(option); } + + @Given("Admin User logged in to view PEIC Appreciation Program - Administrator Approvers") + public void admin_user_logged_in_to_view_peic_appreciation_program_administrator_approvers() { + awardNominationStepsImplementation.awardNominationUserAdminGroupLogin(); + } + + /** + * User verifies Group Manager + * @param person + * + */ + @Given("Admin User can see that Administrator Approvers Group Manager is {string}") + public void admin_user_can_see_that_administrator_approvers_group_manager_is(String person) { + softAssert.assertTrue(awardNominationPage.groupManagerTextField.getDomAttribute("value").equals(person)); + } + + @Then("Admin User can see that listed Administrator Approvers are {string}, {string}, and {string}") + public void admin_user_can_see_that_listed_administrator_approvers_are_and(String admApprover1, String admApprover2, String admApprover3) { + awardNominationStepsImplementation.verifyAdminGroupMembers(admApprover1,admApprover2, admApprover3); + } } \ No newline at end of file diff --git a/src/test/java/ServiceNow/AwardNomination/StepsImplementation/AwardNominationStepsImplementation.java b/src/test/java/ServiceNow/AwardNomination/StepsImplementation/AwardNominationStepsImplementation.java index 28f50a109..2ac8a1fad 100644 --- a/src/test/java/ServiceNow/AwardNomination/StepsImplementation/AwardNominationStepsImplementation.java +++ b/src/test/java/ServiceNow/AwardNomination/StepsImplementation/AwardNominationStepsImplementation.java @@ -9,11 +9,11 @@ import com.nci.automation.web.WebDriverUtils; import org.openqa.selenium.Keys; import static Hooks.Hooks.softAssert; -import static com.nci.automation.web.TestProperties.getAwardNominationUrl; +import static com.nci.automation.web.TestProperties.*; public class AwardNominationStepsImplementation extends PageInitializer { /** - * Logs in as a Submitter User to NCCR Portal. + * Logs in as a Submitter User to VIBE Portal. */ public void awardNominationSubmitterUserLogin() { ServiceNow_Login_Methods.nativeViewSideDoorLogin(); @@ -22,6 +22,17 @@ public void awardNominationSubmitterUserLogin() { CucumberLogUtils.logScreenshot(); } + /** + * Logs in as User to view VIBE Administrator Approvers group + */ + public void + awardNominationUserAdminGroupLogin() { + ServiceNow_Login_Methods.nativeViewSideDoorLogin(); + ServiceNow_Common_Methods.impersonateAnyUser((AwardNominationConstants.SUBMITTER_AWARD_NOMINATION)); + WebDriverUtils.webDriver.get(getAwardNominationAdminGroupUrl()); + CucumberLogUtils.logScreenshot(); + } + /** * Navigate to VIBE via Portal menu */ @@ -271,4 +282,19 @@ public void verifyOptionalResponsesOptions(String option) { break; } } + + /** + * verify Admin Approvers + * + * @param admApprover1 + * @param admApprover2 + * @param admApprover3 + */ + public void verifyAdminGroupMembers(String admApprover1, String admApprover2, String admApprover3) { + CommonUtils.clickOnElement(awardNominationPage.tabAdminGroupMembers); + CommonUtils.sleep(1000); + softAssert.assertTrue(awardNominationPage.adminGroupMemberOne.getText().equals(admApprover1)); + softAssert.assertTrue(awardNominationPage.adminGroupMemberTwo.getText().equals(admApprover2)); + softAssert.assertTrue(awardNominationPage.adminGroupMemberThree.getText().equals(admApprover3)); + } } \ No newline at end of file