Skip to content

Commit 797ec83

Browse files
committed
add tests, changes in function get_user_language
1 parent 839adbc commit 797ec83

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

app/internal/translation.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
from typing import Optional
22

33
from iso639 import languages
4-
from sqlalchemy.exc import SQLAlchemyError
54
from textblob import TextBlob, download_corpora
65
from textblob.exceptions import NotTranslated
76

87
from app.database.database import SessionLocal
98
from loguru import logger
9+
1010
from app.routers.user import get_users
1111

1212
download_corpora.download_all()
@@ -52,14 +52,13 @@ def _get_user_language(user_id: int, session: SessionLocal) -> str:
5252
Uses the DB"""
5353
try:
5454
user = get_users(session, id=user_id)[0]
55-
language_user = user.language
56-
except SQLAlchemyError:
55+
except IndexError:
5756
logger.exception(
58-
"User of user preferred language was not found in the database."
57+
"User was not found in the database."
5958
)
6059
return ""
6160
else:
62-
return language_user
61+
return user.language
6362

6463

6564
def translate_text_for_user(text: str,

tests/test_translation.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,18 @@ def test_get_user_language(user, session):
9393
"Bonjour, mon ami",
9494
"Hello my friend"]
9595
)
96-
def test_translate_text_for_user(text, user, session):
96+
def test_translate_text_for_good_user(text, user, session):
9797
user_id = user.id
9898
answer = translate_text_for_user(text, session, user_id)
9999
assert answer == "Hello my friend"
100100

101101

102+
def test_translate_text_for_bed_user(user, session):
103+
user_id = user.id
104+
answer = translate_text_for_user("Привет мой друг", session, user_id + 1)
105+
assert answer == "Привет мой друг"
106+
107+
102108
def test_detect_text_language():
103109
answer = _detect_text_language("Hello my friend")
104110
assert answer == "en"
@@ -140,3 +146,9 @@ def test_translate_text_with_with_incorrect_lang(
140146
original_lang):
141147
answer = translate_text(text, target_lang, original_lang)
142148
assert answer == text
149+
150+
151+
def test_get_user_language_for_bed_user(user, session):
152+
user_id = user.id + 1
153+
answer = _get_user_language(user_id, session=session)
154+
assert not answer

0 commit comments

Comments
 (0)