diff --git a/main/course_home/redirect.php b/main/course_home/redirect.php new file mode 100644 index 0000000000..813480a01c --- /dev/null +++ b/main/course_home/redirect.php @@ -0,0 +1,24 @@ +getSession()->back(); } - /** - * @Given /^I am a session administrator$/ - */ - public function iAmASessionAdministrator() - { - $this->visit('/index.php?logout=logout'); - $this->iAmOnHomepage(); - $this->fillFields(new \Behat\Gherkin\Node\TableNode([ - ['login', 'amaurichard'], - ['password', 'amaurichard'] - ])); - $this->pressButton('submitAuth'); - } - /** * @Given /^I am a teacher$/ */ @@ -54,17 +40,6 @@ class FeatureContext extends MinkContext $this->pressButton('submitAuth'); } - /** - * @Given /^I am a teacher in course "([^"]*)"$/ - * @Todo implement - */ - public function iAmATeacherInCourse($course) - { - //$sql = "SELECT * FROM course_rel_user WHERE c_id = X AND user_id = "; - //$result = ... - //if ($result !== false) { ... } - } - /** * @Given /^I am a student$/ */ @@ -136,18 +111,18 @@ class FeatureContext extends MinkContext /** * @Given /^I am on course "([^"]*)" homepage$/ */ - public function iAmOnCourseXHomepage($argument) + public function iAmOnCourseXHomepage($courseCode) { - $this->visit('/courses/'.$argument.'/index.php'); + $this->visit('/courses/'.$courseCode.'/index.php'); $this->assertElementNotOnPage('.alert-danger'); } /** * @Given /^I am on course "([^"]*)" homepage in session "([^"]*)"$/ */ - public function iAmOnCourseXHomepageInSessionY($courseArgument, $sessionArgument) + public function iAmOnCourseXHomepageInSessionY($courseCode, $sessionName) { - $this->visit('/courses/'.$courseArgument.'/index.php?id_session='.$sessionArgument); + $this->visit('/main/course_home/redirect.php?cidReq='.$courseCode.'&session_name='.$sessionName); } /** diff --git a/tests/behat/features/course.feature b/tests/behat/features/course.feature index a9f3727ad0..df68b05488 100644 --- a/tests/behat/features/course.feature +++ b/tests/behat/features/course.feature @@ -23,6 +23,13 @@ Feature: Course tools basic testing Given I am on "/main/admin/course_add.php" Then I should not see "not authorized" + Scenario: Create a private course before testing + Given I am on "/main/admin/course_add.php" + When I fill in "title" with "TEMP_PRIVATE" + Then I check the "Private access (access authorized to group members only)" radio button + And I press "submit" + Then I should see "Course TEMP_PRIVATE added" + Scenario: Create a course before testing Given I am on "/main/admin/course_add.php" When I fill in "title" with "TEMP" diff --git a/tests/behat/features/sessionAccess.feature b/tests/behat/features/sessionAccess.feature index f4e3319ca8..9d55a94c30 100644 --- a/tests/behat/features/sessionAccess.feature +++ b/tests/behat/features/sessionAccess.feature @@ -11,17 +11,17 @@ Feature: Session access And I fill in select2 input "#coach_username" with id "1" and value "admin" And I press "submit" Then I should see "Add courses to this session (Session1)" - Then I select "TEMP (TEMP)" from "NoSessionCoursesList[]" + Then I select "TEMP_PRIVATE (TEMPPRIVATE)" from "NoSessionCoursesList[]" And I press "add_course" And I press "next" Then I should see "Update successful" Then I should see "Subscribe users to this session" - Then I press "Multiple registration" + Then I follow "Multiple registration" Then I select "Warnier Yannick (ywarnier)" from "nosessionUsersList[]" And I press "add_user" And I press "next" Then I should see "Session1" - Then I should see "TEMP" + Then I should see "TEMPPRIVATE" Then I should see "ywarnier" @javascript @@ -33,42 +33,55 @@ Feature: Session access And I fill in select2 input "#coach_username" with id "1" and value "admin" And I press "submit" Then I should see "Add courses to this session (Session2)" - Then I select "TEMP (TEMP)" from "NoSessionCoursesList[]" + Then I select "TEMP_PRIVATE (TEMPPRIVATE)" from "NoSessionCoursesList[]" And I press "add_course" And I press "next" Then I should see "Update successful" Then I should see "Subscribe users to this session" - Then I press "Multiple registration" - Then I select "Mosquera Michela (mmosquera)" from "nosessionUsersList[]" + Then I follow "Multiple registration" + Then I select "Mosquera Guardamino Michela (mmosquera)" from "nosessionUsersList[]" And I press "add_user" And I press "next" Then I should see "Session2" - Then I should see "TEMP" + Then I should see "TEMPPRIVATE" Then I should see "mmosquera" - Scenario: Connect to session 2 + Scenario: ywarnier connects to Session1 Given I am logged as "ywarnier" - And I am on course "TEMP" homepage in session "1" + Then I am on course "TEMPPRIVATE" homepage in session "Session1" Then I should not see "You are not allowed" - And I am on course "TEMP" homepage in session "2" + + Scenario: ywarnier connect to Session 2 + Given I am logged as "ywarnier" + Then I am on course "TEMPPRIVATE" homepage in session "Session2" + Then I should see "You are not allowed" + + Scenario: ywarnier connect to session that doesn't exists + Given I am logged as "ywarnier" + And I am on course "TEMPPRIVATE" homepage in session "Session does not exists" Then I should see "You are not allowed" - Scenario: Connect to session 2 + Scenario: mmosquera connect to Session 1 Given I am logged as "mmosquera" - And I am on course "TEMP" homepage in session "2" - Then I should not see "You are not allowed" - And I am on course "TEMP" homepage in session "1" + Then I am on course "TEMPPRIVATE" homepage in session "Session1" Then I should see "You are not allowed" + Scenario: mmosquera connect to Session 2 + Given I am logged as "mmosquera" + Then I am on course "TEMPPRIVATE" homepage in session "Session2" + Then I should not see "You are not allowed" + Scenario: Delete session "Session2" - Given I am on "/main/session/session_list.php?keyword=Session2" + Given I am a platform administrator + And I am on "/main/session/session_list.php?keyword=Session2" And wait for the page to be loaded And I follow "Delete" And I confirm the popup Then I should see "Deleted" Scenario: Delete session "Session1" - Given I am on "/main/session/session_list.php?keyword=Session1" + Given I am a platform administrator + And I am on "/main/session/session_list.php?keyword=Session1" And wait for the page to be loaded And I follow "Delete" And I confirm the popup