Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test dialogs independently #68

Open
ihachani opened this issue Feb 22, 2018 · 7 comments
Open

Test dialogs independently #68

ihachani opened this issue Feb 22, 2018 · 7 comments
Labels

Comments

@ihachani
Copy link

Is there a way to test Library without having to create a bot around it?

https://docs.botframework.com/en-us/node/builder/chat-reference/classes/_botbuilder_d_.library.html

@microsoftly
Copy link
Owner

No, the framework requires a bot through which it can send and receive messages. You can make a simple bot that allows full logical and code coverage for your library though and test through that.

@ihachani
Copy link
Author

Can some one add this? That would save some effort.

@microsoftly microsoftly reopened this Feb 24, 2018
@microsoftly
Copy link
Owner

Now that you mention it, this seems like it may be a useful feature. It would also be cool to setup mock data to preload with. So something like

new BotTester(bot)
    .WithDialog(dialog, <something here to set mock state when dialog starts>)
    .WithMiddleware(middleware)

Would you be interested in helping design the feature &/or the implementation?

@ihachani
Copy link
Author

ihachani commented Feb 26, 2018

What I did to test the library was create a Bot then mapped the library default Dialog to the bot default Dialog.

let bot = new botbuilder.UniversalBot(new TestConnector());
let library = CustomLibrary.createLibrary();
bot.library(library);
bot.dialog('/', library.dialog('/'));

I am thinking something like this will be helpful:

new BotTester(bot)
    .WithDialog(['/',library.dialog('/')],['greeting', anotherDialog]);

@microsoftly microsoftly changed the title Test Dialogue Library Test dialogs independently Feb 26, 2018
@microsoftly
Copy link
Owner

I think that would be a great addition. Would you be interested in being a contributor? It will help shape the library towards your needs.

@ihachani
Copy link
Author

I will give it a try. Do you have some guidelines?

@microsoftly
Copy link
Owner

  • follow the linter as closely as you can
  • tests that prove the new code works
    • this means failure and success cases
  • new features, such as this, should be included in the BotTester.mocha.spec.ts and include proper decorations as can be seen in the file to easily update the README.md
  • add the new test to the README
  • PRs should be made to the dev branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants