Open chrimc62 opened 4 years ago
P0:
randomSeed
& randomValue
propertiesSetTestOptions
with an eventValue
property containing the randomSeed
& randomValue
properties if the above properties were setP1:
P0 requirements have been met in #2209. Expect to see these changes in tonight's nightly build 👍
Problem
A convenient way to generate a test is to generate a transcript using the emulator and then turn that transcript into a test script. The issue is that randomness in bots makes it impossible to replay a transcript. In order to fix this, the SDK has: 1) Defined middle ware in Adaptive.Testing to pick up a SetTestOptions custom event and copy the payload into conversation.testOptions. We made the payload open ended. 2) Defined randomSeed to seed a random number generator or randomValue to return a constant value from all calls to random and adjusted all users of random to make use of that. 3) Defined a bf plugin that converts a transcript into a test script that supports the history and mocking. What is missing is a way to emit SetTestOptions in the emulator. We need to emit SetTestOptions before the conversationUpdate event with the same conversation id in order to set the test options before the transcript starts. While this is a specific ask, it is also related to #2174 which is the general requirement to emit any custom event.
Solution
For this specific event it could be a an additional drop down that allows restarting a conversation with test options. Ideally randomSeed/randomValue would be explicit together with open ended values. This could also be a framework for the more general requirements of #2174 where you can send a custom event with/without conversationUpdate. [enhancement]