async def handle(self): self.send( lyr.Text(t.HOW_ARE_YOU), lyr.QuickRepliesList([ lyr.QuickRepliesList.TextOption('yes', t.YES, intents.YES), lyr.QuickRepliesList.TextOption('no', t.NO, intents.NO), ]), )
def test_match_layer(): s = make_stack( layers.Text('yolo'), layers.Text('pouet'), layers.QuickRepliesList([]), ) s.match_exp('(Text|RawText)+ QuickRepliesList?')
def test_quick_replies_player_patch(text_request): l = layers.QuickRepliesList([ layers.QuickRepliesList.TextOption('foo', 'Foo'), layers.QuickRepliesList.TextOption('bar', 'Bar', intents.BAR), layers.QuickRepliesList.LocationOption(), ]) assert run(l.patch_register({}, text_request)) == { 'choices': { 'foo': { 'intent': None, 'text': 'Foo', }, 'bar': { 'intent': 'BAR', 'text': 'Bar', } } }
def test_story_hello(): with patch_conf(settings_file=ENGINE_SETTINGS_FILE): _, platform = make_test_fsm() platform.handle(l.Text('Hello!'), ) platform.assert_state(HowAreYou) platform.assert_sent( stack(l.Text(t.HELLO)), stack( l.Text(t.HOW_ARE_YOU), l.QuickRepliesList([ l.QuickRepliesList.TextOption('yes', t.YES, intents.YES), l.QuickRepliesList.TextOption('no', t.NO, intents.NO), ])), ) platform.handle( l.Text('Yes'), l.QuickReply('yes'), ) platform.assert_sent(stack(l.Text(t.GREAT)))
def test_stack(): l1 = layers.Text('hello') l2 = layers.Text('sup?') l3 = layers.QuickRepliesList([ layers.QuickRepliesList.TextOption('foo', 'Foo'), layers.QuickRepliesList.TextOption('bar', 'Bar', intents.BAR), layers.QuickRepliesList.LocationOption(), ]) stack = layers.Stack([l1]) assert stack.has_layer(layers.Text) assert not stack.has_layer(layers.QuickRepliesList) assert stack.get_layer(layers.Text) == l1 with pytest.raises(KeyError): assert stack.get_layer(layers.QuickRepliesList) is None stack.layers = [l1, l2, l3] assert stack.has_layer(layers.QuickRepliesList) assert stack.get_layer(layers.Text) == l1 assert stack.get_layers(layers.Text) == [l1, l2] assert stack.get_layer(layers.QuickRepliesList) == l3