/**
   * 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);
  }
 /**
  * @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);
 }
 /**
  * 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");
 }
 /**
  * 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);
 }
 /**
  * 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")));
 }