Dataform Tests: Difference between revisions
- Building an activity
- Activity settings
- Activity administration
- Activating RSS
- Activity workflow
- Applications
No edit summary |
No edit summary |
||
(11 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
{{Dataform Docs Note 1}} | {{Dataform Docs Note 1}} | ||
==Unit tests== | ==Unit tests== | ||
===Generator=== | |||
====Create instance==== | |||
Creates a dataform instance. | |||
====Duplicate instance==== | |||
Creates a duplicate of an existing dataform instance in a specified course. Uses activity backup/restore. | |||
====Delete instance==== | |||
Deletes a dataform instance. | |||
====Delete all instances==== | |||
Deletes all dataform instances in a specified course or in site. | |||
====Create view==== | |||
Creates a dataform view. | |||
====Create field==== | |||
Creates a dataform field. | |||
====Create entry==== | |||
Creates a dataform entry. | |||
===Available test cases=== | |||
====Generator==== | |||
Dataform instance creation and gradebook integration. | |||
====Events==== | |||
Triggers, captures and validate events for: | |||
*View | |||
*Field | |||
*Filter | |||
*Entry | |||
====Access==== | |||
Validates access for: | |||
*entry view | |||
*entry add | |||
*entry update | |||
*entry delete | |||
*field view | |||
*field update | |||
*view access | |||
====CSV Import==== | |||
Import of base patterns of standard fields. | |||
====Backup/restore==== | |||
*Test duplicate | |||
==Acceptance tests== | ==Acceptance tests== | ||
===Available features=== | |||
====Basics==== | |||
*Adds a Dataform activity to a course. | |||
*Adds all standard fields with default settings. | |||
*Adds all standard views with default settings. | |||
*Submits a new entry with content in the text field in each view. | |||
*Sets quick filter | |||
**Sets quick per page and navigates between pages with the paging bar | |||
**Filters entries with the quick search | |||
**Resets the quick filter | |||
*Adds standard filters with sort and search criteria and applies them to the view | |||
*Adds advanced (user) filter and applies it to the view | |||
====Max entries==== | |||
====Max entries with interval==== | |||
====Not ready==== | |||
====Separate participants==== | |||
===Available steps=== | |||
====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. | |||
====I run dataform scenario "SCENARIO_NAME_STRING" with:==== | |||
[[ | Runs the specified scenario with specified data. See [[#Scenario templates]]. | ||
=== | ====I go to dataform page "DATAFORM_URL_STRING"==== | ||
====I | Opens Dataform url. | ||
====I add a dataform with "DATAFORM_URL_STRING"==== | |||
Adds a dataform as teacher 1 in course 1 and displays the dataform. | |||
====the dataform settings should match "FORM_DATA_STRING"==== | |||
Validates dataform activity settings. | |||
====I add a test dataform==== | ====I add a test dataform==== | ||
Adds a test dataform as teacher 1 in course 1 and displays the dataform. | |||
====I delete this dataform==== | ====I delete this dataform==== | ||
Deletes the dataform. | |||
====I go to manage dataform "TAB_NAME_STRING"==== | |||
Go to the specified manage tab of the current dataform. | |||
====I go to manage dataform " | ====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). | |||
====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). | |||
====I set view "VIEW_NAME_STRING" as default view==== | |||
Sets a view as the default view of a dataform instance. | |||
====I add a dataform filter with "FORM_DATA_STRING"==== | |||
Adds a filter with the specified data to the current dataform. | |||
====I add a dataform | ====I prepend "TEXT_STRING" to field "FIELD_STRING"==== | ||
Prepends text to the field's content. | |||
====I apppend "TEXT_STRING" to field "FIELD_STRING"==== | |||
Appends text to the field's content. | |||
====I set dataform field "FIELD_NAME_STRING" options to "OPTIONS_STRING"==== | |||
Sets a dataform field setting to the given content. | |||
====I set the field "FIELD_NAME_STRING" to==== | |||
Sets field value to the specified text passed as PyStringNode. | |||
====I fill textarea "FIELD_STRING" with "TEXT_STRING" ==== | |||
Fills a textarea with the specified text replacing \n with new lines. | |||
===Scenario templates=== | |||
====Manage view==== | |||
Performs view add update delete in the views index. | |||
Usage: | |||
@javascript | |||
Scenario: Manage view | |||
Given I run dataform scenario "manage view" with: | |||
| viewtype | aligned | | |||
====Manage field==== | |||
Performs field add update delete in the fields index. | |||
Usage: | |||
@javascript | |||
Scenario: Manage field | |||
Given I run dataform scenario "manage field" with: | |||
==== | | fieldtype | text | | ||
====View required field==== | |||
Tests adding an entry with required field in the specified view. | |||
Usage: | |||
@javascript | |||
Scenario: Required field | |||
Given I run dataform scenario "view required field" with: | |||
| viewtype | aligned | | |||
| entrytemplate | Entry template| | |||
==== | ====View submission buttons==== | ||
Tests the various submission methods in the specified view. | |||
Usage: | |||
@javascript | |||
Scenario: Submission buttons | |||
Given I run dataform scenario "view submission buttons" with: | |||
| viewtype | aligned | | |||
| actor | student1 | | |||
===Step values=== | |||
====FORM_DATA_STRING==== | |||
=== | |||
==== | |||
==See also== | ==See also== | ||
*[https://docs.moodle.org/dev/Acceptance_testing Acceptance testing] - information about preparing your Moodle installation for acceptance testing. Note that this is not recommended for production sites. | *[https://docs.moodle.org/dev/Acceptance_testing Acceptance testing] - information about preparing your Moodle installation for acceptance testing. Note that this is not recommended for production sites. | ||
*[https://docs.moodle.org/dev/Acceptance_testing#Writing_features Writing features] - general test writing guidelines. | *[https://docs.moodle.org/dev/Acceptance_testing#Writing_features Writing features] - general test writing guidelines. |
Latest revision as of 14:23, 11 May 2014
Unit tests
Generator
Create instance
Creates a dataform instance.
Duplicate instance
Creates a duplicate of an existing dataform instance in a specified course. Uses activity backup/restore.
Delete instance
Deletes a dataform instance.
Delete all instances
Deletes all dataform instances in a specified course or in site.
Create view
Creates a dataform view.
Create field
Creates a dataform field.
Create entry
Creates a dataform entry.
Available test cases
Generator
Dataform instance creation and gradebook integration.
Events
Triggers, captures and validate events for:
- View
- Field
- Filter
- Entry
Access
Validates access for:
- entry view
- entry add
- entry update
- entry delete
- field view
- field update
- view access
CSV Import
Import of base patterns of standard fields.
Backup/restore
- Test duplicate
Acceptance tests
Available features
Basics
- Adds a Dataform activity to a course.
- Adds all standard fields with default settings.
- Adds all standard views with default settings.
- Submits a new entry with content in the text field in each view.
- Sets quick filter
- Sets quick per page and navigates between pages with the paging bar
- Filters entries with the quick search
- Resets the quick filter
- Adds standard filters with sort and search criteria and applies them to the view
- Adds advanced (user) filter and applies it to the view
Max entries
Max entries with interval
Not ready
Separate participants
Available steps
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.
I run dataform scenario "SCENARIO_NAME_STRING" with:
Runs the specified scenario with specified data. See #Scenario templates.
I go to dataform page "DATAFORM_URL_STRING"
Opens Dataform url.
I add a dataform with "DATAFORM_URL_STRING"
Adds a dataform as teacher 1 in course 1 and displays the dataform.
the dataform settings should match "FORM_DATA_STRING"
Validates dataform activity settings.
I add a test dataform
Adds a test dataform as teacher 1 in course 1 and displays the dataform.
I delete this dataform
Deletes the dataform.
I go to manage dataform "TAB_NAME_STRING"
Go to the specified manage tab of the current dataform.
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).
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).
I set view "VIEW_NAME_STRING" as default view
Sets a view as the default view of a dataform instance.
I add a dataform filter with "FORM_DATA_STRING"
Adds a filter with the specified data to the current dataform.
I prepend "TEXT_STRING" to field "FIELD_STRING"
Prepends text to the field's content.
I apppend "TEXT_STRING" to field "FIELD_STRING"
Appends text to the field's content.
I set dataform field "FIELD_NAME_STRING" options to "OPTIONS_STRING"
Sets a dataform field setting to the given content.
I set the field "FIELD_NAME_STRING" to
Sets field value to the specified text passed as PyStringNode.
I fill textarea "FIELD_STRING" with "TEXT_STRING"
Fills a textarea with the specified text replacing \n with new lines.
Scenario templates
Manage view
Performs view add update delete in the views index.
Usage:
@javascript Scenario: Manage view Given I run dataform scenario "manage view" with: | viewtype | aligned |
Manage field
Performs field add update delete in the fields index.
Usage:
@javascript Scenario: Manage field Given I run dataform scenario "manage field" with: | fieldtype | text |
View required field
Tests adding an entry with required field in the specified view.
Usage:
@javascript Scenario: Required field Given I run dataform scenario "view required field" with: | viewtype | aligned | | entrytemplate | Entry template|
View submission buttons
Tests the various submission methods in the specified view.
Usage:
@javascript Scenario: Submission buttons Given I run dataform scenario "view submission buttons" with: | viewtype | aligned | | actor | student1 |
Step values
FORM_DATA_STRING
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.