MDL-40392 Navigation -> my courses listing tests
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Sun, 30 Jun 2013 18:10:11 +0000 (20:10 +0200)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Thu, 4 Jul 2013 11:51:25 +0000 (13:51 +0200)
This introduces some behat tests to verify that
the display of enrolled courses in the navigation
block works as expected, both when a plain list
or a nested list is configured.

Personally I'm not happy with the way to select
expected text via css element. I'd love to see
something in an higher level like

I should see the text|link "xxxxx" in the "yyyy" "element"

with element being "block, header, footer, main...."

But that's another issue.

blocks/navigation/tests/behat/view_my_courses.feature [new file with mode: 0644]

diff --git a/blocks/navigation/tests/behat/view_my_courses.feature b/blocks/navigation/tests/behat/view_my_courses.feature
new file mode 100644 (file)
index 0000000..102a03c
--- /dev/null
@@ -0,0 +1,68 @@
+@block @block_navigation
+Feature: View my courses in navigation block
+  In order to navigate to my courses
+  As a student
+  I need my courses displayed in the navigation block
+
+  Background:
+    Given the following "users" exists:
+      | username | firstname | lastname | email |
+      | student1 | Student | 1 | student1@asd.com |
+    And the following "categories" exists:
+      | name  | category | idnumber |
+      | cat1  | 0        | cat1     |
+      | cat2  | 0        | cat2     |
+      | cat3  | 0        | cat3     |
+      | cat31 | cat3     | cat31    |
+      | cat32 | cat3     | cat32    |
+      | cat33 | cat3     | cat33    |
+    And the following "courses" exists:
+      | fullname | shortname | category |
+      | Course1  | c1        | cat1     |
+      | Course2  | c2        | cat2     |
+      | Course31 | c31       | cat31    |
+      | Course32 | c32       | cat32    |
+      | Course331| c331      | cat33    |
+      | Course332| c332      | cat33    |
+    And the following "course enrolments" exists:
+      | user     | course | role    |
+      | student1 | c1     | student |
+      | student1 | c31    | student |
+      | student1 | c331   | student |
+    And I log in as "admin"
+
+  @javascript
+  Scenario: The plain list of enrolled courses is shown
+    Given I set the following administration settings values:
+      | Show my course categories | 0 |
+    And I log out
+    And I log in as "student1"
+    When I follow "My home"
+    Then I should not see "cat1" in the "div.block_navigation .type_system" "css_element"
+    And I should not see "cat2" in the "div.block_navigation .type_system" "css_element"
+    And I should see "c1" in the "div.block_navigation .type_system" "css_element"
+    And I should see "c31" in the "div.block_navigation .type_system" "css_element"
+    And I should see "c331" in the "div.block_navigation .type_system" "css_element"
+    And I should not see "c2" in the "div.block_navigation .type_system" "css_element"
+    And I should not see "c32" in the "div.block_navigation .type_system" "css_element"
+    And I should not see "c332" in the "div.block_navigation .type_system" "css_element"
+
+  @javascript
+  Scenario: The nested list of enrolled courses is shown
+    Given I set the following administration settings values:
+      | Show my course categories | 1 |
+    And I log out
+    And I log in as "student1"
+    When I follow "My home"
+    Then I should see "cat1" in the "div.block_navigation .type_system" "css_element"
+    And I should see "cat3" in the "div.block_navigation .type_system" "css_element"
+    And I should not see "cat2" in the "div.block_navigation .type_system" "css_element"
+    When I expand "cat3" node
+    Then I should see "cat31" in the "div.block_navigation .type_system" "css_element"
+    And I should see "cat33" in the "div.block_navigation .type_system" "css_element"
+    And I should not see "cat32" in the "div.block_navigation .type_system" "css_element"
+    When I expand "cat31" node
+    Then I should see "c31" in the "div.block_navigation .type_system" "css_element"
+    When I expand "cat33" node
+    And I should see "c331" in the "div.block_navigation .type_system" "css_element"
+    And I should not see "c332" in the "div.block_navigation .type_system" "css_element"