diff --git a/libraries/botbuilder-dialogs-adaptive-testing/tests/action.test.js b/libraries/botbuilder-dialogs-adaptive-testing/tests/action.test.js index e67e4afad6..7f2553a130 100644 --- a/libraries/botbuilder-dialogs-adaptive-testing/tests/action.test.js +++ b/libraries/botbuilder-dialogs-adaptive-testing/tests/action.test.js @@ -391,6 +391,10 @@ describe('ActionTests', function () { await TestUtils.runTestScript(resourceExplorer, 'Action_TextInputWithValueExpression'); }); + it('TextInputWithInvalidResponse', async () => { + await TestUtils.runTestScript(resourceExplorer, 'Action_TextInputWithInvalidResponse'); + }); + it('TextInputWithNonStringInput', async () => { await TestUtils.runTestScript(resourceExplorer, 'Action_TextInputWithNonStringInput'); }); diff --git a/libraries/botbuilder-dialogs-adaptive-testing/tests/resources/ActionTests/Action_TextInputWithInvalidResponse.test.dialog b/libraries/botbuilder-dialogs-adaptive-testing/tests/resources/ActionTests/Action_TextInputWithInvalidResponse.test.dialog new file mode 100644 index 0000000000..9cb65d48ba --- /dev/null +++ b/libraries/botbuilder-dialogs-adaptive-testing/tests/resources/ActionTests/Action_TextInputWithInvalidResponse.test.dialog @@ -0,0 +1,52 @@ +{ + "$schema": "../../../../schemas/sdk.schema", + "$kind": "Microsoft.Test.Script", + "dialog": { + "$kind": "Microsoft.AdaptiveDialog", + "id": "planningTest", + "triggers": [ + { + "$kind": "Microsoft.OnUnknownIntent", + "actions": [ + { + "$kind": "Microsoft.TextInput", + "property": "user.name", + "prompt": "Hello, what is your name?", + "unrecognizedPrompt": "How should I call you?", + "invalidPrompt": "That does not soud like a name", + "defaultValue": "somevalue", + "defaultValueResponse": "", + "maxTurnCount": 1, + "validations": [ + "this.value.Length > 3" + ] + }, + { + "$kind": "Microsoft.SendActivity", + "activity": "nice to meet you!" + } + ] + } + ], + "autoEndDialog": true, + "defaultResultProperty": "dialog.result" + }, + "script": [ + { + "$kind": "Microsoft.Test.UserSays", + "text": "hi" + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "Hello, what is your name?" + }, + { + "$kind": "Microsoft.Test.UserSays", + "text": "c" + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "nice to meet you!" + } + ] +} diff --git a/libraries/botbuilder-dialogs-adaptive/src/input/inputDialog.ts b/libraries/botbuilder-dialogs-adaptive/src/input/inputDialog.ts index 28777ba5ad..f7ed7d4afa 100644 --- a/libraries/botbuilder-dialogs-adaptive/src/input/inputDialog.ts +++ b/libraries/botbuilder-dialogs-adaptive/src/input/inputDialog.ts @@ -256,7 +256,9 @@ export abstract class InputDialog extends Dialog implements InputDialogConfigura }, }); - await dc.context.sendActivity(response); + if (response != null) { + await dc.context.sendActivity(response); + } } const property = this.property.getValue(dc.state);