Tags used in tests
A test is a set of test cases. Each test case imitates a dialog between a client and a bot. Test cases are enclosed within the <test>
…</test>
root tag.
Test cases are specified within the <test-case>
…</test-case>
tags. Special tags are used in test cases. These tags are similar to some of the Tovie DSL tags.
Tags for test cases
Tag | Description |
---|---|
<a> | Tests: • The existence of a bot response. • The response text. • The state in which the response was generated. • The state which started script execution. |
<context> | Sets values for the $client and $session variables in tests. |
<dateTime> | Overrides date and time for the JS API functions such as currentTime , dateForZone , timeForZone . |
<event> | Emulates sending an event to a bot. |
<mail> | Tests usage of the $mail service. |
<mockData> | Sets up fake responses to HTTP requests made from a bot script (mock objects). |
<newSession> | Checks the presence and parameters of the newSession reaction. |
<q> | Emulates sending a text message to a bot by a user. |
<random> | Sets the numbers that will be returned by the random function of the JS API. |
<rawRequest> | Allows sending the $request.rawRequest structure, which a request dump is usually saved into. |
<request> | Allows sending a complete request object. The tag can be used to pass any request parameters. |
<requestData> | Allows passing request parameters. |
<responseData> | Checks all the fields of the $response.data object. Only fields specified inside the tag body are checked. |
<state> | Forces a transition of a dialog context into the specified state. All actions taken after using the tag will be considered in the context of the specified state. |
<timeout> | Emulates user inactivity within the period of time previously specified in the script by the timeout reaction. |
<timeoutReply> | Checks the presence and parameters of the timeout reaction. |