def test_asr_hints(responder: SkillResponder): responder.asr_hints(['go back', 'see more']) assert responder.directives[0]['name'] == 'asr-hint' assert responder.directives[0]['payload']['text'] == [ 'go back', 'see more' ] assert responder.directives[0]['type'] == 'action'
def test_long_reply(responder: SkillResponder, query: str, remove_hyphens: bool, text: str): responder.long_reply(query, is_spoken=True, remove_hyphens=remove_hyphens) assert responder.directives[0]['payload']['text'] == query assert responder.directives[0]['name'] == 'long-reply' assert responder.directives[0]['type'] == 'view' assert responder.directives[1]['payload']['text'] == text assert responder.directives[1]['name'] == 'speak'
def test_ui_hints(responder: SkillResponder): responder.ui_hints(['go back', 'see more'], prompt='speak carefully', display_immediately=True) assert responder.directives[0]['name'] == 'ui-hint' assert responder.directives[0]['payload']['text'] == [ 'go back', 'see more' ] assert responder.directives[0]['payload']['prompt'] == 'speak carefully' assert responder.directives[0]['payload']['displayImmediately'] assert responder.directives[0]['type'] == 'view'
def test_reply_incrementing_group(responder: SkillResponder): responder.reply('hello', increment_group=True, is_spoken=False) responder.reply('world', increment_group=True, is_spoken=False) assert responder.directives[0]['payload']['text'] == 'hello' assert responder.directives[0]['payload']['group'] == 1 assert responder.directives[0]['name'] == 'reply' assert responder.directives[0]['type'] == 'view' assert responder.directives[1]['payload']['text'] == 'world' assert responder.directives[1]['payload']['group'] == 2 assert responder.directives[1]['name'] == 'reply' assert responder.directives[1]['type'] == 'view' with pytest.raises(DirectiveFormatError) as ex: responder.reply('again', increment_group=True, is_spoken=False) assert 'reply directive can only support two groups.' in str(ex.value)
def responder(): return SkillResponder()
def test_display_web_view(responder: SkillResponder): responder.display_web_view(url='some-url') assert responder.directives[0]['name'] == 'display-web-view' assert responder.directives[0]['payload']['url'] == 'some-url' assert responder.directives[0]['type'] == 'action'
def test_display(responder: SkillResponder, key, value): responder.display('display', {key: value}) assert responder.directives[0]['payload'][key] == value assert responder.directives[0]['name'] == 'display' assert responder.directives[0]['type'] == 'view'
def test_speak(responder: SkillResponder, query: str, remove_hyphens: bool, text: str): responder.speak(text=query, remove_hyphens=remove_hyphens) assert responder.directives[0]['payload']['text'] == text assert responder.directives[0]['name'] == 'speak' assert responder.directives[0]['type'] == 'action'