/** @throws Exception */
 @Test(groups = {"users.coordinatorCreation"})
 public void testPesAdminCourseCoordinatorCreation() throws Exception {
   a.navigateToMyContacts();
   a.navigateToCreateUserPage();
   coordinatorNameArray[0][0] = a.createUser("coordinator");
   Reporter.log("coordinatorNamesArray: " + coordinatorNameArray[0][0], true);
 }
 /** Verify the different values in "Authentication Method" drop down field in Create User Page */
 @Test(groups = {"regressionSmoke", "users.pesAdminVerifyAuthenticationMethodValues"})
 public void testPesAdminVerifyChooseAnAuthenticationMethodValuesInCreateUserPage()
     throws Exception {
   a.navigateToMyContacts();
   a.navigateToCreateUserPage();
   a.verifyChooseAnAuthenticationMethodValuesInCreateUserPage();
 }
 /**
  * Verify Browse List of Users Page
  *
  * @param studentUserName
  * @throws Exception
  */
 @Test(
     dataProvider = "StudentName",
     groups = {"regressionSmoke", "users.pesAdminVerifyBrowseListOfUsersPage"})
 public void testPesAdminVerifyBrowseListOfUsersPage(String studentUserName) throws Exception {
   a.navigateToMyContacts();
   a.navigateToBrowseListOfUsersPage();
   a.verifyBrowseListOfUsersPage(studentUserName);
 }
 /**
  * Add users as members to Working Group
  *
  * @throws Exception
  */
 @Test(
     dataProvider = "WorkingGroupUsers",
     groups = {"regressionSmoke", "fullSmoke", "workingGroup.addMembers"})
 public void testPesAdminAddMembersToWorkingGroup(
     String workingGroupName, String teacherUserName, String studentUserName) throws Exception {
   a.navigateToWorkingGroups();
   a.accessWorkingGroup(workingGroupName);
   a.addMembersToWorkingGroup(teacherUserName, studentUserName);
 }
 /**
  * @param groupCourseName
  * @param coordinatorUserName
  * @throws Exception
  */
 @Test(
     dataProvider = "GroupCourseCoordinatorUser",
     groups = {"users.assignRoleToCoordinator"})
 public void testPesAdminRoleToCoordinator(String groupCourseName, String coordinatorUserName)
     throws Exception {
   a.navigateToMyCourse();
   a.selectGroupCourse(groupCourseName);
   a.enrollUserToRole_GroupCourse(coordinatorUserName, groupCourseName);
 }
 /**
  * Post Text on Course Section
  *
  * @param groupCourseName
  * @throws Exception
  */
 @Test(
     dataProvider = "GroupCourse",
     dataProviderClass = ContentAdmin_Course_GroupCourseCreation.class,
     groups = {"regressionSmoke", "wall.courseSectionPost"})
 public void testPesAdminPostTextOnCourseSection(String groupCourseName) throws Exception {
   a.navigateToMyCourse();
   a.selectGroupCourse(groupCourseName);
   pesTextCourseSectionPost[0][0] = a.textPost("txtCrsSctnPost");
   Reporter.log("pesTextCourseSectionPost: " + pesTextCourseSectionPost[0][0], true);
 }
 /**
  * Verify Sections of the Course in the section drop down in Course Roster Page
  *
  * @throws Exception
  */
 @Test(
     dataProvider = "CourseShortGroupCourseName",
     dataProviderClass = ContentAdmin_Course_GroupCourseCreation.class,
     groups = {"regressionSmoke", "2torAdministrativeBlock.contentVerify"})
 public void testPesAdminVerifySectionDropdownCourseRostersPage(
     String courseShortName, String groupCourseName) throws Exception {
   a.navigateTo2torSiteAdministrator();
   a.navigateToCourseRosters();
   a.verifySectionDropdownCourseRostersPage(courseShortName, groupCourseName);
 }
 /**
  * Post Text with Comments enabled on Course Wall
  *
  * @param groupCourseName
  * @throws Exception
  */
 @Test(
     dataProvider = "GroupCourse",
     dataProviderClass = ContentAdmin_Course_GroupCourseCreation.class,
     groups = {"regressionSmoke", "wall.coursePostCommentsOn"})
 public void testPesAdminPostTextOnCourseCommentsOn(String groupCourseName) throws Exception {
   a.navigateToMyCourse();
   a.selectGroupCourse(groupCourseName);
   pesTextCoursePostCommentsOn[0][0] = a.textPost("txtCrsPostCmntsOn");
   Reporter.log("pesTxtCrsPost: " + pesTextCoursePostCommentsOn[0][0], true);
   ip.isElementPresentByXPATH(driver, "//li[1]/div/div[4]/label/a/label");
 }
 /**
  * Post Text with Comments disabled on Course Wall
  *
  * @param groupCourseName
  * @throws Exception
  */
 @Test(
     dataProvider = "GroupCourse",
     dataProviderClass = ContentAdmin_Course_GroupCourseCreation.class,
     groups = {"regressionSmoke", "wall.coursePostCommentsOff"})
 public void testPesAdminPostTextOnCourseCommentsOff(String groupCourseName) throws Exception {
   a.navigateToMyCourse();
   a.selectGroupCourse(groupCourseName);
   pesTextCoursePostCommentsOff[0][0] = a.textPost("txtCrsPostCmntsOff");
   Reporter.log("pesTxtCrsPost: " + pesTextCoursePostCommentsOff[0][0], true);
   new WebDriverWait(driver, 60)
       .until(
           ExpectedConditions.invisibilityOfElementLocated(
               By.xpath("//li[1]/div/div[4]/label/a/label")));
 }
 /**
  * Verify graded & submitted section of Offline Activity
  *
  * @param groupCourseName
  * @param offlineActivityName
  * @throws Exception
  */
 @Test(
     dataProvider = "GroupCourseOfflineActivityName",
     dataProviderClass = ContentAdmin_Course_GroupCourseCreation.class,
     groups = {
       "regressionSmoke",
       "content.pesadminVerifyOfflineActivitySubmittedAndGradedSection"
     })
 public void testPesAdminVerifyOfflineActivitySubmittedAndGradedSection(
     String groupCourseName, String offlineActivityName) throws Exception {
   a.navigateToMyCourse();
   a.selectGroupCourse(groupCourseName);
   a.navigateToGrades();
   a.verifyOfflineActivitySubmittedAndGradedSection(offlineActivityName);
 }
  /**
   * Assign/Enroll users to GrpCourse as Teacher/Student roles
   *
   * @throws Exception
   */
  @Test(
      dataProvider = "GroupCourseUsers",
      groups = {"regressionSmoke", "fullSmoke", "criticalDataSmoke", "users.pesAdminAssignRole"})
  public void testPesAdminAssignRole(
      String groupCourseName, String teacherUserName, String studentUserName) throws Exception {
    a.navigateToMyCourse();
    a.selectGroupCourse(groupCourseName);
    a.enrollUserToRole_GroupCourse(teacherUserName, groupCourseName);

    a.navigateToMyCourse();
    a.selectGroupCourse(groupCourseName);
    a.enrollUserToRole_GroupCourse(studentUserName, groupCourseName);
  }
  /**
   * Create Two users
   *
   * @throws Exception
   */
  @Test(groups = {"regressionSmoke", "fullSmoke", "criticalDataSmoke", "users.pesAdminCreateUsers"})
  public void testPesAdminUserCreation() throws Exception {
    a.navigateToMyContacts();
    a.navigateToCreateUserPage();
    userNamesArray[0][0] = a.createUser("teacher");
    Reporter.log("teacherUserName: "******"student");
    studentNameArray[0][0] = userNamesArray[0][1];
    Reporter.log("studentUserName: " + userNamesArray[0][1], true);
  }
 /**
  * Pes Admin verify Feedback Window
  *
  * @throws Exception
  */
 @Test(groups = {"regressionSmoke", "feedback.pesAdminVerify"})
 public void testPesAdminVerifyFeedbackWindow() throws Exception {
   a.navigateToMyHome();
   a.verifyFeedbackWindow();
 }
 /** Verify 2tor Administrative Block -StudentEngagementReportUIVerify */
 @Test(groups = {"regressionSmoke", "2torAdministrativeBlock.contentVerify"})
 public void testPesAdminVerifySiteAdminReportStudentEngagementReportPage() throws Exception {
   a.navigateTo2torSiteAdministrator();
   a.navigateToStudentEngagementReport();
   a.verifySiteAdminReportStudentEngagementReportPage();
 }
 /** Verify 2tor Administrative Block -DeletedLiveSession Section */
 @Test(groups = {"regressionSmoke", "2torAdministrativeBlock.contentVerify"})
 public void testPesAdminVerifySiteAdminReportDeletedLiveSessionPage() throws Exception {
   a.navigateTo2torSiteAdministrator();
   a.navigateToDeletedLiveSession();
   a.verifySiteAdminReportDeletedLiveSessionPage();
 }
 /**
  * Pes admin verify the Course Roster UI
  *
  * @throws Exception
  */
 @Test(groups = {"regressionSmoke", "2torAdministrativeBlock.contentVerify"})
 public void testPesAdminVerifySiteAdminReportCourseRostersPage() throws Exception {
   a.navigateTo2torSiteAdministrator();
   a.navigateToCourseRosters();
   a.verifySiteAdminReportCourseRostersPage();
 }
 /**
  * Verify pes admin can not access the Service and Configuration reports
  *
  * @throws Exception
  */
 @Test(groups = {"regressionSmoke", "2torAdministrativeBlock.contentVerify"})
 public void testPesAdminGetAccessDeniedForStudentServicesAndConfigurationReports()
     throws Exception {
   a.navigateTo2torSiteAdministrator();
   a.verifyGetAccessDeniedForStudentServicesAndConfigurationReports();
 }
 /**
  * PesAdmin verify User Sticky Notes Page
  *
  * @throws Exception
  */
 @Test(groups = {"regressionSmoke", "2torAdministrativeBlock.contentVerify"})
 public void testPesAdminVerifyStudentSupportUserStickyNotesPage() throws Exception {
   a.navigateTo2torSiteAdministrator();
   a.navigateToUserStickyNotes();
 }
 /**
  * Create Working Group
  *
  * @throws Exception
  */
 @Test(groups = {"regressionSmoke", "fullSmoke", "workingGroup.create"})
 public void testPesAdminCreateWorkingGroup() throws Exception {
   a.navigateToWorkingGroups();
   workingGroupNameArray[0][0] = a.createWorkingGroup();
   Reporter.log("workingGroupName: " + workingGroupNameArray[0][0], true);
 }
 /**
  * Verify the password encryption is off and on when unmask password check box is checked and
  * unchecked
  */
 @Test(groups = {"regressionSmoke", "users.pesAdminVerifyUnmaskPasswordFunctionality"})
 public void testPesAdminVerifyUnmaskPasswordCheckBoxFunctionality() throws Exception {
   a.navigateToMyContacts();
   a.navigateToCreateUserPage();
   a.verifyUnmaskPasswordCheckBoxFunctionality();
 }
 /** Verify the Default TimeZone Value in Create User Page */
 @Test(groups = {"regressionSmoke", "users.pesAdminVerifyUsersDefaultTimeZone"})
 public void testPesAdminVerifyUsersDefaultTimeZone() throws Exception {
   a.navigateToMyContacts();
   a.navigateToCreateUserPage();
   a.verifyDefaultTimeZoneValueWhileUserCreation();
 }
 /** Verify the presence of difference sections in Create User Page UI */
 @Test(groups = {"regressionSmoke", "users.pesAdminVerifySectionsOfUserCreationPage"})
 public void testPesAdminVerifySectionsOfUserCreationPage() throws Exception {
   a.navigateToMyContacts();
   a.navigateToCreateUserPage();
   a.verifySectionsOfUserCreationPage();
 }
 /**
  * Verify Settings page specific to user role
  *
  * @throws Exception
  */
 @Test(groups = {"regressionSmoke", "settings.pesAdminVerify"})
 public void testPesAdminVerifySettings() throws Exception {
   a.navigateToSettings();
   a.verifySettings();
 }
 /**
  * Pes Admin verify Calendar on Home Page
  *
  * @throws Exception
  */
 @Test(groups = {"regressionSmoke", "calendar.pesAdminVerify"})
 public void testPesAdminVerifyCalendar() throws Exception {
   a.navigateToMyHome();
   a.verifyCalendar();
 }
 /**
  * PesAdmin verify the login message page
  *
  * @throws Exception
  */
 @Test(groups = {"regressionSmoke", "2torAdministrativeBlock.contentVerify"})
 public void testPesAdminVerifyStudentSupportLoginMessagePage() throws Exception {
   a.navigateTo2torSiteAdministrator();
   a.navigateToLoginMessage();
   a.verifySiteAdminStudentSupportLoginMessagePage();
 }
 /**
  * The annotated method will be run after all the test methods in the current class have been run
  *
  * @throws Exception
  */
 @AfterClass(groups = {"prerequisite"})
 public void testPesAdminLogOut() throws Exception {
   a.logOut();
 }
 /**
  * The annotated method will be run before the first test method in the current class is invoked,
  * Student logs in, Pes Admin Logs in
  *
  * @throws Exception
  */
 @BeforeClass(groups = {"prerequisite"})
 public void testPesAdminLogIn() throws Exception {
   a.login("pesAdmin");
 }