Merge branch 'MDL-66357-master' of git://github.com/sarjona/moodle
[moodle.git] / badges / tests / behat / add_badge.feature
1 @core @core_badges
2 Feature: Add badges to the system
3   In order to give badges to users for their achievements
4   As an admin
5   I need to manage badges in the system
7   Background:
8     Given I am on homepage
9     And I log in as "admin"
11   @javascript
12   Scenario: Setting badges settings
13     Given I navigate to "Badges > Badges settings" in site administration
14     And I set the field "Badge issuer name" to "Test Badge Site"
15     And I set the field "Badge issuer email address" to "testuser@example.com"
16     And I press "Save changes"
17     And I follow "Badges"
18     When I follow "Add a new badge"
19     And I press "Issuer details"
20     Then I should see "testuser@example.com"
21     And I should see "Test Badge Site"
23   @javascript
24   Scenario: Accessing the badges
25     And I press "Customise this page"
26    # TODO MDL-57120 site "Badges" link not accessible without navigation block.
27     And I add the "Navigation" block if not present
28     And I click on "Site pages" "list_item" in the "Navigation" "block"
29     Given I click on "Site badges" "link" in the "Navigation" "block"
30     Then I should see "There are no badges available."
32   @javascript @_file_upload
33   Scenario: Add a badge
34     Given I navigate to "Badges > Add a new badge" in site administration
35     And I set the following fields to these values:
36       | Name | Test badge with 'apostrophe' and other friends (<>&@#) |
37       | Version | v1 |
38       | Language | English |
39       | Description | Test badge description |
40       | Image author | http://author.example.com |
41       | Image caption | Test caption image |
42     And I upload "badges/tests/behat/badge.png" file to "Image" filemanager
43     When I press "Create badge"
44     Then I should see "Edit details"
45     And I should see "Test badge with 'apostrophe' and other friends (&@#)"
46     And I should see "Endorsement"
47     And I should see "Related badges (0)"
48     And I should see "Alignments (0)"
49     And I should not see "Create badge"
50     And I follow "Manage badges"
51     And I should see "Number of badges available: 1"
52     And I should not see "There are no badges available."
54   @javascript @_file_upload
55   Scenario: Add a badge related
56     Given I navigate to "Badges > Add a new badge" in site administration
57     And I set the following fields to these values:
58       | Name | Test Badge 1 |
59       | Version | v1 |
60       | Language | French |
61       | Description | Test badge related description |
62       | Image author | http://author.example.com |
63       | Image caption | Test caption image |
64     And I upload "badges/tests/behat/badge.png" file to "Image" filemanager
65     And I press "Create badge"
66     And I wait until the page is ready
67     And I follow "Manage badges"
68     And I should see "Number of badges available: 1"
69     And I press "Add a new badge"
70     And I set the following fields to these values:
71       | Name | Test Badge 2 |
72       | Version | v2 |
73       | Language | English |
74       | Description | Test badge description |
75       | Image author | http://author.example.com |
76       | Image caption | Test caption image |
77     And I upload "badges/tests/behat/badge.png" file to "Image" filemanager
78     And I press "Create badge"
79     And I follow "Related badges (0)"
80     And I should see "This badge does not have any related badges."
81     And I press "Add related badge"
82     And I follow "Related badges"
83     And I wait until the page is ready
84     And I follow "Related badges"
85     And I set the field "relatedbadgeids[]" to "Test Badge 1 (version: v1, language: French, Site badges)"
86     When I press "Save changes"
87     Then I should see "Related badges (1)"
89   @javascript @_file_upload
90   Scenario: Endorsement for Badge
91     Given I navigate to "Badges > Add a new badge" in site administration
92     And I set the following fields to these values:
93       | Name | Test Badge Enrolment |
94       | Version | v1 |
95       | Language | English |
96       | Description | Test badge description |
97       | Image author | http://author.example.com |
98       | Image caption | Test caption image |
99     And I upload "badges/tests/behat/badge.png" file to "Image" filemanager
100     When I press "Create badge"
101     Then I should see "Edit details"
102     And I should see "Endorsement"
103     And I follow "Endorsement"
104     And I set the following fields to these values:
105       | Endorser name | Endorser |
106       | Email | endorsement@example.com |
107       | Issuer URL | http://example.com  |
108       | Claim URL | http://claimurl.example.com |
109       | Endorsement comment | Test Endorsement comment |
110     And I press "Save changes"
111     Then I should see "Changes saved"
113   @javascript @_file_upload
114   Scenario: Alignments for Badge
115     Given I navigate to "Badges > Add a new badge" in site administration
116     And I set the following fields to these values:
117       | Name | Test Badge |
118       | Version | v1 |
119       | Language | English |
120       | Description | Test badge description |
121       | Image author | http://author.example.com |
122       | Image caption | Test caption image |
123     And I upload "badges/tests/behat/badge.png" file to "Image" filemanager
124     When I press "Create badge"
125     Then I should see "Test Badge"
126     And I should see "Endorsement"
127     And I follow "Alignments (0)"
128     And I should see "This badge does not have any external skills or standards specified."
129     And I press "Add external skill or standard"
130     And I set the following fields to these values:
131       | Name | Test Badge Alignments |
132       | URL | https://alignments.example.com |
133       | Description | Test Badge Alignments description |
134     When I press "Save changes"
135     And I should see "Alignments (1)"
137   @javascript @_file_upload
138   Scenario: Add a badge from Site badges section
139     Given I press "Customise this page"
140     # TODO MDL-57120 site "Badges" link not accessible without navigation block.
141     And I add the "Navigation" block if not present
142     When I click on "Site pages" "list_item" in the "Navigation" "block"
143     And I click on "Site badges" "link" in the "Navigation" "block"
144     Then I should see "Manage badges"
145     And I should see "Add a new badge"
146     # Add a badge.
147     When I press "Add a new badge"
148     And I set the following fields to these values:
149       | Name | Test badge with 'apostrophe' and other friends (<>&@#) 2 |
150       | Version | v1 |
151       | Language | English |
152       | Description | Test badge description |
153       | Image author | http://author.example.com |
154       | Image caption | Test caption image |
155     And I upload "badges/tests/behat/badge.png" file to "Image" filemanager
156     And I press "Create badge"
157     Then I should see "Edit details"
158     And I should see "Test badge with 'apostrophe' and other friends (&@#) 2"
159     And I should see "Endorsement"
160     And I should see "Related badges (0)"
161     And I should see "Alignments (0)"
162     And I should not see "Create badge"
163     And I follow "Manage badges"
164     And I should see "Number of badges available: 1"
165     And I should not see "There are no badges available."
166     # See buttons from the "Site badges" page.
167     And I am on homepage
168     When I click on "Site pages" "list_item" in the "Navigation" "block"
169     And I click on "Site badges" "link" in the "Navigation" "block"
170     Then I should see "Manage badges"
171     And I should see "Add a new badge"