async def test_ask_for_slot( domain: Dict, expected_action: Text, monkeypatch: MonkeyPatch, default_nlg: TemplatedNaturalLanguageGenerator, ): slot_name = "sun" action_from_name = Mock(return_value=action.ActionListen()) endpoint_config = Mock() monkeypatch.setattr(action, action.action_for_name_or_text.__name__, action_from_name) form = FormAction("my_form", endpoint_config) domain = Domain.from_dict(domain) await form._ask_for_slot( domain, default_nlg, CollectingOutputChannel(), slot_name, DialogueStateTracker.from_events("dasd", []), ) action_from_name.assert_called_once_with(expected_action, domain, endpoint_config)
async def test_ask_for_slot( domain: Dict, expected_action: Text, monkeypatch: MonkeyPatch ): slot_name = "sun" action_from_name = Mock(return_value=action.ActionListen()) endpoint_config = Mock() monkeypatch.setattr(action, action.action_from_name.__name__, action_from_name) form = FormAction("my_form", endpoint_config) domain = Domain.from_dict(domain) await form._ask_for_slot( domain, None, None, slot_name, DialogueStateTracker.from_events("dasd", []) ) action_from_name.assert_called_once_with(expected_action, domain, endpoint_config)
async def test_ask_for_slot_if_not_utter_ask( monkeypatch: MonkeyPatch, default_nlg: TemplatedNaturalLanguageGenerator): action_from_name = Mock(return_value=action.ActionListen()) endpoint_config = Mock() monkeypatch.setattr(action, action.action_for_name_or_text.__name__, action_from_name) form = FormAction("my_form", endpoint_config) events = await form._ask_for_slot( Domain.empty(), default_nlg, CollectingOutputChannel(), "some slot", DialogueStateTracker.from_events("dasd", []), ) assert not events action_from_name.assert_not_called()