Spaces:
Build error
Build error
Validify-testbot-1
/
botbuilder-python
/libraries
/botbuilder-dialogs
/tests
/test_date_time_prompt.py
| # Copyright (c) Microsoft Corporation. All rights reserved. | |
| # Licensed under the MIT License. | |
| import aiounittest | |
| from botbuilder.dialogs.prompts import DateTimePrompt, PromptOptions | |
| from botbuilder.core import MessageFactory | |
| from botbuilder.core import ConversationState, MemoryStorage, TurnContext | |
| from botbuilder.dialogs import DialogSet, DialogTurnStatus | |
| from botbuilder.core.adapters import TestAdapter, TestFlow | |
| class DatetimePromptTests(aiounittest.AsyncTestCase): | |
| async def test_date_time_prompt(self): | |
| # Create new ConversationState with MemoryStorage and register the state as middleware. | |
| conver_state = ConversationState(MemoryStorage()) | |
| # Create a DialogState property | |
| dialog_state = conver_state.create_property("dialogState") | |
| # Create new DialogSet. | |
| dialogs = DialogSet(dialog_state) | |
| # Create and add DateTime prompt to DialogSet. | |
| date_time_prompt = DateTimePrompt("DateTimePrompt") | |
| dialogs.add(date_time_prompt) | |
| # Initialize TestAdapter | |
| async def exec_test(turn_context: TurnContext) -> None: | |
| prompt_msg = "What date would you like?" | |
| dialog_context = await dialogs.create_context(turn_context) | |
| results = await dialog_context.continue_dialog() | |
| if results.status == DialogTurnStatus.Empty: | |
| options = PromptOptions(prompt=MessageFactory.text(prompt_msg)) | |
| await dialog_context.begin_dialog("DateTimePrompt", options) | |
| else: | |
| if results.status == DialogTurnStatus.Complete: | |
| resolution = results.result[0] | |
| reply = MessageFactory.text( | |
| f"Timex: '{resolution.timex}' Value: '{resolution.value}'" | |
| ) | |
| await turn_context.send_activity(reply) | |
| await conver_state.save_changes(turn_context) | |
| adapt = TestAdapter(exec_test) | |
| test_flow = TestFlow(None, adapt) | |
| tf2 = await test_flow.send("hello") | |
| tf3 = await tf2.assert_reply("What date would you like?") | |
| tf4 = await tf3.send("5th December 2018 at 9am") | |
| await tf4.assert_reply("Timex: '2018-12-05T09' Value: '2018-12-05 09:00:00'") | |