Program: 69472
Project: 69472
Buggy source:
/** 
 * An author create a course for a group task with the default settings, all steps are selected, grading with only passed, 3 groups, 2 tasks, 1 solution...</br> A group has 2 participants, the first select a task, the second submit 2 documents, one with the embedded editor, one with the upload mechanism.</br> The author reviews the documents, use the assessment tool for group within the course element to set passed to the group.</br> The 2 participants check if they sucessfully passed the task.
 * @param authorLoginPage
 * @param ryomouBrowser
 * @param kanuBrowser
 * @throws IOException
 * @throws URISyntaxException
 */
@Test @RunAsClient public void taskWithGroupsAndStandardSettings(@InitialPage LoginPage authorLoginPage,@Drone @User WebDriver ryomouBrowser,@Drone @Participant WebDriver kanuBrowser) throws IOException, URISyntaxException {
  screenshotTestRule.setBrowsers(browser,ryomouBrowser,kanuBrowser);
  Assume.assumeTrue(browser instanceof FirefoxDriver);
  UserVO author=new UserRestClient(deploymentUrl).createAuthor();
  UserVO kanu=new UserRestClient(deploymentUrl).createRandomUser("String_Node_Str");
  UserVO ryomou=new UserRestClient(deploymentUrl).createRandomUser("String_Node_Str");
  authorLoginPage.loginAs(author.getLogin(),author.getPassword());
  String courseTitle="String_Node_Str" + UUID.randomUUID();
  navBar.openAuthoringEnvironment().createCourse(courseTitle).clickToolbarBack();
  String gtaNodeTitle="String_Node_Str";
  CourseEditorPageFragment courseEditor=CoursePageFragment.getCourse(browser).edit();
  courseEditor.createNode("String_Node_Str").nodeTitle(gtaNodeTitle);
  GroupTaskConfigurationPage gtaConfig=new GroupTaskConfigurationPage(browser);
  gtaConfig.selectWorkflow().openBusinessGroupChooser().createBusinessGroup("String_Node_Str").createBusinessGroup("String_Node_Str").createBusinessGroup("String_Node_Str").confirmBusinessGroupsSelection().saveWorkflow().selectAssignment();
  URL task1Url=JunitTestHelper.class.getResource("String_Node_Str");
  File task1File=new File(task1Url.toURI());
  gtaConfig.uploadTask("String_Node_Str",task1File);
  URL task2Url=JunitTestHelper.class.getResource("String_Node_Str");
  File task2File=new File(task2Url.toURI());
  gtaConfig.uploadTask("String_Node_Str",task2File).saveTasks().selectSolution();
  URL solutionUrl=JunitTestHelper.class.getResource("String_Node_Str");
  File solutionFile=new File(solutionUrl.toURI());
  gtaConfig.uploadSolution("String_Node_Str",solutionFile);
  courseEditor.publish().quickPublish(Access.guests);
  MembersPage membersPage=courseEditor.clickToolbarBack().members();
  GroupPage groupPage=membersPage.selectBusinessGroups().selectBusinessGroup("String_Node_Str").openAdministration().openAdminMembers();
  groupPage.addMember().searchMember(kanu,true).next().next().next().finish();
  groupPage.addMember().searchMember(ryomou,true).next().next().next().finish();
  groupPage.close();
  CoursePageFragment coursePage=membersPage.clickToolbarBack();
  coursePage.clickTree().selectWithTitle(gtaNodeTitle);
  LoginPage ryomouLoginPage=LoginPage.getLoginPage(ryomouBrowser,deploymentUrl);
  ryomouLoginPage.loginAs(ryomou).resume();
  NavigationPage ryomouNavBar=new NavigationPage(ryomouBrowser);
  ryomouNavBar.openMyCourses().select(courseTitle);
  CoursePageFragment ryomouTestCourse=new CoursePageFragment(ryomouBrowser);
  ryomouTestCourse.clickTree().selectWithTitle(gtaNodeTitle);
  GroupTaskPage ryomouTask=new GroupTaskPage(ryomouBrowser);
  ryomouTask.assertAssignmentAvailable().selectTask(1).assertSubmissionAvailable();
  LoginPage kanuLoginPage=LoginPage.getLoginPage(kanuBrowser,deploymentUrl);
  kanuLoginPage.loginAs(kanu).resume();
  NavigationPage kanuNavBar=new NavigationPage(kanuBrowser);
  kanuNavBar.openMyCourses().select(courseTitle);
  CoursePageFragment kanuTestCourse=new CoursePageFragment(kanuBrowser);
  kanuTestCourse.clickTree().selectWithTitle(gtaNodeTitle);
  URL submit1Url=JunitTestHelper.class.getResource("String_Node_Str");
  File submit1File=new File(submit1Url.toURI());
  String submittedFilename="String_Node_Str";
  String submittedText="String_Node_Str";
  GroupTaskPage kanuTask=new GroupTaskPage(kanuBrowser);
  kanuTask.assertTask("String_Node_Str").assertSubmissionAvailable().submitFile(submit1File).submitText(submittedFilename,submittedText).submitDocuments();
  coursePage.clickTree().selectWithTitle(gtaNodeTitle);
  GroupTaskToCoachPage groupToCoach=new GroupTaskToCoachPage(browser);
  groupToCoach.selectBusinessGroupToCoach("String_Node_Str").assertSubmittedDocument("String_Node_Str").assertSubmittedDocument("String_Node_Str").reviewed().openGroupAssessment().groupAssessment(Boolean.TRUE,null);
  kanuTestCourse.clickTree().selectWithTitle(gtaNodeTitle);
  kanuTask.assertPassed();
  ryomouTestCourse.clickTree().selectWithTitle(gtaNodeTitle);
  ryomouTask.assertPassed();
}

Fixed version (ground truth):
/** 
 * An author create a course for a group task with the default settings, all steps are selected, grading with only passed, 3 groups, 2 tasks, 1 solution...</br> A group has 2 participants, the first select a task, the second submit 2 documents, one with the embedded editor, one with the upload mechanism.</br> The author reviews the documents, use the assessment tool for group within the course element to set passed to the group.</br> The 2 participants check if they sucessfully passed the task.
 * @param authorLoginPage
 * @param ryomouBrowser
 * @param kanuBrowser
 * @throws IOException
 * @throws URISyntaxException
 */
@Test @RunAsClient public void taskWithGroupsAndStandardSettings(@InitialPage LoginPage authorLoginPage,@Drone @User WebDriver ryomouBrowser,@Drone @Participant WebDriver kanuBrowser) throws IOException, URISyntaxException {
  Assume.assumeTrue(browser instanceof FirefoxDriver);
  UserVO author=new UserRestClient(deploymentUrl).createAuthor();
  UserVO kanu=new UserRestClient(deploymentUrl).createRandomUser("String_Node_Str");
  UserVO ryomou=new UserRestClient(deploymentUrl).createRandomUser("String_Node_Str");
  authorLoginPage.loginAs(author.getLogin(),author.getPassword());
  String courseTitle="String_Node_Str" + UUID.randomUUID();
  navBar.openAuthoringEnvironment().createCourse(courseTitle).clickToolbarBack();
  String gtaNodeTitle="String_Node_Str";
  CourseEditorPageFragment courseEditor=CoursePageFragment.getCourse(browser).edit();
  courseEditor.createNode("String_Node_Str").nodeTitle(gtaNodeTitle);
  GroupTaskConfigurationPage gtaConfig=new GroupTaskConfigurationPage(browser);
  gtaConfig.selectWorkflow().openBusinessGroupChooser().createBusinessGroup("String_Node_Str").createBusinessGroup("String_Node_Str").createBusinessGroup("String_Node_Str").confirmBusinessGroupsSelection().saveWorkflow().selectAssignment();
  URL task1Url=JunitTestHelper.class.getResource("String_Node_Str");
  File task1File=new File(task1Url.toURI());
  gtaConfig.uploadTask("String_Node_Str",task1File);
  URL task2Url=JunitTestHelper.class.getResource("String_Node_Str");
  File task2File=new File(task2Url.toURI());
  gtaConfig.uploadTask("String_Node_Str",task2File).saveTasks().selectSolution();
  URL solutionUrl=JunitTestHelper.class.getResource("String_Node_Str");
  File solutionFile=new File(solutionUrl.toURI());
  gtaConfig.uploadSolution("String_Node_Str",solutionFile);
  courseEditor.publish().quickPublish(Access.guests);
  MembersPage membersPage=courseEditor.clickToolbarBack().members();
  GroupPage groupPage=membersPage.selectBusinessGroups().selectBusinessGroup("String_Node_Str").openAdministration().openAdminMembers();
  groupPage.addMember().searchMember(kanu,true).next().next().next().finish();
  groupPage.addMember().searchMember(ryomou,true).next().next().next().finish();
  groupPage.close();
  CoursePageFragment coursePage=membersPage.clickToolbarBack();
  coursePage.clickTree().selectWithTitle(gtaNodeTitle);
  LoginPage ryomouLoginPage=LoginPage.getLoginPage(ryomouBrowser,deploymentUrl);
  ryomouLoginPage.loginAs(ryomou).resume();
  NavigationPage ryomouNavBar=new NavigationPage(ryomouBrowser);
  ryomouNavBar.openMyCourses().select(courseTitle);
  CoursePageFragment ryomouTestCourse=new CoursePageFragment(ryomouBrowser);
  ryomouTestCourse.clickTree().selectWithTitle(gtaNodeTitle);
  GroupTaskPage ryomouTask=new GroupTaskPage(ryomouBrowser);
  ryomouTask.assertAssignmentAvailable().selectTask(1).assertSubmissionAvailable();
  LoginPage kanuLoginPage=LoginPage.getLoginPage(kanuBrowser,deploymentUrl);
  kanuLoginPage.loginAs(kanu).resume();
  NavigationPage kanuNavBar=new NavigationPage(kanuBrowser);
  kanuNavBar.openMyCourses().select(courseTitle);
  CoursePageFragment kanuTestCourse=new CoursePageFragment(kanuBrowser);
  kanuTestCourse.clickTree().selectWithTitle(gtaNodeTitle);
  URL submit1Url=JunitTestHelper.class.getResource("String_Node_Str");
  File submit1File=new File(submit1Url.toURI());
  String submittedFilename="String_Node_Str";
  String submittedText="String_Node_Str";
  GroupTaskPage kanuTask=new GroupTaskPage(kanuBrowser);
  kanuTask.assertTask("String_Node_Str").assertSubmissionAvailable().submitFile(submit1File).submitText(submittedFilename,submittedText).submitDocuments();
  coursePage.clickTree().selectWithTitle(gtaNodeTitle);
  GroupTaskToCoachPage groupToCoach=new GroupTaskToCoachPage(browser);
  groupToCoach.selectBusinessGroupToCoach("String_Node_Str").assertSubmittedDocument("String_Node_Str").assertSubmittedDocument("String_Node_Str").reviewed().openGroupAssessment().groupAssessment(Boolean.TRUE,null);
  kanuTestCourse.clickTree().selectWithTitle(gtaNodeTitle);
  kanuTask.assertPassed();
  ryomouTestCourse.clickTree().selectWithTitle(gtaNodeTitle);
  ryomouTask.assertPassed();
}