Merge branch 'MDL-76065-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE

This commit is contained in:
Jun Pataleta 2023-05-25 12:36:35 +08:00 committed by Sara Arjona
commit 59596ddedc
9 changed files with 42 additions and 106 deletions

View File

@ -14,17 +14,12 @@ Feature: Add preconfigured tools via teacher interface
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
And the following "activities" exist:
| activity | course | name | typeid | toolurl |
| lti | C1 | Test tool | 0 | /mod/lti/tests/fixtures/ims_cartridge_basic_lti_link.xml |
@javascript
Scenario: Add a tool from a cartridge
Given the following "activity" exists:
| course | C1 |
| activity | lti |
| name | Test tool activity |
When I am on the "Test tool activity" "lti activity editing" page logged in as teacher1
And I set the field "Tool URL" to local url "/mod/lti/tests/fixtures/ims_cartridge_basic_lti_link.xml"
And I press "Save and return to course"
And I am on the "Test tool activity" "lti activity editing" page
Given I am on the "Test tool" "lti activity editing" page logged in as teacher1
And I expand all fieldsets
Then the field "Tool URL" matches value "http://www.example.com/lti/provider.php"
And the field "Secure tool URL" matches value "https://www.example.com/lti/provider.php"
@ -33,11 +28,7 @@ Feature: Add preconfigured tools via teacher interface
@javascript @_switch_window
Scenario: Add a preconfigured tool from a cartridge
Given the following "activity" exists:
| course | C1 |
| activity | lti |
| name | Test tool activity 1 |
When I am on the "Test tool activity 1" "lti activity editing" page logged in as teacher1
Given I am on the "Test tool" "lti activity editing" page logged in as teacher1
And I follow "Add preconfigured tool"
And I switch to "add_tool" window
And I set the field "Tool name" to "Placeholder"
@ -46,25 +37,20 @@ Feature: Add preconfigured tools via teacher interface
And I switch to the main window
And I wait "2" seconds
And I follow "Edit preconfigured tool"
And I switch to "edit_tool" window
When I switch to "edit_tool" window
Then the field "Tool URL" matches value "http://www.example.com/lti/provider.php"
And the field "Icon URL" matches value "http://download.moodle.org/unittest/test.jpg"
And the field "Secure icon URL" matches value "https://download.moodle.org/unittest/test.jpg"
And I press "Cancel"
And I switch to the main window
And I press "Save and return to course"
And I am on the "Test tool activity 1" "lti activity editing" page
And I press "Save and display"
And I am on the "Test tool" "lti activity editing" page
And the field "Preconfigured tool" matches value "Placeholder"
@javascript @_switch_window
Scenario: Add and use a preconfigured tool
Given the following "activity" exists:
| course | C1 |
| activity | lti |
| name | Test tool activity |
When I am on the "Test tool activity" "lti activity editing" page logged in as teacher1
Given I am on the "Test tool" "lti activity editing" page logged in as teacher1
And I set the field "Tool URL" to local url "/mod/lti/tests/fixtures/tool_provider.php"
And I press "Save and return to course"
And I am on the "Test tool activity" "lti activity" page
And I switch to "contentframe" iframe
And I press "Save and display"
When I switch to "contentframe" iframe
Then I should see "This represents a tool provider"

View File

@ -87,15 +87,9 @@ Feature: Content-Item support
@javascript
Scenario: Editing a manually configured external tool
Given I log in as "teacher1"
And I am on "Course 1" course homepage with editing mode on
And I add a "External tool" to section "1"
And the field "Preconfigured tool" matches value "Automatic, based on tool URL"
And I set the field "Activity name" to "Test tool activity 1"
And the "Select content" "button" should be disabled
And I set the field "Tool URL" to local url "/mod/lti/tests/fixtures/tool_provider.php"
And I press "Save and return to course"
When I open "Test tool activity 1" actions menu
And I choose "Edit settings" in the open action menu
Given the following "activities" exist:
| activity | course | name | typeid | toolurl |
| lti | C1 | Test tool | 0 | /mod/lti/tests/fixtures/tool_provider.php |
And I am on the "Test tool" "lti activity editing" page logged in as teacher1
Then the field "Preconfigured tool" matches value "Automatic, based on tool URL"
And the "Select content" "button" should be disabled

View File

@ -1,4 +1,4 @@
@mod @mod_lti @core_completion @javascript
@mod @mod_lti @core_completion
Feature: View activity completion information in the LTI activity
In order to have visibility of LTI completion requirements
As a student
@ -25,30 +25,28 @@ Feature: View activity completion information in the LTI activity
Then "Music history" should have the "Receive a grade" completion condition
And "Music history" should have the "View" completion condition
@javascript
Scenario: View automatic completion items as a student
Given I am on the "Music history" "lti activity" page logged in as student1
And the "View" completion condition of "Music history" is displayed as "done"
And the "Receive a grade" completion condition of "Music history" is displayed as "todo"
And I log out
And I am on the "Course 1" course page logged in as teacher1
And I navigate to "View > Grader report" in the course gradebook
And I turn editing mode on
And I give the grade "90.00" to the user "Vinnie Student1" for the grade item "Music history"
And I press "Save changes"
And I log out
When I am on the "Music history" "lti activity" page logged in as student1
Then the "Receive a grade" completion condition of "Music history" is displayed as "done"
And the "View" completion condition of "Music history" is displayed as "done"
@javascript
Scenario: Use manual completion
Given I am on the "Music history" "lti activity editing" page logged in as teacher1
And I expand all fieldsets
And I set the field "Completion tracking" to "Students can manually mark the activity as completed"
And I press "Save and return to course"
And I press "Save and display"
# Teacher view.
Given I am on the "Music history" "lti activity" page
And the manual completion button for "Music history" should be disabled
And I log out
# Student view.
When I am on the "Music history" "lti activity" page logged in as student1
Then the manual completion button of "Music history" is displayed as "Mark as done"

View File

@ -1,4 +1,4 @@
@mod @mod_lti @core_completion @javascript
@mod @mod_lti @core_completion
Feature: Pass grade activity completion information in the LTI activity
Background:
@ -9,8 +9,8 @@ Feature: Pass grade activity completion information in the LTI activity
| student3 | Vinnie | Student3 | student3@example.com |
| teacher1 | Darrell | Teacher1 | teacher1@example.com |
And the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
| fullname | shortname | category | enablecompletion | showcompletionconditions |
| Course 1 | C1 | 0 | 1 | 1 |
And the following "course enrolments" exist:
| user | course | role |
| student1 | C1 | student |
@ -18,27 +18,8 @@ Feature: Pass grade activity completion information in the LTI activity
| student3 | C1 | student |
| teacher1 | C1 | editingteacher |
And the following "activities" exist:
| activity | name | course | idnumber |
| lti | Music history | C1 | lti1 |
And I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to "Settings" in current page administration
And I expand all fieldsets
And I set the following fields to these values:
| Enable completion tracking | Yes |
| Show activity completion conditions | Yes |
And I press "Save and display"
And I turn editing mode on
When I open "Music history" actions menu
And I click on "Edit settings" "link" in the "Music history" activity
And I set the following fields to these values:
| Completion tracking | Show activity as complete when conditions are met |
| Require view | 1 |
| Require grade | 1 |
| gradepass | 50 |
| completionpassgrade | 1 |
And I press "Save and return to course"
And I log out
| activity | name | course | gradepass | completion | completionview | completionusegrade | completionpassgrade |
| lti | Music history | C1 | 50 | 2 | 1 | 1 | 1 |
Scenario: View automatic completion items as a teacher
Given I am on the "Music history" "lti activity" page logged in as teacher1
@ -46,37 +27,31 @@ Feature: Pass grade activity completion information in the LTI activity
And "Music history" should have the "Receive a grade" completion condition
And "Music history" should have the "Receive a passing grade" completion condition
@javascript
Scenario: View automatic completion items as a student
Given I am on the "Music history" "lti activity" page logged in as student1
And the "View" completion condition of "Music history" is displayed as "done"
And the "Receive a grade" completion condition of "Music history" is displayed as "todo"
And the "Receive a passing grade" completion condition of "Music history" is displayed as "todo"
And I log out
And I log in as "teacher1"
And I am on "Course 1" course homepage
And I am on the "Course 1" course page logged in as teacher1
And I navigate to "View > Grader report" in the course gradebook
And I turn editing mode on
And I give the grade "90.00" to the user "Vinnie Student1" for the grade item "Music history"
And I give the grade "20.00" to the user "Vinnie Student2" for the grade item "Music history"
And I press "Save changes"
And I log out
When I am on the "Music history" "lti activity" page logged in as student1
Then the "Receive a grade" completion condition of "Music history" is displayed as "done"
Then the "Receive a passing grade" completion condition of "Music history" is displayed as "done"
And the "View" completion condition of "Music history" is displayed as "done"
And I log out
When I am on the "Music history" "lti activity" page logged in as student2
Then the "Receive a grade" completion condition of "Music history" is displayed as "done"
Then the "Receive a passing grade" completion condition of "Music history" is displayed as "failed"
And the "View" completion condition of "Music history" is displayed as "done"
And I log out
When I am on the "Music history" "lti activity" page logged in as student3
Then the "Receive a grade" completion condition of "Music history" is displayed as "todo"
Then the "Receive a passing grade" completion condition of "Music history" is displayed as "todo"
And the "View" completion condition of "Music history" is displayed as "done"
And I log out
And I log in as "teacher1"
And I am on "Course 1" course homepage
And I am on the "Course 1" course page logged in as teacher1
And "Vinnie Student1" user has completed "Music history" activity
And "Vinnie Student2" user has completed "Music history" activity
And "Vinnie Student3" user has not completed "Music history" activity

View File

@ -5,23 +5,18 @@ Feature: Rename external tools via inline editing
I need to be able to rename the LTI tool and have it's name change in the gradebook
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Terry1 | Teacher1 | teacher1@example.com |
And the following "courses" exist:
Given the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
And the following "activities" exist:
| activity | course | name |
| lti | C1 | Test tool activity 1 |
@javascript
Scenario: Add a tool and inline edit
When I log in as "teacher1"
When I log in as "admin"
And I am on "Course 1" course homepage with editing mode on
And I add a "External tool" to section "1" and I fill the form with:
| Activity name | Test tool activity 1 |
And I set the field "Edit title" in the "li#section-1" "css_element" to "Test tool activity renamed"
And I set the field "Edit title" in the "Test tool activity 1" "activity" to "Test tool activity renamed"
And I navigate to "Setup > Gradebook setup" in the course gradebook
Then I should not see "Test tool activity 1"
And I should see "Test tool activity renamed"

View File

@ -1,4 +1,4 @@
@mod @mod_lti @javascript
@mod @mod_lti
Feature: Verify the breadcrumbs in manage tools site administration pages
Whenever I navigate to manage tools page in site administration
As an admin

View File

@ -5,18 +5,7 @@ Feature: Configure tool types
I need to be able to add, remove and configure tool types
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Terry1 | Teacher1 | teacher1@example.com |
| student1 | Sam1 | Student1 | student1@example.com |
And the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
| student1 | C1 | student |
And I log in as "admin"
Given I log in as "admin"
And I navigate to "Plugins > Activity modules > External tool > Manage tools" in site administration
@javascript

View File

@ -9,26 +9,22 @@ Feature: Navigate existing LTI tool types using pagination
|name |Test tool [count] |
|description |Example description [count] |
|baseurl |https://www.example.com/tool[count]|
And I log in as "admin"
And I navigate to "Plugins > Activity modules > External tool > Manage tools" in site administration
@javascript
Scenario: View first page of tool types.
Given I log in as "admin"
When I navigate to "Plugins > Activity modules > External tool > Manage tools" in site administration
Then I should see "Test tool 30"
And "Test tool 70" "text" should not be visible
@javascript
Scenario: View second page of tool types using page 2 button.
Given I log in as "admin"
When I navigate to "Plugins > Activity modules > External tool > Manage tools" in site administration
And I click on "2" "link"
When I click on "2" "link"
Then I should see "Test tool 70"
And "Test tool 30" "text" should not be visible
@javascript
Scenario: View last page of tool types using page 2 button.
Given I log in as "admin"
When I navigate to "Plugins > Activity modules > External tool > Manage tools" in site administration
And I click on "Last" "link"
When I click on "Last" "link"
Then I should see "Test tool 70"
And "Test tool 30" "text" should not be visible

View File

@ -45,6 +45,9 @@ class mod_lti_generator extends testing_module_generator {
if (!isset($record->toolurl)) {
$record->toolurl = '';
} else {
$toolurl = new moodle_url($record->toolurl);
$record->toolurl = $toolurl->out(false);
}
if (!isset($record->resourcekey)) {
$record->resourcekey = '12345';