Exemplo n.º 1
0
 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),
         ]),
     )
Exemplo n.º 2
0
def test_match_layer():
    s = make_stack(
        layers.Text('yolo'),
        layers.Text('pouet'),
        layers.QuickRepliesList([]),
    )

    s.match_exp('(Text|RawText)+ QuickRepliesList?')
Exemplo n.º 3
0
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',
            }
        }
    }
Exemplo n.º 4
0
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)))
Exemplo n.º 5
0
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