Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
|
Class to set up quickly a Given environment. More...
Public Member Functions | |
get_all_entities () | |
Get all entities that can be created in all components using the_following_entities_exist() | |
get_entity (string $entitytype) | |
Get the required fields for a specific creatable entity. | |
getSession ($name=null) | |
Returns the Mink session. | |
the_following_entities_exist ($entitytype, TableNode $data) | |
Creates the specified elements. | |
the_following_entity_exists ($entitytype, TableNode $data) | |
Creates the specified (singular) element. | |
the_following_repeated_entities_exist (string $entitytype, int $count, TableNode $data) | |
Create multiple entities of one entity type. | |
Public Attributes | |
const | PAGE_READY_JS |
The JS code to check that the page is ready. | |
Protected Member Functions | |
get_instance_for_component (string $component) | |
Get an instance of the appropriate subclass of this class for a given component. | |
parse_entity_type (string $entitytype) | |
Parse a full entity type like 'users' or 'mod_forum > subscription'. | |
Protected Attributes | |
array | $movedentitytypes |
Convert legacy entity names to the new component-specific form. | |
Class to set up quickly a Given environment.
The entry point is the Behat steps: the following "entity types" exist: | test | data |
Entity type will either look like "users" or "activities" for core entities, or "mod_forum > subscription" or "core_message > message" for entities belonging to components.
Generally, you only need to specify properties relevant to your test, and everything else gets set to sensible defaults.
The actual generation of entities is done by behat_generator_base. There is one subclass for each component, e.g. behat_core_generator or behat_mod_quiz_generator. To see the types of entity that can be created for each component, look at the arrays returned by the get_creatable_entities() method in each class.
behat_data_generators::get_all_entities | ( | ) |
Get all entities that can be created in all components using the_following_entities_exist()
array |
coding_exception |
behat_data_generators::get_entity | ( | string | $entitytype | ) |
Get the required fields for a specific creatable entity.
string | $entitytype |
mixed |
coding_exception |
|
protected |
Get an instance of the appropriate subclass of this class for a given component.
string | $component | The name of the component to generate entities for. |
behat_generator_base | the subclass of this class for the requested component. |
|
inherited |
Returns the Mink session.
string | null | $name | name of the session OR active session will be used |
Behat\Mink\Session |
Implemented in behat_form_field.
|
protected |
Parse a full entity type like 'users' or 'mod_forum > subscription'.
E.g. parsing 'course' gives ['core', 'course'] and parsing 'core_message > message' gives ['core_message', 'message'].
string | $entitytype | the entity type |
string[] | with two elements, component and entity type. |
behat_data_generators::the_following_entities_exist | ( | $entitytype, | |
TableNode | $data ) |
Creates the specified elements.
See the class comment for an overview.
@Given /^the following "(?P<element_string>(?:[^"]|::")*)" exist:$/
string | $entitytype | The name of the type entity to add |
TableNode | $data |
behat_data_generators::the_following_entity_exists | ( | $entitytype, | |
TableNode | $data ) |
Creates the specified (singular) element.
See the class comment for an overview.
@Given the following :entitytype exists:
string | $entitytype | The name of the type entity to add |
TableNode | $data |
behat_data_generators::the_following_repeated_entities_exist | ( | string | $entitytype, |
int | $count, | ||
TableNode | $data ) |
Create multiple entities of one entity type.
@Given :count :entitytype exist with the following data:
string | $entitytype | The name of the type entity to add |
int | $count | |
TableNode | $data |
|
protected |
Convert legacy entity names to the new component-specific form.
In the past, there was no support for plugins, and everything that could be created was handled by the core generator. Now, we can support plugins, and so some thing should probably be moved.
For example, in the future we should probably add 'message contacts' => 'core_message > contact'] to this array, and move generation of message contact from core to core_message.
old entity type => new entity type.
|
inherited |
The JS code to check that the page is ready.
The document must be complete and either M.util.pending_js must be empty, or it must not be defined at all.