565ac81674b1a840d5a826a1c09a6fa5e8460da1
[moodle.git] / filter / displayh5p / tests / behat / h5p_filter.feature
1 @editor @filter @filter_displayh5p @core_h5p @_file_upload @_switch_iframe
2 Feature: Render H5P content using filters
3   To write rich text - I need to render H5P content.
5   Background:
6     Given the following "courses" exist:
7       | shortname | fullname |
8       | C1        | Course 1 |
9     And the following "users" exist:
10       | username | firstname | lastname | email |
11       | teacher1 | Teacher | 1 | teacher1@example.com |
12       | student1 | Student | 1 | student1@example.com |
13     And the following "course enrolments" exist:
14       | user | course | role |
15       | teacher1 | C1 | editingteacher |
16       | student1 | C1 | student        |
17     And the following "activities" exist:
18       | activity | name       | intro      | introformat | course | content  | contentformat | idnumber |
19       | page     | PageName1  | PageDesc1  | 1           | C1     | H5Ptest  | 1             | 1        |
20     And the "displayh5p" filter is "on"
22   @javascript
23   Scenario: Render an external H5P content URL.
24     Given I log in as "teacher1"
25     And I am on "Course 1" course homepage
26     And I follow "PageName1"
27     And I navigate to "Edit settings" in current page administration
28     And I set the field "Page content" to "<div>Go for it</div>https://h5p.org/h5p/embed/576651"
29     When I click on "Save and display" "button"
30     And I wait until the page is ready
31     And I switch to "h5p-iframe" class iframe
32     Then I should see "Lorum ipsum"
34   @javascript
35   Scenario: Add an external H5P content URL in a link. Shouldn't be rendered.
36     Given I log in as "teacher1"
37     And I am on "Course 1" course homepage
38     And I follow "PageName1"
39     And I navigate to "Edit settings" in current page administration
40     And I set the field "Page content" to "<a href='https://h5p.org/h5p/embed/576651'>Go to https://h5p.org/h5p/embed/576651</a>"
41     When I click on "Save and display" "button"
42     And I wait until the page is ready
43     Then ".h5p-iframe" "css_element" should not exist
45   @javascript
46   Scenario: Render a server H5P file
47     Given I log in as "teacher1"
48     And I am on "Course 1" course homepage with editing mode on
49     And I add a "File" to section "1"
50     And I set the following fields to these values:
51       | Name                      | ipsumFile     |
52     And I upload "filter/displayh5p/tests/fixtures/ipsums.h5p" file to "Select files" filemanager
53     And I press "Save and return to course"
54     And I follow "PageName1"
55     And I navigate to "Edit settings" in current page administration
56     And I click on "Insert H5P" "button" in the "#fitem_id_page" "css_element"
57     And I click on "Browse repositories..." "button" in the "Insert H5P" "dialogue"
58     And I click on "Server files" "link" in the ".fp-repo-area" "css_element"
59     And I click on "ipsumFile (File)" "link"
60     And I click on "ipsums.h5p" "link"
61     And I click on "Select this file" "button"
62     And I click on "Insert H5P" "button" in the "Insert H5P" "dialogue"
63     And I wait until the page is ready
64     When I click on "Save and display" "button"
65 #   Switch to iframe created by filter
66     And I switch to "h5p-iframe" class iframe
67 #   Switch to iframe created by embed.php page
68     And I switch to "h5p-iframe" class iframe
69     Then I should see "Lorum ipsum"
70     And I switch to the main frame
71     And I log out
72     And I log in as "student1"
73     And I am on "Course 1" course homepage
74     And I follow "PageName1"
75 #   Switch to iframe created by filter
76     And I switch to "h5p-iframe" class iframe
77 #   Switch to iframe created by embed.php page
78     And I switch to "h5p-iframe" class iframe
79     And I should not see "you don't have access"
80     And I should see "Lorum ipsum"