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