From c72aada70616a1a94cb1d35bbd81dfb3fc13a541 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Fri, 20 Mar 2020 18:15:38 +0100 Subject: [PATCH] no-jira: update some selenium tests --- .../ui/CertificatesOptionsController.java | 1 + .../ui/EfficiencyStatementController.java | 2 +- .../org/olat/selenium/AssessmentTest.java | 33 ++++++--- .../page/course/CourseSettingsPage.java | 2 +- .../EfficiencyStatementConfigurationPage.java | 37 +--------- .../RepositoryCertificateSettingsPage.java | 70 +++++++++++++++++++ .../repository/RepositorySettingsPage.java | 10 +++ 7 files changed, 108 insertions(+), 47 deletions(-) create mode 100644 src/test/java/org/olat/selenium/page/repository/RepositoryCertificateSettingsPage.java diff --git a/src/main/java/org/olat/course/certificate/ui/CertificatesOptionsController.java b/src/main/java/org/olat/course/certificate/ui/CertificatesOptionsController.java index 160a5503201..f7ba62aff53 100644 --- a/src/main/java/org/olat/course/certificate/ui/CertificatesOptionsController.java +++ b/src/main/java/org/olat/course/certificate/ui/CertificatesOptionsController.java @@ -137,6 +137,7 @@ public class CertificatesOptionsController extends FormBasicController { @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { setFormTitle("options.certificate.title"); + formLayout.setElementCssClass("o_sel_certificate_settings"); boolean managedEff = RepositoryEntryManagedFlag.isManaged(entry, RepositoryEntryManagedFlag.efficencystatement); String[] pdfCertificatesOptionsValues = new String[] { diff --git a/src/main/java/org/olat/course/config/ui/EfficiencyStatementController.java b/src/main/java/org/olat/course/config/ui/EfficiencyStatementController.java index 7ea27d8da7a..52eb7d40be1 100644 --- a/src/main/java/org/olat/course/config/ui/EfficiencyStatementController.java +++ b/src/main/java/org/olat/course/config/ui/EfficiencyStatementController.java @@ -86,7 +86,7 @@ public class EfficiencyStatementController extends FormBasicController { protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { setFormTitle("options.efficency.title"); setFormContextHelp("Course Settings#_leistungsnachweis"); - formLayout.setElementCssClass("o_sel_course_certificates"); + formLayout.setElementCssClass("o_sel_course_efficiency_statements"); boolean effEnabled = courseConfig.isEfficencyStatementEnabled(); boolean managedEff = RepositoryEntryManagedFlag.isManaged(entry, RepositoryEntryManagedFlag.efficencystatement); diff --git a/src/test/java/org/olat/selenium/AssessmentTest.java b/src/test/java/org/olat/selenium/AssessmentTest.java index b5e133c951f..62fa103995d 100644 --- a/src/test/java/org/olat/selenium/AssessmentTest.java +++ b/src/test/java/org/olat/selenium/AssessmentTest.java @@ -46,6 +46,7 @@ import org.olat.selenium.page.course.AssessmentToolPage; import org.olat.selenium.page.course.BulkAssessmentPage.BulkAssessmentData; import org.olat.selenium.page.course.CourseEditorPageFragment; import org.olat.selenium.page.course.CoursePageFragment; +import org.olat.selenium.page.course.CourseSettingsPage; import org.olat.selenium.page.course.GroupTaskConfigurationPage; import org.olat.selenium.page.course.GroupTaskPage; import org.olat.selenium.page.course.GroupTaskToCoachPage; @@ -659,14 +660,17 @@ public class AssessmentTest extends Deployments { .finish(); // return to course - courseRuntime = members + CourseSettingsPage courseSettings = members .clickToolbarBack() - .settings() - .efficiencyStatementConfiguration() + .settings(); + courseSettings + .certificates() .enableCertificates(false) .enableRecertification() - .save() + .save(); + courseSettings .clickToolbarBack(); + //publish the course courseRuntime .publish(); @@ -761,13 +765,15 @@ public class AssessmentTest extends Deployments { .finish(); // return to course - courseRuntime = members + CourseSettingsPage courseSetting = members .clickToolbarBack() - .settings() - .efficiencyStatementConfiguration() + .settings(); + courseSetting + .certificates() .enableCertificates(true) .enableRecertification() - .save() + .save(); + courseSetting .clickToolbarBack(); //Participant log in @@ -847,15 +853,21 @@ public class AssessmentTest extends Deployments { .selectConfigurationWithRubric() .setRubricScore(0.1f, 10.0f, 5.0f); //set the score / passed calculation in root node and publish - courseEditor + CourseSettingsPage courseSettings = courseEditor .selectRoot() .selectTabScore() .enableRootScoreByNodes() .autoPublish() - .settings() + .settings(); + courseSettings .accessConfiguration() .setUserAccess(UserAccess.registred) .save(); + courseSettings + .certificates() + .enableCertificates(true) + .enableRecertification() + .save(); //go to members management CoursePageFragment courseRuntime = courseEditor.clickToolbarBack(); @@ -895,6 +907,7 @@ public class AssessmentTest extends Deployments { .assertOnEfficiencyStatmentPage() .assertOnStatement(courseTitle, true) .selectStatement(courseTitle) + .selectStatementSegment() .assertOnCourseDetails(assessmentNodeTitle, true); } diff --git a/src/test/java/org/olat/selenium/page/course/CourseSettingsPage.java b/src/test/java/org/olat/selenium/page/course/CourseSettingsPage.java index b60fc1d6fce..99a41834f83 100644 --- a/src/test/java/org/olat/selenium/page/course/CourseSettingsPage.java +++ b/src/test/java/org/olat/selenium/page/course/CourseSettingsPage.java @@ -53,7 +53,7 @@ public class CourseSettingsPage extends RepositorySettingsPage { OOGraphene.waitElement(certificateSegmentBy, browser); browser.findElement(certificateSegmentBy).click(); - By toolbarSettingsBy = By.cssSelector("fieldset.o_sel_course_certificates"); + By toolbarSettingsBy = By.cssSelector("fieldset.o_sel_course_efficiency_statements"); OOGraphene.waitElement(toolbarSettingsBy, browser); return new EfficiencyStatementConfigurationPage(browser); diff --git a/src/test/java/org/olat/selenium/page/course/EfficiencyStatementConfigurationPage.java b/src/test/java/org/olat/selenium/page/course/EfficiencyStatementConfigurationPage.java index e338037c0fc..9dbbc74087d 100644 --- a/src/test/java/org/olat/selenium/page/course/EfficiencyStatementConfigurationPage.java +++ b/src/test/java/org/olat/selenium/page/course/EfficiencyStatementConfigurationPage.java @@ -36,44 +36,11 @@ public class EfficiencyStatementConfigurationPage { public EfficiencyStatementConfigurationPage(WebDriver browser) { this.browser = browser; } - - public EfficiencyStatementConfigurationPage enableCertificates(boolean auto) { - By by; - if(auto) { - by = By.cssSelector("fieldset.o_sel_course_certificates div.checkbox input[type='checkbox'][value='auto']"); - } else { - by = By.cssSelector("fieldset.o_sel_course_certificates div.checkbox input[type='checkbox'][value='manual']"); - } - browser.findElement(by).click(); - OOGraphene.waitBusy(browser); - return this; - } - - public EfficiencyStatementConfigurationPage enableRecertification() { - By recertificationBy = By.cssSelector("fieldset.o_sel_course_certificates input[type='checkbox'][name='recertification']"); - browser.findElement(recertificationBy).click(); - OOGraphene.waitBusy(browser); - return this; - } - + public EfficiencyStatementConfigurationPage save() { - By saveSwitch = By.cssSelector("fieldset.o_sel_course_certificates button.btn.btn-primary"); + By saveSwitch = By.cssSelector("fieldset.o_sel_course_efficiency_statements button.btn.btn-primary"); browser.findElement(saveSwitch).click(); OOGraphene.waitBusy(browser); return this; } - - /** - * Click back to the course - * - * @return - */ - public CoursePageFragment clickToolbarBack() { - OOGraphene.closeBlueMessageWindow(browser); - By toolbarBackBy = By.cssSelector("li.o_breadcrumb_back>a"); - browser.findElement(toolbarBackBy).click(); - OOGraphene.waitBusy(browser); - return new CoursePageFragment(browser); - } - } diff --git a/src/test/java/org/olat/selenium/page/repository/RepositoryCertificateSettingsPage.java b/src/test/java/org/olat/selenium/page/repository/RepositoryCertificateSettingsPage.java new file mode 100644 index 00000000000..6f687530049 --- /dev/null +++ b/src/test/java/org/olat/selenium/page/repository/RepositoryCertificateSettingsPage.java @@ -0,0 +1,70 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.selenium.page.repository; + +import org.olat.selenium.page.graphene.OOGraphene; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; + +/** + * + * Initial date: 20 mars 2020<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class RepositoryCertificateSettingsPage { + + private final WebDriver browser; + + public RepositoryCertificateSettingsPage(WebDriver browser) { + this.browser = browser; + } + + public RepositoryCertificateSettingsPage enableCertificates(boolean auto) { + By by; + if(auto) { + by = By.cssSelector("fieldset.o_sel_certificate_settings div.checkbox input[type='checkbox'][value='auto']"); + } else { + by = By.cssSelector("fieldset.o_sel_certificate_settings div.checkbox input[type='checkbox'][value='manual']"); + } + WebElement checkEl = browser.findElement(by); + OOGraphene.check(checkEl, Boolean.TRUE); + OOGraphene.waitBusy(browser); + return this; + } + + public RepositoryCertificateSettingsPage enableRecertification() { + By recertificationBy = By.cssSelector("fieldset.o_sel_certificate_settings input[type='checkbox'][name='recertification']"); + WebElement checkEl = browser.findElement(recertificationBy); + OOGraphene.check(checkEl, Boolean.TRUE); + OOGraphene.waitBusy(browser); + return this; + } + + public RepositoryCertificateSettingsPage save() { + By saveSwitch = By.cssSelector("fieldset.o_sel_certificate_settings button.btn.btn-primary"); + browser.findElement(saveSwitch).click(); + OOGraphene.waitBusy(browser); + return this; + } + + +} diff --git a/src/test/java/org/olat/selenium/page/repository/RepositorySettingsPage.java b/src/test/java/org/olat/selenium/page/repository/RepositorySettingsPage.java index d81d78c30f8..d3d48d828bc 100644 --- a/src/test/java/org/olat/selenium/page/repository/RepositorySettingsPage.java +++ b/src/test/java/org/olat/selenium/page/repository/RepositorySettingsPage.java @@ -75,6 +75,16 @@ public class RepositorySettingsPage { return new RepositoryAccessPage(browser); } + public RepositoryCertificateSettingsPage certificates() { + By accessSegmentBy = By.cssSelector("ul.o_tools_segments a.o_sel_results"); + OOGraphene.waitElement(accessSegmentBy, browser); + browser.findElement(accessSegmentBy).click(); + + By certificatesConfigurationBy = By.cssSelector("fieldset.o_sel_certificate_settings"); + OOGraphene.waitElement(certificatesConfigurationBy, browser); + return new RepositoryCertificateSettingsPage(browser); + } + public void back() { OOGraphene.clickBreadcrumbBack(browser); } -- GitLab