Categories:
Template for Aura Bot dialogs testing
Template for testing an Aura Bot dialog
Template
import 'mocha';
import { TestAdapter, ConversationState, MemoryStorage, UserState } from 'botbuilder';
import { DialogTurnStatus, DialogSet } from 'botbuilder-dialogs';
import { AddBillDialog } from '../dialogs/collections/bill/add-bill';
import { AuraDataAccesor } from '../models';
describe('Dialog Test', function () {
this.timeout(5000);
/**
* The dialog template test.
*/
it('Bill dialog Test', (done) => {
/**
* Set the common data of Aura-Bot
*/
const testData = setCommonData();
/**
* Uset TestAdapter to launch the bot framework
*/
const adapter = new TestAdapter(async (turnContext) => {
const dc = await dialogs.createContext(turnContext);
const results = await dc.continueDialog();
if (results.status === DialogTurnStatus.empty) {
await dc.beginDialog('addBill');
}
await testData.conversationState.saveChanges(turnContext);
});
/**
* Create the dialog set and add dialogs to test
*/
const dialogs = new DialogSet(testData.auraDataAccesor.dialogState);
dialogs.add(new AddBillDialog(testData.auraDataAccesor));
/**
* Make a flow with sends and assert responses
*/
adapter.send('Hello')
.assertReply('Dime algo bonito')
.send('Algo bonito')
.assertReply('Gracias por el piropo')
.assertReply('Please enter your name. (1) Yes or (2) No')
.send('claro')
.assertReply('end Yes')
.then(() => done())
.catch((err) => done(err)); // <- send error to done
});
});
/**
* Common Data uses by the Aura Bot.
*/
function setCommonData() {
const memoryStorage = new MemoryStorage();
const conversationState = new ConversationState(memoryStorage);
const auraDataAccesor: AuraDataAccesor = {
conversationData: conversationState.createProperty('conversationData'),
userData: new UserState(memoryStorage).createProperty('userData'),
dialogState: conversationState.createProperty('DialogState')
};
return {
auraDataAccesor,
conversationState
};
}
Last modified January 15, 2025: feat: Documentation Assistant and ATRIA for Linkin Park release #AURA-26619 [RTM] (409958c0)