app/__init__.py |
getEnvironmentVars |
14 |
1 |
0 |
93% |
app/__init__.py |
create_app |
20 |
1 |
0 |
95% |
app/__init__.py |
FlaskSessionStorage.__init__ |
1 |
1 |
0 |
0% |
app/__init__.py |
FlaskSessionStorage.get_item |
3 |
3 |
0 |
0% |
app/__init__.py |
FlaskSessionStorage.set_item |
2 |
2 |
0 |
0% |
app/__init__.py |
FlaskSessionStorage.remove_item |
3 |
3 |
0 |
0% |
app/__init__.py |
(no function) |
20 |
1 |
0 |
95% |
app/controllers/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
app/controllers/ai.py |
get_openai |
4 |
4 |
0 |
0% |
app/controllers/ai.py |
get_gemini |
6 |
6 |
0 |
0% |
app/controllers/ai.py |
(no function) |
19 |
0 |
0 |
100% |
app/controllers/database.py |
get_session_storage |
2 |
2 |
0 |
0% |
app/controllers/database.py |
get_db |
3 |
3 |
0 |
0% |
app/controllers/database.py |
get_service_client |
1 |
1 |
0 |
0% |
app/controllers/database.py |
generate_code_verifier |
1 |
1 |
0 |
0% |
app/controllers/database.py |
generate_code_challenge |
3 |
3 |
0 |
0% |
app/controllers/database.py |
(no function) |
12 |
0 |
0 |
100% |
app/models/errors.py |
BaseError.__init__ |
4 |
0 |
0 |
100% |
app/models/errors.py |
UserAlreadyExistsError.__init__ |
1 |
1 |
0 |
0% |
app/models/errors.py |
UserNotFoundError.__init__ |
1 |
1 |
0 |
0% |
app/models/errors.py |
DatabaseError.__init__ |
1 |
0 |
0 |
100% |
app/models/errors.py |
AuthenticationError.__init__ |
1 |
1 |
0 |
0% |
app/models/errors.py |
ModelError.__init__ |
1 |
0 |
0 |
100% |
app/models/errors.py |
(no function) |
13 |
0 |
0 |
100% |
app/models/response.py |
success_response |
1 |
0 |
0 |
100% |
app/models/response.py |
error_response |
1 |
0 |
0 |
100% |
app/models/response.py |
(no function) |
5 |
0 |
0 |
100% |
app/models/status_codes.py |
(no function) |
9 |
0 |
0 |
100% |
app/models/suggestion.py |
Suggestion.__init__ |
6 |
6 |
0 |
0% |
app/models/suggestion.py |
Suggestion.get_suggestion |
1 |
1 |
0 |
0% |
app/models/suggestion.py |
Suggestion.to_json |
1 |
1 |
0 |
0% |
app/models/suggestion.py |
(no function) |
11 |
0 |
0 |
100% |
app/models/user.py |
Base.__init__ |
1 |
0 |
0 |
100% |
app/models/user.py |
Base.to_json |
1 |
0 |
0 |
100% |
app/models/user.py |
Base.__getattr__ |
1 |
0 |
0 |
100% |
app/models/user.py |
Base.__getitem__ |
1 |
1 |
0 |
0% |
app/models/user.py |
Base.get_user |
1 |
1 |
0 |
0% |
app/models/user.py |
Suggestion.hash_password |
1 |
1 |
0 |
0% |
app/models/user.py |
(no function) |
15 |
0 |
0 |
100% |
app/routes/__init__.py |
register_blueprints |
8 |
0 |
0 |
100% |
app/routes/__init__.py |
(no function) |
10 |
0 |
0 |
100% |
app/routes/auth.py |
login_page |
1 |
0 |
0 |
100% |
app/routes/auth.py |
login_route |
15 |
0 |
0 |
100% |
app/routes/auth.py |
auth_complete_route |
1 |
0 |
0 |
100% |
app/routes/auth.py |
auth |
7 |
0 |
0 |
100% |
app/routes/auth.py |
signup_route |
9 |
0 |
0 |
100% |
app/routes/auth.py |
signout_route |
5 |
0 |
0 |
100% |
app/routes/auth.py |
(no function) |
21 |
0 |
0 |
100% |
app/routes/classes.py |
create_class |
10 |
0 |
0 |
100% |
app/routes/classes.py |
get_classes_by_instructor |
5 |
0 |
0 |
100% |
app/routes/classes.py |
register_user_to_class |
10 |
0 |
0 |
100% |
app/routes/classes.py |
(no function) |
11 |
0 |
0 |
100% |
app/routes/docs.py |
serve_docs |
1 |
1 |
0 |
0% |
app/routes/docs.py |
docs_index |
1 |
1 |
0 |
0% |
app/routes/docs.py |
serve_static |
1 |
1 |
0 |
0% |
app/routes/docs.py |
serve_tsdocs |
1 |
1 |
0 |
0% |
app/routes/docs.py |
docs_tsindex |
1 |
1 |
0 |
0% |
app/routes/docs.py |
serve_tsstatic |
1 |
1 |
0 |
0% |
app/routes/docs.py |
(no function) |
17 |
0 |
0 |
100% |
app/routes/logging.py |
log_event_route |
10 |
2 |
0 |
80% |
app/routes/logging.py |
get_all_logs_route |
5 |
2 |
0 |
60% |
app/routes/logging.py |
get_logs_by_user_route |
9 |
3 |
0 |
67% |
app/routes/logging.py |
get_logs_by_class_route |
7 |
3 |
0 |
57% |
app/routes/logging.py |
log_suggestion_route |
11 |
2 |
0 |
82% |
app/routes/logging.py |
ai_usage_route |
5 |
2 |
0 |
60% |
app/routes/logging.py |
health_check |
1 |
0 |
0 |
100% |
app/routes/logging.py |
(no function) |
24 |
0 |
0 |
100% |
app/routes/main_page.py |
main_page_route |
4 |
2 |
0 |
50% |
app/routes/main_page.py |
download_route |
4 |
4 |
0 |
0% |
app/routes/main_page.py |
get_all_data |
9 |
9 |
0 |
0% |
app/routes/main_page.py |
(no function) |
13 |
0 |
0 |
100% |
app/routes/quiz.py |
generate_quiz_route |
26 |
26 |
0 |
0% |
app/routes/quiz.py |
(no function) |
9 |
0 |
0 |
100% |
app/routes/suggestions.py |
generate_suggestion_route |
14 |
3 |
0 |
79% |
app/routes/suggestions.py |
refine_prompt |
10 |
3 |
0 |
70% |
app/routes/suggestions.py |
generate_hint |
11 |
3 |
0 |
73% |
app/routes/suggestions.py |
generate_explanation |
11 |
11 |
0 |
0% |
app/routes/suggestions.py |
validate_fix |
12 |
3 |
0 |
75% |
app/routes/suggestions.py |
list_models_route |
8 |
8 |
0 |
0% |
app/routes/suggestions.py |
get_suggestion_details |
7 |
7 |
0 |
0% |
app/routes/suggestions.py |
(no function) |
23 |
0 |
0 |
100% |
app/routes/user.py |
get_user_route |
7 |
2 |
0 |
71% |
app/routes/user.py |
update_user_status_route |
11 |
2 |
0 |
82% |
app/routes/user.py |
get_user_class_status_route |
10 |
2 |
0 |
80% |
app/routes/user.py |
create_user_section_route |
5 |
2 |
0 |
60% |
app/routes/user.py |
get_user_section_route |
6 |
2 |
0 |
67% |
app/routes/user.py |
update_user_section_route |
13 |
2 |
0 |
85% |
app/routes/user.py |
update_user_settings_route |
8 |
2 |
0 |
75% |
app/routes/user.py |
get_user_classes_route |
7 |
3 |
0 |
57% |
app/routes/user.py |
get_all_users_route |
7 |
3 |
0 |
57% |
app/routes/user.py |
delete_user_route |
7 |
3 |
0 |
57% |
app/routes/user.py |
update_user_route |
8 |
2 |
0 |
75% |
app/routes/user.py |
(no function) |
32 |
0 |
0 |
100% |
app/services/auth_service.py |
login_with_provider |
3 |
0 |
0 |
100% |
app/services/auth_service.py |
login_with_email |
3 |
0 |
0 |
100% |
app/services/auth_service.py |
callback |
5 |
0 |
0 |
100% |
app/services/auth_service.py |
signout |
5 |
0 |
0 |
100% |
app/services/auth_service.py |
signup_with_email |
3 |
0 |
0 |
100% |
app/services/auth_service.py |
(no function) |
9 |
0 |
0 |
100% |
app/services/class_service.py |
insert_new_class |
5 |
0 |
0 |
100% |
app/services/class_service.py |
fetch_classes_by_instructor |
4 |
0 |
0 |
100% |
app/services/class_service.py |
insert_class_user |
5 |
0 |
0 |
100% |
app/services/class_service.py |
(no function) |
4 |
0 |
0 |
100% |
app/services/log_service.py |
log_event |
5 |
3 |
0 |
40% |
app/services/log_service.py |
log_suggestion |
9 |
0 |
0 |
100% |
app/services/log_service.py |
get_all_logs |
6 |
3 |
0 |
50% |
app/services/log_service.py |
get_logs_by_user |
11 |
3 |
0 |
73% |
app/services/log_service.py |
get_ai_usage |
6 |
3 |
0 |
50% |
app/services/log_service.py |
get_all_data_from_db |
13 |
3 |
0 |
77% |
app/services/log_service.py |
get_logs_by_class |
9 |
4 |
0 |
56% |
app/services/log_service.py |
(no function) |
9 |
0 |
0 |
100% |
app/services/quiz_service.py |
build_prompt_from_suggestions |
9 |
9 |
0 |
0% |
app/services/quiz_service.py |
generate_quiz_from_prompt |
27 |
27 |
0 |
0% |
app/services/quiz_service.py |
(no function) |
7 |
0 |
0 |
100% |
app/services/suggestion_service.py |
getSuggestion |
13 |
2 |
0 |
85% |
app/services/suggestion_service.py |
getSuggestionFromOpenAI |
15 |
0 |
0 |
100% |
app/services/suggestion_service.py |
getSuggestionFromOllama |
9 |
0 |
0 |
100% |
app/services/suggestion_service.py |
getSuggestionFromGoogle |
26 |
1 |
0 |
96% |
app/services/suggestion_service.py |
getAvailableModels |
10 |
2 |
0 |
80% |
app/services/suggestion_service.py |
getModelsFromOpenAI |
7 |
0 |
0 |
100% |
app/services/suggestion_service.py |
getModelsFromOllama |
9 |
0 |
0 |
100% |
app/services/suggestion_service.py |
getModelsFromGoogle |
5 |
0 |
0 |
100% |
app/services/suggestion_service.py |
generate_refined_prompt |
6 |
0 |
0 |
100% |
app/services/suggestion_service.py |
generate_hint_from_gemini |
6 |
0 |
0 |
100% |
app/services/suggestion_service.py |
generate_explanation_from_gemini |
6 |
2 |
0 |
67% |
app/services/suggestion_service.py |
check_code_correctness |
7 |
3 |
0 |
57% |
app/services/suggestion_service.py |
get_suggestion_by_id |
8 |
0 |
0 |
100% |
app/services/suggestion_service.py |
(no function) |
23 |
0 |
0 |
100% |
app/services/user_service.py |
update_user_class_status |
11 |
0 |
0 |
100% |
app/services/user_service.py |
get_user_class_status |
7 |
3 |
0 |
57% |
app/services/user_service.py |
create_user_section |
11 |
4 |
0 |
64% |
app/services/user_service.py |
get_user_section |
13 |
4 |
0 |
69% |
app/services/user_service.py |
update_user_section |
5 |
3 |
0 |
40% |
app/services/user_service.py |
get_classes_by_user_id |
15 |
0 |
0 |
100% |
app/services/user_service.py |
get_all_users |
24 |
0 |
0 |
100% |
app/services/user_service.py |
get_user_by_id |
22 |
22 |
0 |
0% |
app/services/user_service.py |
update_user_settings |
5 |
5 |
0 |
0% |
app/services/user_service.py |
delete_user |
9 |
9 |
0 |
0% |
app/services/user_service.py |
edit_user |
10 |
10 |
0 |
0% |
app/services/user_service.py |
(no function) |
16 |
0 |
0 |
100% |
tests/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
tests/conftest.py |
app |
4 |
0 |
0 |
100% |
tests/conftest.py |
client |
1 |
0 |
0 |
100% |
tests/conftest.py |
(no function) |
9 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_login_page |
2 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_login_route_email_success |
11 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_login_route_email_missing_fields |
10 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_login_route_github_success |
6 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_login_route_github_missing_provider |
5 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_auth_complete |
3 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_auth_callback |
8 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_auth_callback_missing_code |
5 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_auth_callback_next_url |
10 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_auth_signup_success |
8 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_auth_signup_missing_fields |
5 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_auth_signout_success |
7 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
test_auth_signout_missing_user_id |
5 |
0 |
0 |
100% |
tests/routes/test_auth_route.py |
(no function) |
17 |
0 |
0 |
100% |
tests/routes/test_classes_route.py |
test_create_class_sucess |
7 |
0 |
0 |
100% |
tests/routes/test_classes_route.py |
test_create_class_missing_fields |
4 |
0 |
0 |
100% |
tests/routes/test_classes_route.py |
test_create_class_unknown_error |
6 |
0 |
0 |
100% |
tests/routes/test_classes_route.py |
test_get_classes_by_intructor_success |
7 |
0 |
0 |
100% |
tests/routes/test_classes_route.py |
test_get_classes_by_intructor_unknown_error |
5 |
0 |
0 |
100% |
tests/routes/test_classes_route.py |
test_register_user_to_class_success |
7 |
0 |
0 |
100% |
tests/routes/test_classes_route.py |
test_register_user_to_class_missing_fields |
4 |
0 |
0 |
100% |
tests/routes/test_classes_route.py |
test_register_user_to_class_unknown_error |
6 |
0 |
0 |
100% |
tests/routes/test_classes_route.py |
(no function) |
10 |
0 |
0 |
100% |
tests/routes/test_index_route.py |
test_index_route |
2 |
0 |
0 |
100% |
tests/routes/test_index_route.py |
(no function) |
1 |
0 |
0 |
100% |
tests/routes/test_log_route.py |
test_health_check |
3 |
0 |
0 |
100% |
tests/routes/test_log_route.py |
test_log_event_success |
4 |
0 |
0 |
100% |
tests/routes/test_log_route.py |
test_log_event_missing_fields |
3 |
0 |
0 |
100% |
tests/routes/test_log_route.py |
test_get_all_logs_success |
4 |
0 |
0 |
100% |
tests/routes/test_log_route.py |
test_get_logs_by_user_success |
4 |
0 |
0 |
100% |
tests/routes/test_log_route.py |
test_get_logs_by_class_success |
4 |
0 |
0 |
100% |
tests/routes/test_log_route.py |
test_log_suggestion_success |
4 |
0 |
0 |
100% |
tests/routes/test_log_route.py |
test_log_suggestion_missing_fields |
3 |
0 |
0 |
100% |
tests/routes/test_log_route.py |
test_ai_usage_success |
4 |
0 |
0 |
100% |
tests/routes/test_log_route.py |
(no function) |
18 |
0 |
0 |
100% |
tests/routes/test_quiz_route.py |
(no function) |
0 |
0 |
0 |
100% |
tests/routes/test_suggestions_route.py |
mock_get_suggestion |
2 |
0 |
0 |
100% |
tests/routes/test_suggestions_route.py |
mock_check_code_correctness |
2 |
0 |
0 |
100% |
tests/routes/test_suggestions_route.py |
mock_get_code_hint |
2 |
0 |
0 |
100% |
tests/routes/test_suggestions_route.py |
mock_get_refined_prompt |
2 |
0 |
0 |
100% |
tests/routes/test_suggestions_route.py |
test_suggestions_route_prompt |
5 |
0 |
0 |
100% |
tests/routes/test_suggestions_route.py |
test_suggestions_route_no_prompt |
3 |
0 |
0 |
100% |
tests/routes/test_suggestions_route.py |
test_suggestions_route_refine |
6 |
0 |
0 |
100% |
tests/routes/test_suggestions_route.py |
test_suggestions_route_hint |
4 |
0 |
0 |
100% |
tests/routes/test_suggestions_route.py |
test_suggestions_route_answer |
5 |
0 |
0 |
100% |
tests/routes/test_suggestions_route.py |
(no function) |
16 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_get_user_success |
6 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_get_user_not_found |
5 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_update_user_status_success |
4 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_update_user_status_invalid_status |
2 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_get_user_class_status_success |
5 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_get_user_class_status_not_found |
3 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_create_user_section_success |
3 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_get_user_sections_success |
5 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_update_user_section_status_success |
4 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_update_user_section_status_invalid_status |
2 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_update_user_section_status_missing_id |
2 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_update_user_settings_success |
4 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_update_user_settings_missing_settings |
2 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_get_user_classes_success |
5 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_get_users_success |
5 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_delete_user_success |
5 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_update_user_success |
4 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
test_update_user_missing_data |
2 |
0 |
0 |
100% |
tests/routes/test_user_route.py |
(no function) |
22 |
0 |
0 |
100% |
tests/services/test_auth_service.py |
test_login_with_provider |
8 |
0 |
0 |
100% |
tests/services/test_auth_service.py |
test_login_with_email |
7 |
0 |
0 |
100% |
tests/services/test_auth_service.py |
test_callback_success |
4 |
0 |
0 |
100% |
tests/services/test_auth_service.py |
test_callback_failure |
4 |
0 |
0 |
100% |
tests/services/test_auth_service.py |
test_signout_success |
4 |
0 |
0 |
100% |
tests/services/test_auth_service.py |
test_signout_failure |
4 |
0 |
0 |
100% |
tests/services/test_auth_service.py |
test_signup_with_email |
10 |
0 |
0 |
100% |
tests/services/test_auth_service.py |
(no function) |
18 |
0 |
0 |
100% |
tests/services/test_class_service.py |
test_insert_new_class_success |
7 |
0 |
0 |
100% |
tests/services/test_class_service.py |
test_insert_new_class_failure |
6 |
0 |
0 |
100% |
tests/services/test_class_service.py |
test_fetch_classes_by_instructor_success |
7 |
0 |
0 |
100% |
tests/services/test_class_service.py |
test_fetch_classes_by_instructor_failure |
5 |
0 |
0 |
100% |
tests/services/test_class_service.py |
test_insert_class_user_success |
6 |
0 |
0 |
100% |
tests/services/test_class_service.py |
test_insert_class_user_failure |
5 |
0 |
0 |
100% |
tests/services/test_class_service.py |
(no function) |
15 |
0 |
0 |
100% |
tests/services/test_log_service.py |
mock_execute_with_data |
3 |
0 |
0 |
100% |
tests/services/test_log_service.py |
test_log_event_success |
11 |
0 |
0 |
100% |
tests/services/test_log_service.py |
test_log_suggestion_success |
12 |
0 |
0 |
100% |
tests/services/test_log_service.py |
test_log_suggestion_failure_no_data |
9 |
0 |
0 |
100% |
tests/services/test_log_service.py |
test_get_all_logs |
8 |
0 |
0 |
100% |
tests/services/test_log_service.py |
test_get_logs_by_user |
10 |
0 |
0 |
100% |
tests/services/test_log_service.py |
test_get_logs_by_user_with_section_and_class |
15 |
0 |
0 |
100% |
tests/services/test_log_service.py |
test_get_logs_by_class |
10 |
0 |
0 |
100% |
tests/services/test_log_service.py |
test_get_ai_usage |
8 |
0 |
0 |
100% |
tests/services/test_log_service.py |
test_get_all_data_from_db |
5 |
0 |
0 |
100% |
tests/services/test_log_service.py |
(no function) |
22 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
mock_openai_client |
19 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
mock_gemini_client |
19 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
mock_db_client |
17 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
mock_requests |
11 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestion_routes_to_openai |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestion_routes_to_ollama |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestion_routes_to_google |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestion_defaults_to_google_on_invalid_vendor |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromOpenAI_success_correct |
9 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromOpenAI_success_incorrect |
7 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromOpenAI_api_error |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromOllama_success_correct |
7 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromOllama_success_incorrect |
7 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromOllama_request_error |
4 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromOllama_other_error |
4 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromGoogle_success |
10 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromGoogle_gemini_error |
6 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromGoogle_json_decode_error |
8 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromGoogle_empty_response |
5 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getSuggestionFromGoogle_no_usage_metadata |
7 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getAvailableModels_routes_openai |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getAvailableModels_routes_ollama |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getAvailableModels_routes_google |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getAvailableModels_invalid_vendor |
2 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getModelsFromOpenAI_success |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getModelsFromOpenAI_api_error |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getModelsFromOllama_success |
6 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getModelsFromOllama_request_error |
4 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getModelsFromOllama_missing_models_key |
4 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getModelsFromGoogle_success |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_getModelsFromGoogle_api_error |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_generate_refined_prompt_success |
6 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_generate_refined_prompt_api_error |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_generate_hint_from_gemini_success |
11 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_generate_hint_from_gemini_api_error |
3 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_generate_explanation_from_gemini_success |
12 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_check_code_correctness |
12 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_get_suggestion_by_id_found |
12 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_get_suggestion_by_id_not_found |
6 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
test_get_suggestion_by_id_db_error |
5 |
0 |
0 |
100% |
tests/services/test_suggestion_service.py |
(no function) |
55 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_update_user_class_status_with_class_id |
8 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_update_user_class_status_with_class_id_error |
9 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_update_user_class_status_without_class_id |
8 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_update_user_class_status_without_class_id_error |
9 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_get_user_class_status_success |
10 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_get_user_class_status_no_data |
5 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_create_user_section_with_class_id |
11 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_create_user_section_without_class_id |
11 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_get_user_section_existing |
5 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_get_user_section_creates_new |
7 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_update_user_section |
11 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_get_classes_by_user_id_returns_classes |
6 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_get_classes_by_user_id_no_data |
5 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_get_classes_by_user_id_raises_error |
4 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_get_all_users_merges_sources |
18 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_get_all_users_handles_empty_sources |
4 |
0 |
0 |
100% |
tests/services/test_user_service.py |
test_get_all_users_raises_database_error |
3 |
0 |
0 |
100% |
tests/services/test_user_service.py |
(no function) |
43 |
0 |
0 |
100% |