Dataform Tests: Difference between revisions
- Overview
- Activity administration
- Building an activity
- CSS tips and tricks
- JS tips and tricks
- Activating RSS
- Activity workflow
- Grading
Line 15: | Line 15: | ||
[[File:df-acceptance-testing.png]] | [[File:df-acceptance-testing.png]] | ||
=== | ====Given I start afresh with dataform "DATAFORM_NAME_STRING"==== | ||
====Given I start afresh==== | ====Given I start afresh with dataform "DATAFORM_NAME_STRING"==== | ||
Prepares a fresh environment with the following components and a dataform activity 'Test dataform' in Course 1. | |||
Course: | |||
| fullname | shortname | category | |||
| Course 1 | C1 | 0 | |||
Users: | |||
| username | firstname | lastname | email | |||
| teacher1 | Teacher | 1 | teacher1@asd.com | |||
| assistant1 | Assistant | 1 | assistant1@asd.com | |||
| student1 | Student | 1 | student1@asd.com | |||
| student2 | Student | 2 | student2@asd.com | |||
| student3 | Student | 3 | student3@asd.com | |||
Enrollments: | |||
| user | course | role | |||
| teacher1 | C1 | editingteacher | |||
| assistant1 | C1 | teacher | |||
| student1 | C1 | student | |||
| student2 | C1 | student | |||
Groups: | |||
| name | description | course | idnumber | | |||
| Group 1 | Anything | C1 | G1 | | |||
| Group 2 | Anything | C1 | G2 | | |||
Group members: | |||
| user | group | | |||
| student1 | G1 | | |||
| student2 | G2 | | |||
It also resets (truncates) all Dataform tables to remove any records and reset sequences. | |||
This step is essential for any standalone scenario that adds or updates entries with content since such a scenario has to refer to input elements by fixed field ids and entry ids. | |||
====Given I go to dataform page "DATAFORM_URL_STRING"==== | ====Given I go to dataform page "DATAFORM_URL_STRING"==== |
Revision as of 16:55, 17 March 2014
Unit tests
TBC
Acceptance tests
Administrator can run Dataform acceptance tests with the Moodle behat command line tool (see https://docs.moodle.org/dev/Acceptance_testing#Running_tests).
Alternately administrator can use the Dataform Acceptance testing interface from
Administration > Site administration > Plugins > Activity modules > Dataform > Acceptance testing
for testing particular Dataform features by name or tags.
The current implementation of the Dataform Acceptance testing interface assumes that a selenium server is running. To run a test, select a feature or tags and click 'Run tests'. The page will hang until the tests are completed. If you run long tests it may be better to run them from a command line.
Given I start afresh with dataform "DATAFORM_NAME_STRING"
Given I start afresh with dataform "DATAFORM_NAME_STRING"
Prepares a fresh environment with the following components and a dataform activity 'Test dataform' in Course 1. Course:
| fullname | shortname | category | Course 1 | C1 | 0
Users:
| username | firstname | lastname | email | teacher1 | Teacher | 1 | teacher1@asd.com | assistant1 | Assistant | 1 | assistant1@asd.com | student1 | Student | 1 | student1@asd.com | student2 | Student | 2 | student2@asd.com | student3 | Student | 3 | student3@asd.com
Enrollments:
| user | course | role | teacher1 | C1 | editingteacher | assistant1 | C1 | teacher | student1 | C1 | student | student2 | C1 | student
Groups:
| name | description | course | idnumber | | Group 1 | Anything | C1 | G1 | | Group 2 | Anything | C1 | G2 |
Group members:
| user | group | | student1 | G1 | | student2 | G2 |
It also resets (truncates) all Dataform tables to remove any records and reset sequences.
This step is essential for any standalone scenario that adds or updates entries with content since such a scenario has to refer to input elements by fixed field ids and entry ids.
Given I go to dataform page "DATAFORM_URL_STRING"
Opens Dataform url.
Given I add a dataform with "DATAFORM_URL_STRING"
Adds a dataform as teacher 1 in course 1 and displays the dataform.
Then the dataform settings should match "FORM_DATA_STRING"
Validates dataform activity settings.
Given I add a test dataform
Adds a test dataform as teacher 1 in course 1 and displays the dataform.
Given I delete this dataform
Deletes the dataform.
Given I go to manage dataform "TAB_NAME_STRING"
Go to the specified manage tab of the current dataform.
Given I add a dataform field "FIELD_TYPE_STRING" with "FORM_DATA_STRING"
Adds a field of the specified type to the current dataform with the provided table data (usually Name).
Given I add a dataform view "VIEW_TYPE_STRING" with "FORM_DATA_STRING"
Adds a view of the specified type to the current dataform with the provided table data (usually Name).
Given I set view "VIEW_NAME_STRING" as default view
Sets a view as the default view of a dataform instance.
Given I add a dataform filter with "FORM_DATA_STRING"
Adds a filter with the specified data to the current dataform.
Given I prepend "TEXT_STRING" to field "FIELD_STRING"
Prepends text to the field's content.
Given I apppend "TEXT_STRING" to field "FIELD_STRING"
Appends text to the field's content.
Given I set dataform field "FIELD_NAME_STRING" options to "OPTIONS_STRING"
Sets a dataform field setting to the given content.
Given I set the field "FIELD_NAME_STRING" to
Sets field value to the specified text passed as PyStringNode.
Given I fill textarea "FIELD_STRING" with "TEXT_STRING"
Fills a textarea with the specified text replacing \n with new lines.
Available tests
Add dataform
Add fields
Add filters
Add views
Add entries with no fields
Add entries with all fields
Add entries with field checkbox
Add entries with field select
Add entries with field select multiple
Add entries with field text
See also
- Acceptance testing - information about preparing your Moodle installation for acceptance testing. Note that this is not recommended for production sites.
- Writing features - general test writing guidelines.