def handle_message(message): try: speech.update_model(message.chat, message.text) except ValueError as er: logger.error(er) return if f'@{bot.get_me().username}' in message.text: generate_sentence(message, reply=True)
def test_update_model(mock_settings, mock_db, p_grow, p_limit, expected_text, expected_chain, one_found, message): mock_settings.MODEL_LANG = '' mock_settings.GROW_CHAIN = p_grow mock_settings.MESSAGE_LIMIT = p_limit mock_db.find_one.return_value = one_found speech.update_model(message.chat, message.text) assert mock_db.find_one.called assert mock_db.upsert.called_once_with( { 'chat_id': message.chat.id, 'text': expected_text, 'chain': expected_chain }, ['chat_id'])
def test_update_model_raises_exception(p_chat, p_message, p_expected): with raises(ValueError) as er: speech.update_model(p_chat, p_message) assert str(er.value) == p_expected
def test_update_model_with_invalid_msg(mock_settings, mock_db, message): mock_settings.MODEL_LANG = '' message.text = '\n' speech.update_model(message.chat, message.text) assert not mock_db.find_one.called assert not mock_db.upsert.called