diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/Schemas/Microsoft.Test.Script.schema b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/Schemas/Microsoft.Test.Script.schema
index 1e94e16984..55c9004678 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/Schemas/Microsoft.Test.Script.schema
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/Schemas/Microsoft.Test.Script.schema
@@ -10,6 +10,11 @@
"title": "Dialog",
"description": "The root dialog to execute the test script against."
},
+ "languagePolicy": {
+ "type": "object",
+ "title": "Language policy",
+ "description": "Defines fall back languages to try per user input language."
+ },
"description": {
"type": "string",
"title": "Description",
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestScript.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestScript.cs
index 2487d9cc02..218a1d1f5d 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestScript.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestScript.cs
@@ -81,6 +81,17 @@ public TestScript()
[JsonProperty("locale")]
public string Locale { get; set; } = "en-us";
+ ///
+ /// Gets or sets the language policy.
+ ///
+ ///
+ /// the language policy.
+ ///
+ [JsonProperty("languagePolicy")]
+#pragma warning disable CA2227 // Collection properties should be read only
+ public LanguagePolicy LanguagePolicy { get; set; }
+#pragma warning restore CA2227 // Collection properties should be read only
+
///
/// Gets the mock data for Microsoft.HttpRequest.
///
@@ -149,9 +160,8 @@ public TestAdapter DefaultTestAdapter(ResourceExplorer resourceExplorer, [Caller
/// Name of the test.
/// The bot logic.
/// optional test adapter.
- /// The default language policy.
/// Runs the exchange between the user and the bot.
- public async Task ExecuteAsync(ResourceExplorer resourceExplorer, [CallerMemberName] string testName = null, BotCallbackHandler callback = null, TestAdapter adapter = null, LanguagePolicy languagePolicy = null)
+ public async Task ExecuteAsync(ResourceExplorer resourceExplorer, [CallerMemberName] string testName = null, BotCallbackHandler callback = null, TestAdapter adapter = null)
{
if (adapter == null)
{
@@ -186,9 +196,9 @@ await adapter.ProcessActivityAsync(
.UseResourceExplorer(resourceExplorer)
.UseLanguageGeneration();
- if (languagePolicy != null)
+ if (LanguagePolicy != null)
{
- dm.UseLanguagePolicy(languagePolicy);
+ dm.UseLanguagePolicy(LanguagePolicy);
}
callback = dm.OnTurnAsync;
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/MultiLanguageRecognizerTests.cs b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/MultiLanguageRecognizerTests.cs
index af4215eae2..bc24810ff0 100644
--- a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/MultiLanguageRecognizerTests.cs
+++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/MultiLanguageRecognizerTests.cs
@@ -50,8 +50,7 @@ public async Task MultiLanguageRecognizerTest_DefaultFallback()
[Fact]
public async Task MultiLanguageRecognizerTest_LanguagePolicy()
{
- var languagePolicy = new LanguagePolicy("en-gb");
- await TestUtils.RunTestScript(_resourceExplorerFixture.ResourceExplorer, languagePolicy: languagePolicy);
+ await TestUtils.RunTestScript(_resourceExplorerFixture.ResourceExplorer);
}
}
}
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/TestUtils.cs b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/TestUtils.cs
index 9e4c281fbf..35d412cf83 100644
--- a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/TestUtils.cs
+++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/TestUtils.cs
@@ -22,12 +22,12 @@ public static IEnumerable