7d2826654d
The majority of this change involved moving the report page logic into the view page for both browser and mobile.
108 lines
5.1 KiB
Gherkin
108 lines
5.1 KiB
Gherkin
@mod @mod_customcert
|
|
Feature: Being able to verify that a certificate is valid or not
|
|
In order to ensure that a user can verify a certificate is valid
|
|
As a teacher and non-user
|
|
I need to be able to verify a certificate
|
|
|
|
Background:
|
|
Given the following "courses" exist:
|
|
| fullname | shortname | category |
|
|
| Course 1 | C1 | 0 |
|
|
And the following "users" exist:
|
|
| username | firstname | lastname | email |
|
|
| teacher1 | Teacher | 1 | teacher1@example.com |
|
|
| student1 | Student | 1 | student1@example.com |
|
|
And the following "course enrolments" exist:
|
|
| user | course | role |
|
|
| teacher1 | C1 | editingteacher |
|
|
| student1 | C1 | student |
|
|
And the following "activities" exist:
|
|
| activity | name | intro | course | idnumber | verifyany |
|
|
| customcert | Custom certificate 1 | Custom certificate 1 intro | C1 | customcert1 | 0 |
|
|
| customcert | Custom certificate 2 | Custom certificate 2 intro | C1 | customcert2 | 1 |
|
|
|
|
Scenario: Verify a certificate as a teacher
|
|
And I log in as "student1"
|
|
And I am on "Course 1" course homepage
|
|
And I follow "Custom certificate 1"
|
|
And I press "View certificate"
|
|
And I log out
|
|
And I log in as "teacher1"
|
|
And I am on "Course 1" course homepage
|
|
And I follow "Custom certificate 1"
|
|
And I navigate to "Verify certificate" in current page administration
|
|
And I set the field "Code" to "NOTAVALIDCODE"
|
|
And I press "Verify"
|
|
And I should see "Not verified"
|
|
And I verify the "Custom certificate 1" certificate for the user "student1"
|
|
|
|
Scenario: Attempt to verify a certificate as a non-user
|
|
And I visit the verification url for the "Custom certificate 1" certificate
|
|
# User should get redirected to log in as we do not allow non-users to verify.
|
|
And I should see "Remember username"
|
|
|
|
Scenario: Verify a certificate as a non-user
|
|
And I log in as "student1"
|
|
And I am on "Course 1" course homepage
|
|
And I follow "Custom certificate 2"
|
|
And I press "View certificate"
|
|
And I log out
|
|
And I visit the verification url for the "Custom certificate 2" certificate
|
|
And I set the field "Code" to "NOTAVALIDCODE"
|
|
And I press "Verify"
|
|
And I should see "Not verified"
|
|
And I verify the "Custom certificate 2" certificate for the user "student1"
|
|
|
|
Scenario: Attempt to verify a certificate as a non-user using the site-wide URL
|
|
And the following config values are set as admin:
|
|
| verifyallcertificates | 0 | customcert |
|
|
And I visit the verification url for the site
|
|
# User should see an error message as we do not allow non-users to verify all certificates on the site.
|
|
And I should see "You do not have the permission to verify all certificates on the site"
|
|
|
|
Scenario: Attempt to verify a certificate as a teacher using the site-wide URL
|
|
And the following config values are set as admin:
|
|
| verifyallcertificates | 0 | customcert |
|
|
And I log in as "teacher1"
|
|
And I visit the verification url for the site
|
|
# User should see an error message as we do not allow teachers to verify all certificates on the site.
|
|
And I should see "You do not have the permission to verify all certificates on the site"
|
|
|
|
Scenario: Verify a certificate as an admin using the site-wide URL
|
|
And the following config values are set as admin:
|
|
| verifyallcertificates | 0 | customcert |
|
|
And I log in as "student1"
|
|
And I am on "Course 1" course homepage
|
|
And I follow "Custom certificate 1"
|
|
And I press "View certificate"
|
|
And I am on "Course 1" course homepage
|
|
And I follow "Custom certificate 2"
|
|
And I press "View certificate"
|
|
And I log out
|
|
And I log in as "admin"
|
|
# The admin (or anyone with the capability 'mod/customcert:verifyallcertificates') can visit the URL regardless of the setting.
|
|
And I visit the verification url for the site
|
|
And I set the field "Code" to "NOTAVALIDCODE"
|
|
And I press "Verify"
|
|
And I should see "Not verified"
|
|
# The admin (or anyone with the capability 'mod/customcert:verifyallcertificates') can verify any certificate regardless of the 'verifyany' setting.
|
|
And I verify the "Custom certificate 1" certificate for the user "student1"
|
|
And I verify the "Custom certificate 2" certificate for the user "student1"
|
|
|
|
Scenario: Verify a certificate as a non-user using the site-wide URL
|
|
And the following config values are set as admin:
|
|
| verifyallcertificates | 1 | customcert |
|
|
And I log in as "student1"
|
|
And I am on "Course 1" course homepage
|
|
And I follow "Custom certificate 1"
|
|
And I press "View certificate"
|
|
And I am on "Course 1" course homepage
|
|
And I follow "Custom certificate 2"
|
|
And I press "View certificate"
|
|
And I log out
|
|
And I visit the verification url for the site
|
|
And I set the field "Code" to "NOTAVALIDCODE"
|
|
And I press "Verify"
|
|
And I should see "Not verified"
|
|
And I can not verify the "Custom certificate 1" certificate for the user "student1"
|
|
And I verify the "Custom certificate 2" certificate for the user "student1"
|