diff --git a/pom.xml b/pom.xml index 2cf4175b96fb0c966c0fd33e57d1992576e7b58a..54f925182ca7865bae460837ee04b1a9dcf914e4 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.openolat</groupId> <artifactId>openolat-lms</artifactId> - <version>14.2-SNAPSHOT</version> + <version>15.0-SNAPSHOT</version> <packaging>war</packaging> <name>OpenOLAT LMS</name> <url>https://www.openolat.com</url> diff --git a/src/test/java/org/olat/selenium/CourseElementTest.java b/src/test/java/org/olat/selenium/CourseElementTest.java index 302725b3a9579a9be729f4e078dfd3afb27f7b86..f7d64ae25268d79c67a1ab34fa339526c67104ae 100644 --- a/src/test/java/org/olat/selenium/CourseElementTest.java +++ b/src/test/java/org/olat/selenium/CourseElementTest.java @@ -34,6 +34,7 @@ import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; +import org.olat.repository.RepositoryEntryStatusEnum; import org.olat.selenium.page.LoginPage; import org.olat.selenium.page.NavigationPage; import org.olat.selenium.page.Participant; @@ -160,6 +161,7 @@ public class CourseElementTest extends Deployments { OOGraphene.waitElement(By.xpath("//h2[text()='Lorem Ipsum']"), browser); } + /** * This test an edge case where a course start automatically its first * course element, which is a structure node which start itself its first @@ -173,6 +175,8 @@ public class CourseElementTest extends Deployments { throws IOException, URISyntaxException { UserVO author = new UserRestClient(deploymentUrl).createRandomAuthor(); + UserVO participant = new UserRestClient(deploymentUrl).createRandomUser("Ryomou"); + LoginPage loginPage = LoginPage.load(browser, deploymentUrl); loginPage.loginAs(author.getLogin(), author.getPassword()); @@ -198,22 +202,43 @@ public class CourseElementTest extends Deployments { .assertOnStart(); // make the author a participant too + MembersPage members = course + .members(); + members + .addMember() + .searchMember(participant, true) + .nextUsers() + .nextOverview() + .nextPermissions() + .finish(); + members + .clickToolbarBack(); + course - .members() - .selectMembers() - .openMembership(author.getFirstName()) - .editRepositoryMembership(Boolean.TRUE) - .saveMembership() + .settings() + .accessConfiguration() + .setUserAccess(UserAccess.registred) + .save() .clickToolbarBack(); + course + .changeStatus(RepositoryEntryStatusEnum.published); + + String courseUrl = browser.getCurrentUrl(); + if(courseUrl.indexOf("CourseNode") >= 0) { + courseUrl = courseUrl.substring(0, courseUrl.indexOf("CourseNode")); + } + //log out new UserToolsPage(browser) .logout(); - - //log in and resume test - loginPage - .loginAs(author.getLogin(), author.getPassword()) - .resume(); + + // participant log in and go directly to the course with the SCORM + LoginPage participantLoginPage = LoginPage.load(browser, new URL(courseUrl)); + + participantLoginPage + .loginAs(participant.getLogin(), participant.getPassword(), By.className("o_scorm_content")); + // direct jump in SCORM content ScormPage.getScormPage(browser) .passVerySimpleScorm() diff --git a/src/test/java/org/olat/selenium/page/LoginPage.java b/src/test/java/org/olat/selenium/page/LoginPage.java index d68474abe4527ebe5573c26eb204895991225d0a..16dae3ef3a043ea83d47ecfb4c8ca14fc78f244e 100644 --- a/src/test/java/org/olat/selenium/page/LoginPage.java +++ b/src/test/java/org/olat/selenium/page/LoginPage.java @@ -146,6 +146,11 @@ public class LoginPage { * @param password */ public LoginPage loginAs(String username, String password) { + By footerUserBy = By.cssSelector("#o_footer_user #o_username"); + return loginAs(username, password, footerUserBy); + } + + public LoginPage loginAs(String username, String password, By landingPointBy) { //fill login form By usernameId = By.id("o_fiooolat_login_name"); OOGraphene.waitElement(usernameId, browser);//wait the login page @@ -168,8 +173,7 @@ public class LoginPage { } //wait until the content appears - By footerUserBy = By.cssSelector("#o_footer_user #o_username"); - OOGraphene.waitElement(footerUserBy, 30, browser); + OOGraphene.waitElement(landingPointBy, 30, browser); return this; } diff --git a/src/test/java/org/olat/test/ArquillianDeployments.java b/src/test/java/org/olat/test/ArquillianDeployments.java index 7e53d960539ecded64c599b1b86ab8aa895b33af..1a2fde965027b7b26e6303a5c93609a76031c3f7 100644 --- a/src/test/java/org/olat/test/ArquillianDeployments.java +++ b/src/test/java/org/olat/test/ArquillianDeployments.java @@ -47,7 +47,7 @@ public class ArquillianDeployments { public static final String WEBINF = "src/main/webapp/WEB-INF"; public static final String WEBINF_TOMCAT = "src/main/webapp-tomcat/WEB-INF"; public static final String TEST_RSRC = "src/test/resources"; - public static final String LIB_DIR = "target/openolat-lms-14.2-SNAPSHOT/WEB-INF/lib"; + public static final String LIB_DIR = "target/openolat-lms-15.0-SNAPSHOT/WEB-INF/lib"; public static WebArchive createDeployment() { Map<String,String> overrideProperties = new HashMap<>();