Esempio n. 1
0
    def test_with_command_and_args(self):
        update = td.update_for_command(
            None, "start", "one two three", user_id="1337")
        user_id = helpers.get_user_id_from_update(update)

        # Asserts
        assert user_id == 1337
Esempio n. 2
0
    def test_command_dummy(self, worker, bot):
        update = td.update_for_command(bot, "dummy", "one two three")
        user_id = helpers.get_user_id_from_update(update)
        worker.handle_command(user_id, update)

        # Asserts
        assert worker.state.state == 'dummy_state'
Esempio n. 3
0
    def test_no_writes(self):
        other_update = td.update_for_command(None,
                                             "start",
                                             user_id=1337,
                                             chat_id=2000)
        update = td.update_for_command(None, "dummy", "one two three")
        user_id = helpers.get_user_id_from_update(update)

        # Asserts
        assert user_id == 123
Esempio n. 4
0
    def test_register_flow(self, worker, bot, inspect_session):
        update = td.update_for_command(bot, "start")
        user_id = helpers.get_user_id_from_update(update)
        user = inspect_session.query(models.User).get(user_id)
        worker.handle_command(user_id, update)

        # Assert
        bot.send_message.assert_called()
        assert worker.state.state == 'register_1'

        update = td.update_for_message(bot, 'nn')
        worker.handle_message(user_id, update)

        # Assert
        assert worker.state.state == 'register_1'
        inspect_session.refresh(user)
        assert user.state == 'register_1'
        assert user.title is None

        update = td.update_for_message(bot, 'mr')
        worker.handle_message(user_id, update)

        # Assert
        bot.send_message.assert_called()
        assert worker.state.state == 'register_2'
        inspect_session.refresh(user)
        assert user.state == 'register_2'
        assert user.title == 'mr'

        update = td.update_for_message(bot, '1')
        worker.handle_message(user_id, update)

        # Assert
        bot.send_message.assert_called()
        assert worker.state.state == 'register_3'
        inspect_session.refresh(user)
        assert user.state == 'register_3'
        assert user.age == '1'

        update = td.update_for_message(bot, 'normal')
        worker.handle_message(user_id, update)

        # Assert
        bot.send_message.assert_called()
        assert worker.state.state == 'idle'
        inspect_session.refresh(user)
        assert user.state == 'idle'
        assert user.subscription == 'normal'
Esempio n. 5
0
    def test_with_message(self):
        update = td.update_for_message(None, "dead / beef", user_id="1337")
        user_id = helpers.get_user_id_from_update(update)

        # Asserts
        assert user_id == 1337