Add Santa Tracker and penguin favorites

This commit is contained in:
Jacob Dubin
2026-05-20 07:15:30 -05:00
parent b172a00454
commit 9f2a8fd7e1
9 changed files with 191 additions and 17 deletions

View File

@@ -117,6 +117,27 @@ public sealed class LegacyMimCatalogImporterTests
reply.Contains("Is that a trick question", StringComparison.OrdinalIgnoreCase));
}
[Fact]
public void ImportCatalog_ImportsBuildBFavoriteAnimalAndSantaTrackerResponsesIntoDedicatedBuckets()
{
var rootDirectory = Path.Combine(
AppContext.BaseDirectory,
"Content",
"LegacyMims",
"BuildB");
var catalog = LegacyMimCatalogImporter.ImportCatalog(rootDirectory);
Assert.Contains(catalog.FavoriteAnimalReplies, reply =>
reply.Contains("penguins", StringComparison.OrdinalIgnoreCase));
Assert.Contains(catalog.FavoriteAnimalReplies, reply =>
reply.Contains("favorite animal overall", StringComparison.OrdinalIgnoreCase));
Assert.Contains(catalog.HolidayTrackerReplies, reply =>
reply.Contains("let's see if i can spot him", StringComparison.OrdinalIgnoreCase));
Assert.Contains(catalog.HolidayTrackerReplies, reply =>
reply.Contains("north Pole", StringComparison.OrdinalIgnoreCase));
}
[Fact]
public void ImportCatalog_ImportsBuildBEmotionResponsesIntoEmotionBucket()
{

View File

@@ -441,6 +441,28 @@ public sealed class JiboInteractionServiceTests
Assert.Equal("ScriptedResponse", decision.ContextUpdates![ChitchatRouteKey]);
}
[Theory]
[InlineData("what is your favorite animal")]
[InlineData("what's your favorite animal")]
[InlineData("what animal do you like")]
[InlineData("what is your favorite bird")]
[InlineData("do you like penguins")]
[InlineData("do you like animals")]
public async Task BuildDecisionAsync_FavoriteAnimal_UsesPenguinReply(string transcript)
{
var service = CreateService();
var decision = await service.BuildDecisionAsync(new TurnContext
{
RawTranscript = transcript,
NormalizedTranscript = transcript
});
Assert.Equal("robot_favorite_animal", decision.IntentName);
Assert.Contains("penguin", decision.ReplyText, StringComparison.OrdinalIgnoreCase);
Assert.Equal("ScriptedResponse", decision.ContextUpdates![ChitchatRouteKey]);
}
[Theory]
[InlineData("what is your favorite flower", "robot_favorite_flower", "sunflowers")]
[InlineData("what's your favorite flower", "robot_favorite_flower", "sunflowers")]
@@ -652,6 +674,7 @@ public sealed class JiboInteractionServiceTests
[InlineData("what should I do for first day of spring", "seasonal_first_day_spring",
"flowers and all things spring")]
[InlineData("what should I get for holiday", "seasonal_holiday_gift", "pet elephant")]
[InlineData("show santa tracker", "seasonal_santa_tracker", "spot him")]
[InlineData("happy birthday", "birthday_celebration", "another year older")]
public async Task BuildDecisionAsync_SeasonalCharm_UsesImportedReplies(
string transcript,