botbuilder-unit
Version:
Unit tests for chatbot dialogs
179 lines (127 loc) • 4.83 kB
Plain Text
- [FOREVER][Maintainability] Improve Error Messages
- [NO][Major] Introduce custom-specific exception classes
- [NO][Major] Support for validation on in array of messages
- [NO][Major] To test bot by another bot
- [NO][Major] Check message text first, at current moment suggested actions validated firstt
- [NO][Major] subscripts injection;
- [NO][Major] support Direct Line
- [NO][Major] support for several parallel conversations
- [NO][Major] ability to mock recognizers;
- support for internationalization
- [NO][Maintainability] extract log reporters to a separate library
- [NO][Maintainability] reorganize tests arround Messages (like BotMessage)
- [NO][Maintainability] provide a pipeline for deployment
-- run tests
-- validate that samples still valid
-- inject TOC
-- message that code ready to be published
- [NO][Discoverability] example for testing recognizer;
- [NO][Discoverability] example with subscript
- [NO] OneOfNextMessages(message, count ) validation step;
- [NO] TillResponseMessage(message) validation step;
- [NO] IgnoreTillMessage (messageText, maxCount = 0)
- [NO] prepare automated tests for log reporters;
--------------------------------
v 0.7.2
- [NO][Major] Toggleable pieces of report: current session state, dialog stack, loaded dialogs, execution time ?
- [NO][Maintainability] - integrate TOC injection
--------------------------------
v 0.7.1
- [OK][Discoverability] integrate code coverage
- [Maintainability] Improved Attachment Errors
--------------------------------
v 0.7.0
- [OK][Maintainability] Produce TestConnector default output
- [OK][Major] Test standalone dialog (autogenerate bot, session)
- [OK][Major] Test standalone middleware
-
--------------------------------
v 0.6.4
- [OK] Fix for suggested actions error description: display value
- [OK] Fix for error message, normalize output
- Fix for expected message feautre: display suggested actions
--------------------------------
v 0.6.3
- Fix for attachment validation by callback.
- Better error messages.
- Smoke tests for log reporters;
--------------------------------
v 0.6.2
- Removed attachment-related information from Prompt messages
- Custom headers for info messages
--------------------------------
v 0.6.1
- [OK] validation of rich cards and attachments;
- [OK][Major] validation of rich cards;
- [OK][Major] validation of attachments;
--------------------------------
v 0.6.0
- [OK] custom verification step
--------------------------------
v 0.5.4
- [OK] coverage deployment step
- build & inject TOC
--------------------------------
v 0.5.3
- [NO] support for conversation started by bot
- [NO] support for custom steps
- [NO] Ability to inject argument entities into message?
- [NO] Documentation updates
-- build & inject TOC
--------------------------------
v 0.5.3
- [OK] provide a set of examples
-- timmy (hello world)
-- session management
-- managing startup dialog
--------------------------------
v 0.5.1
- [] setup startup dialog;
- [] examples
--------------------------------
v 0.5.0
- [OK] session state management support;
--
- Session management, ability to set and get session values
- Ability to preconfigure start session value
Session steps:
{setSession : [value] },
{validateSession : [function]},
{dumpSession: [] }
// If session still not initialized fix a connector to preload needed session
--------------------------------
v 0.4.7
- support for suggestedActions;
--------------------------------
v 0.4.0
HIGHLIGHTS:
- [OK]colored output (disabled by default);
- [OK] callbacks changed to Promises
- [OK] support for test timeout;
- [OK] new output log;
Requirement Description:
- To be able to produce output in different modes:
-- short,
-- detail,
-- beauty, mode when the Library with try to simulate UI of a chat messenger, messages will be wrapped in colors
- To get rid of logging dependency
- To be able to specify output mode for a standalone test;
- To be able to setup default output mode globally
Actions required:
- Identify cases for output
- For cases provide a base adapter class
-
The way how the Library produces output has to be changed as current state overloaded with information.
--------------------------------
v 0.3.0
INCOMPATIBILITIES
- new list of arguments for "before" and "after" callbacks: config, bot;
- "before" and "after" should return a promise which will resolve or reject a current step;
- "user" and "bot" in case, if they are callbacks, should return promise, callback removed from arguments
Changes: new attribute for testing function - options:
unit(bot, script, options );
options = {
timeout : value
}
- int timeout, by default equal to 60000, zero value equals to infinity.
Fails the test, if time since the test started exceeds the value of attribute;