Skip to content

Commit e7967f1

Browse files
committed
test(e2e): question sur un sujet non couvert par le chatbot
1 parent 72d2bd4 commit e7967f1

2 files changed

Lines changed: 29 additions & 1 deletion

File tree

features/conversation/ask_questions_in_natural_language.feature

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,8 @@ Feature: Poser des questions au chatbot en langage naturel
1414
Given J'utilise le chatbot pour la méthodologie d'une dissertation de philosophie
1515
When Je demande si je peux utiliser une structure thèse-antithèse-synthèse
1616
Then Le chatbot explique que la structure thèse-antithèse-synthèse n'est pas appropriée pour une dissertation de philosophie
17+
18+
Scenario: Question sur un sujet non couvert par le chatbot
19+
Given Je suis sur le site de ChatMD
20+
When Je pose une question qui n'est pas dans la base de connaissances
21+
Then Le chatbot répond qu'il ne peut pas répondre à cette question car il n'a pas l'information

tests/e2e/step_definitions/conversation.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const { I } = inject();
2-
// Add in your custom step files
2+
3+
import { config } from "../../../app/js/config.mjs";
34

45
Given("Je suis sur le site de ChatMD", async () => {
56
I.amOnPage("");
@@ -48,3 +49,25 @@ Then("Le texte de présentation de ChatMD s'affiche d'un coup", () => {
4849
Given("J'appuie sur le bouton “Envoyer”", () => {
4950
I.click("#send-button");
5051
});
52+
53+
When("Je pose une question qui n'est pas dans la base de connaissances", () => {
54+
I.askTheChatbot("Qu'est-ce qu'un bronchiosaure ?");
55+
});
56+
57+
Then(
58+
"Le chatbot répond qu'il ne peut pas répondre à cette question car il n'a pas l'information",
59+
async () => {
60+
I.pressKey("Enter");
61+
// On vérifie que le chatbot répond avec un des messages par défaut pour les questions hors-sujet
62+
const badResponseMessages = config.defaultMessage;
63+
const lastBotMessage = await I.grabTextFrom(".bot-message:last-child");
64+
const found = badResponseMessages.some((badResponseMessage) =>
65+
lastBotMessage.includes(badResponseMessage),
66+
);
67+
if (!found) {
68+
throw new Error(
69+
"Le chatbot n'a pas répondu avec un message par défaut pour les questions hors-sujet.",
70+
);
71+
}
72+
},
73+
);

0 commit comments

Comments
 (0)