Coverage report: 89%

Files Functions Classes

coverage.py v7.8.0, created at 2025-05-05 14:02 +0000

File function statements missing excluded coverage
algorithm/matching.py Matching.__init__ 4 0 0 100%
algorithm/matching.py Matching.find_best_match 34 0 0 100%
algorithm/matching.py Matching.get_matches 1 0 0 100%
algorithm/matching.py (no function) 5 0 0 100%
app.py handle_kill_signal 3 3 0 0%
app.py run_app 14 14 0 0%
app.py (no function) 51 5 0 90%
core/configuration_settings.py Config.__init__ 4 0 0 100%
core/configuration_settings.py Config.get_max_num_of_skills 1 0 0 100%
core/configuration_settings.py Config.get_min_num_ranking_student_to_opportunities 1 0 0 100%
core/configuration_settings.py Config.update 8 0 0 100%
core/configuration_settings.py Config.set_num_of_skills 2 0 0 100%
core/configuration_settings.py Config.set_min_num_ranking_student_to_opportunities 2 0 0 100%
core/configuration_settings.py (no function) 7 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.__init__ 2 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.connect 19 3 0 84%
core/database_mongo_manager.py DatabaseMongoManager.get_all 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.get_one_by_id 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.insert 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.update_one_by_id 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.update_one_by_field 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.increment 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.delete_by_id 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.delete_one_by_field 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.delete_all_by_field 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.delete_all 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.get_by_email 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.delete_field_by_id 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.get_one_by_field 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.get_one_by_field_strict 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.is_table 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.get_all_by_two_fields 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.get_all_by_in_list 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.update_by_field 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.get_all_by_field 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.create_index 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.get_all_by_text_search 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.close_connection 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.delete_collection 1 0 0 100%
core/database_mongo_manager.py DatabaseMongoManager.insert_many 1 0 0 100%
core/database_mongo_manager.py (no function) 34 0 0 100%
core/deadline_manager.py DeadlineManager.__init__ 7 1 0 86%
core/deadline_manager.py DeadlineManager.get_details_deadline 7 0 0 100%
core/deadline_manager.py DeadlineManager.is_past_details_deadline 2 0 0 100%
core/deadline_manager.py DeadlineManager.get_student_ranking_deadline 7 0 0 100%
core/deadline_manager.py DeadlineManager.is_past_student_ranking_deadline 2 0 0 100%
core/deadline_manager.py DeadlineManager.get_opportunities_ranking_deadline 7 0 0 100%
core/deadline_manager.py DeadlineManager.is_past_opportunities_ranking_deadline 2 0 0 100%
core/deadline_manager.py DeadlineManager.update_deadlines 16 2 0 88%
core/deadline_manager.py DeadlineManager.get_deadline_type 16 7 0 56%
core/deadline_manager.py (no function) 12 0 0 100%
core/email_handler.py generate_otp 1 0 0 100%
core/email_handler.py send_otp 15 9 0 40%
core/email_handler.py send_email 7 5 0 29%
core/email_handler.py (no function) 15 0 0 100%
core/handlers.py allowed_file 1 0 0 100%
core/handlers.py login_required 3 0 0 100%
core/handlers.py login_required.wrap 7 2 0 71%
core/handlers.py is_admin 1 0 0 100%
core/handlers.py student_login_required 3 0 0 100%
core/handlers.py student_login_required.wrap 9 3 0 67%
core/handlers.py employers_login_required 3 0 0 100%
core/handlers.py employers_login_required.wrap 8 2 0 75%
core/handlers.py admin_or_employers_required 3 0 0 100%
core/handlers.py admin_or_employers_required.wrap 5 1 0 80%
core/handlers.py superuser_required 3 0 0 100%
core/handlers.py superuser_required.wrap 3 1 0 67%
core/handlers.py get_user_type 14 1 0 93%
core/handlers.py clear_session_save_theme 5 0 0 100%
core/handlers.py excel_verifier_and_reader 26 7 0 73%
core/handlers.py configure_routes 46 0 0 100%
core/handlers.py configure_routes.index 11 4 0 64%
core/handlers.py configure_routes.toggle_theme 9 9 0 0%
core/handlers.py configure_routes.set_theme 7 7 0 0%
core/handlers.py configure_routes.privacy_agreement 11 4 0 64%
core/handlers.py configure_routes.get_session 8 0 0 100%
core/handlers.py configure_routes.privacy_policy 1 0 0 100%
core/handlers.py configure_routes.modal_privacy_policy 3 0 0 100%
core/handlers.py configure_routes.cookies_policy 1 1 0 0%
core/handlers.py configure_routes.robots 1 0 0 100%
core/handlers.py configure_routes.signout 2 0 0 100%
core/handlers.py configure_routes.favicon 1 0 0 100%
core/handlers.py configure_routes.tutorial 11 11 0 0%
core/handlers.py configure_routes.sitemap 8 8 0 0%
core/handlers.py configure_routes.add_cache_control_and_headers 12 1 0 92%
core/handlers.py configure_routes.serve_static 13 13 0 0%
core/handlers.py configure_routes.refresh_session 2 0 0 100%
core/handlers.py (no function) 26 0 0 100%
core/routes_error.py get_user_type 14 3 0 79%
core/routes_error.py add_error_routes 126 0 0 100%
core/routes_error.py add_error_routes.error_400 4 4 0 0%
core/routes_error.py add_error_routes.error_401 4 4 0 0%
core/routes_error.py add_error_routes.error_403 4 4 0 0%
core/routes_error.py add_error_routes.error_404 4 0 0 100%
core/routes_error.py add_error_routes.error_405 4 4 0 0%
core/routes_error.py add_error_routes.error_406 4 4 0 0%
core/routes_error.py add_error_routes.error_408 4 4 0 0%
core/routes_error.py add_error_routes.error_409 4 4 0 0%
core/routes_error.py add_error_routes.error_410 4 4 0 0%
core/routes_error.py add_error_routes.error_411 4 4 0 0%
core/routes_error.py add_error_routes.error_412 4 4 0 0%
core/routes_error.py add_error_routes.error_413 4 4 0 0%
core/routes_error.py add_error_routes.error_414 4 4 0 0%
core/routes_error.py add_error_routes.error_415 4 4 0 0%
core/routes_error.py add_error_routes.error_416 4 4 0 0%
core/routes_error.py add_error_routes.error_417 4 4 0 0%
core/routes_error.py add_error_routes.error_418 4 4 0 0%
core/routes_error.py add_error_routes.error_421 4 4 0 0%
core/routes_error.py add_error_routes.error_422 4 4 0 0%
core/routes_error.py add_error_routes.error_423 4 4 0 0%
core/routes_error.py add_error_routes.error_424 4 4 0 0%
core/routes_error.py add_error_routes.error_428 4 4 0 0%
core/routes_error.py add_error_routes.error_429 4 4 0 0%
core/routes_error.py add_error_routes.error_431 4 4 0 0%
core/routes_error.py add_error_routes.error_451 4 4 0 0%
core/routes_error.py add_error_routes.error_500 4 0 0 100%
core/routes_error.py add_error_routes.error_501 4 4 0 0%
core/routes_error.py add_error_routes.error_502 4 4 0 0%
core/routes_error.py add_error_routes.error_503 4 4 0 0%
core/routes_error.py add_error_routes.error_504 4 4 0 0%
core/routes_error.py add_error_routes.error_505 4 4 0 0%
core/routes_error.py add_error_routes.handle_bad_request 1 1 0 0%
core/routes_error.py add_error_routes.handle_unauthorized 1 1 0 0%
core/routes_error.py add_error_routes.handle_forbidden 1 1 0 0%
core/routes_error.py add_error_routes.handle_not_found 1 1 0 0%
core/routes_error.py add_error_routes.handle_method_not_allowed 1 1 0 0%
core/routes_error.py add_error_routes.handle_not_acceptable 1 1 0 0%
core/routes_error.py add_error_routes.handle_request_timeout 1 1 0 0%
core/routes_error.py add_error_routes.handle_conflict 1 1 0 0%
core/routes_error.py add_error_routes.handle_gone 1 1 0 0%
core/routes_error.py add_error_routes.handle_length_required 1 1 0 0%
core/routes_error.py add_error_routes.handle_precondition_failed 1 1 0 0%
core/routes_error.py add_error_routes.handle_request_entity_too_large 1 1 0 0%
core/routes_error.py add_error_routes.handle_request_uri_too_large 1 1 0 0%
core/routes_error.py add_error_routes.handle_unsupported_media_type 1 1 0 0%
core/routes_error.py add_error_routes.handle_requested_range_not_satisfiable 1 1 0 0%
core/routes_error.py add_error_routes.handle_expectation_failed 1 1 0 0%
core/routes_error.py add_error_routes.handle_im_a_teapot 1 1 0 0%
core/routes_error.py add_error_routes.handle_misdirected_request 1 1 0 0%
core/routes_error.py add_error_routes.handle_unprocessable_entity 1 1 0 0%
core/routes_error.py add_error_routes.handle_locked 1 1 0 0%
core/routes_error.py add_error_routes.handle_failed_dependency 1 1 0 0%
core/routes_error.py add_error_routes.handle_precondition_required 1 1 0 0%
core/routes_error.py add_error_routes.handle_too_many_requests 1 1 0 0%
core/routes_error.py add_error_routes.handle_request_header_fields_too_large 1 1 0 0%
core/routes_error.py add_error_routes.handle_unavailable_for_legal_reasons 1 1 0 0%
core/routes_error.py add_error_routes.handle_internal_server_error 1 1 0 0%
core/routes_error.py add_error_routes.handle_not_implemented 1 1 0 0%
core/routes_error.py add_error_routes.handle_bad_gateway 1 1 0 0%
core/routes_error.py add_error_routes.handle_service_unavailable 1 1 0 0%
core/routes_error.py add_error_routes.handle_gateway_timeout 1 1 0 0%
core/routes_error.py add_error_routes.handle_http_version_not_supported 1 1 0 0%
core/routes_error.py add_error_routes.handle_exception 4 4 0 0%
core/routes_error.py (no function) 4 0 0 100%
core/shared.py getenv 1 0 0 100%
core/shared.py (no function) 4 0 0 100%
course_modules/models.py Module.add_module 10 2 0 80%
course_modules/models.py Module.delete_module_by_id 19 7 0 63%
course_modules/models.py Module.delete_module_by_uuid 19 7 0 63%
course_modules/models.py Module.get_module_by_id 5 1 0 80%
course_modules/models.py Module.get_module_by_uuid 5 1 0 80%
course_modules/models.py Module.get_module_name_by_id 4 1 0 75%
course_modules/models.py Module.get_modules 11 0 0 100%
course_modules/models.py Module.get_modules_map 2 0 0 100%
course_modules/models.py Module.reset_cache 3 0 0 100%
course_modules/models.py Module.update_module_by_uuid 22 9 0 59%
course_modules/models.py Module.delete_all_modules 22 0 0 100%
course_modules/models.py Module.download_all_modules 8 0 0 100%
course_modules/models.py Module.upload_course_modules 24 5 0 79%
course_modules/models.py (no function) 22 0 0 100%
course_modules/routes_modules.py add_module_routes 24 0 0 100%
course_modules/routes_modules.py add_module_routes.add_course_module 4 0 0 100%
course_modules/routes_modules.py add_module_routes.search_modules 3 0 0 100%
course_modules/routes_modules.py add_module_routes.delete_module 2 0 0 100%
course_modules/routes_modules.py add_module_routes.update_module 11 5 0 55%
course_modules/routes_modules.py add_module_routes.upload_course_modules 8 3 0 62%
course_modules/routes_modules.py add_module_routes.download_course_modules_template 1 0 0 100%
course_modules/routes_modules.py add_module_routes.delete_all_course_modules 1 0 0 100%
course_modules/routes_modules.py add_module_routes.download_all_course_modules 1 0 0 100%
course_modules/routes_modules.py (no function) 6 0 0 100%
courses/models.py Course.reset_cache 5 0 0 100%
courses/models.py Course.add_course 8 1 0 88%
courses/models.py Course.delete_course_by_uuid 15 3 0 80%
courses/models.py Course.get_course_by_id 5 0 0 100%
courses/models.py Course.get_course_by_uuid 5 0 0 100%
courses/models.py Course.get_course_name_by_id 4 0 0 100%
courses/models.py Course.get_courses 10 1 0 90%
courses/models.py Course.get_courses_map 2 0 0 100%
courses/models.py Course.update_course 22 4 0 82%
courses/models.py Course.delete_all_courses 15 4 0 73%
courses/models.py Course.download_all_courses 14 0 0 100%
courses/models.py Course.upload_course_data 24 5 0 79%
courses/models.py (no function) 21 0 0 100%
courses/routes_courses.py add_course_routes 24 0 0 100%
courses/routes_courses.py add_course_routes.add_course 4 0 0 100%
courses/routes_courses.py add_course_routes.delete_course 2 0 0 100%
courses/routes_courses.py add_course_routes.search_course 3 0 0 100%
courses/routes_courses.py add_course_routes.update_course 6 0 0 100%
courses/routes_courses.py add_course_routes.upload_courses 8 8 0 0%
courses/routes_courses.py add_course_routes.download_courses_template 1 1 0 0%
courses/routes_courses.py add_course_routes.delete_all_courses 1 1 0 0%
courses/routes_courses.py add_course_routes.download_all_courses 1 1 0 0%
courses/routes_courses.py (no function) 6 0 0 100%
employers/models.py Employers.start_session 2 0 0 100%
employers/models.py Employers.register_employer 11 2 0 82%
employers/models.py Employers.get_company_name 5 1 0 80%
employers/models.py Employers.employer_login 8 0 0 100%
employers/models.py Employers.get_employers 3 0 0 100%
employers/models.py Employers.get_employer_by_id 5 1 0 80%
employers/models.py Employers.delete_employer_by_id 11 3 0 73%
employers/models.py Employers.update_employer 6 0 0 100%
employers/models.py Employers.rank_preferences 6 1 0 83%
employers/models.py Employers.get_company_email_by_id 5 1 0 80%
employers/models.py Employers.delete_all_employers 8 1 0 88%
employers/models.py Employers.download_all_employers 11 0 0 100%
employers/models.py Employers.upload_employers 30 7 0 77%
employers/models.py Employers.get_deadlines_for_employer_dashboard 8 5 0 38%
employers/models.py (no function) 21 0 0 100%
employers/routes_employers.py add_employer_routes 34 0 0 100%
employers/routes_employers.py add_employer_routes.employer_login 5 0 0 100%
employers/routes_employers.py add_employer_routes.employer_home 8 1 0 88%
employers/routes_employers.py add_employer_routes.employer_otp 8 1 0 88%
employers/routes_employers.py add_employer_routes.add_employer 4 0 0 100%
employers/routes_employers.py add_employer_routes.search_employers 2 0 0 100%
employers/routes_employers.py add_employer_routes.update_employer 11 0 0 100%
employers/routes_employers.py add_employer_routes.delete_employer 5 0 0 100%
employers/routes_employers.py add_employer_routes.employers_rank_students 19 5 0 74%
employers/routes_employers.py add_employer_routes.upload_employers 8 8 0 0%
employers/routes_employers.py add_employer_routes.delete_all_employers 1 1 0 0%
employers/routes_employers.py add_employer_routes.download_employers_template 1 1 0 0%
employers/routes_employers.py add_employer_routes.download_all_employers 1 1 0 0%
employers/routes_employers.py (no function) 12 0 0 100%
opportunities/models.py Opportunity.add_update_opportunity 10 1 0 90%
opportunities/models.py Opportunity.get_opportunities_for_search 11 1 0 91%
opportunities/models.py Opportunity.get_opportunities_by_title 13 3 0 77%
opportunities/models.py Opportunity.get_opportunities_by_company 17 3 0 82%
opportunities/models.py Opportunity.get_opportunity_by_company_id 3 0 0 100%
opportunities/models.py Opportunity.get_opportunity_by_id 5 0 0 100%
opportunities/models.py Opportunity.get_employer_by_id 4 0 0 100%
opportunities/models.py Opportunity.get_opportunities 2 0 0 100%
opportunities/models.py Opportunity.get_opportunities_by_duration 4 0 0 100%
opportunities/models.py Opportunity.delete_opportunity_by_id 13 1 0 92%
opportunities/models.py Opportunity.get_valid_students 7 0 0 100%
opportunities/models.py Opportunity.rank_preferences 6 0 0 100%
opportunities/models.py Opportunity.delete_all_opportunities 3 0 0 100%
opportunities/models.py Opportunity.delete_all_opportunities_employer 15 0 0 100%
opportunities/models.py Opportunity.delete_all_opportunities_admin 7 0 0 100%
opportunities/models.py Opportunity.download_opportunities 21 0 0 100%
opportunities/models.py Opportunity.upload_opportunities 63 5 0 92%
opportunities/models.py (no function) 25 0 0 100%
opportunities/routes_opportunities.py add_opportunities_routes 21 0 0 100%
opportunities/routes_opportunities.py add_opportunities_routes.search_opportunities 13 0 0 100%
opportunities/routes_opportunities.py add_opportunities_routes.employer_add_update_opportunity 42 7 0 83%
opportunities/routes_opportunities.py add_opportunities_routes.employer_delete_opportunity 7 0 0 100%
opportunities/routes_opportunities.py add_opportunities_routes.upload_opportunities 12 12 0 0%
opportunities/routes_opportunities.py add_opportunities_routes.download_opportunities 4 4 0 0%
opportunities/routes_opportunities.py add_opportunities_routes.download_opportunities_template 4 4 0 0%
opportunities/routes_opportunities.py add_opportunities_routes.delete_all_opportunities 4 4 0 0%
opportunities/routes_opportunities.py (no function) 9 0 0 100%
skills/models.py Skill.find_skill 6 1 0 83%
skills/models.py Skill.add_skill 5 0 0 100%
skills/models.py Skill.delete_skill 10 0 0 100%
skills/models.py Skill.get_skill_by_id 4 0 0 100%
skills/models.py Skill.get_skill_name_by_id 4 0 0 100%
skills/models.py Skill.get_skills 3 0 0 100%
skills/models.py Skill.get_skills_map 2 0 0 100%
skills/models.py Skill.attempt_add_skill 8 0 0 100%
skills/models.py Skill.get_list_attempted_skills 5 0 0 100%
skills/models.py Skill.get_attempted_skill 5 0 0 100%
skills/models.py Skill.approve_skill 18 0 0 100%
skills/models.py Skill.reject_skill 11 0 0 100%
skills/models.py Skill.update_attempt_skill 8 0 0 100%
skills/models.py Skill.update_skill 12 0 0 100%
skills/models.py Skill.download_all 13 0 0 100%
skills/models.py Skill.download_attempted 16 16 0 0%
skills/models.py Skill.upload_skills 22 5 0 77%
skills/models.py Skill.delete_all_skills 8 8 0 0%
skills/models.py Skill.delete_all_attempted_skill 8 3 0 62%
skills/models.py (no function) 26 0 0 100%
skills/routes_skills.py add_skills_routes 45 0 0 100%
skills/routes_skills.py add_skills_routes.attempt_add_skill_student 5 0 0 100%
skills/routes_skills.py add_skills_routes.add_skill 8 1 0 88%
skills/routes_skills.py add_skills_routes.list_skills 1 0 0 100%
skills/routes_skills.py add_skills_routes.delete_skill 4 0 0 100%
skills/routes_skills.py add_skills_routes.update_skill 12 0 0 100%
skills/routes_skills.py add_skills_routes.search_attempt_skills 2 0 0 100%
skills/routes_skills.py add_skills_routes.approve_skill 3 0 0 100%
skills/routes_skills.py add_skills_routes.reject_skill 2 0 0 100%
skills/routes_skills.py add_skills_routes.update_attempted_skill 12 0 0 100%
skills/routes_skills.py add_skills_routes.download_all_skills 1 1 0 0%
skills/routes_skills.py add_skills_routes.download_all_attempted_skills 1 1 0 0%
skills/routes_skills.py add_skills_routes.upload_skills 8 8 0 0%
skills/routes_skills.py add_skills_routes.download_skills_template 1 1 0 0%
skills/routes_skills.py add_skills_routes.delete_all_attempted_skills 1 1 0 0%
skills/routes_skills.py add_skills_routes.delete_all_skills 1 1 0 0%
skills/routes_skills.py (no function) 6 0 0 100%
students/models.py Student.add_student 9 1 0 89%
students/models.py Student.get_student_by_id 5 0 0 100%
students/models.py Student.get_student_by_uuid 5 0 0 100%
students/models.py Student.get_students 5 0 0 100%
students/models.py Student.get_students_map 5 0 0 100%
students/models.py Student.update_student_by_id 5 0 0 100%
students/models.py Student.update_student_by_uuid 5 0 0 100%
students/models.py Student.delete_student_by_id 11 0 0 100%
students/models.py Student.delete_students 3 0 0 100%
students/models.py Student.get_student_by_email 5 0 0 100%
students/models.py Student.import_from_xlsx 42 6 0 86%
students/models.py Student.student_login 7 0 0 100%
students/models.py Student.rank_preferences 6 0 0 100%
students/models.py Student.get_opportunities_by_student 18 2 0 89%
students/models.py Student.download_students 27 27 0 0%
students/models.py Student.delete_all_students 7 7 0 0%
students/models.py (no function) 24 0 0 100%
students/routes_student.py add_student_routes 36 0 0 100%
students/routes_student.py add_student_routes.register_student_attempt 31 8 0 74%
students/routes_student.py add_student_routes.upload_page 10 8 0 20%
students/routes_student.py add_student_routes.search_page 5 2 0 60%
students/routes_student.py add_student_routes.delete_student 1 0 0 100%
students/routes_student.py add_student_routes.login_student 7 1 0 86%
students/routes_student.py add_student_routes.student_otp 9 3 0 67%
students/routes_student.py add_student_routes.past_deadline 2 0 0 100%
students/routes_student.py add_student_routes.student_details 42 5 0 88%
students/routes_student.py add_student_routes.update_student 45 6 0 87%
students/routes_student.py add_student_routes.rank_preferences 23 2 0 91%
students/routes_student.py add_student_routes.student_update_successful 2 0 0 100%
students/routes_student.py add_student_routes.download_all_students 1 1 0 0%
students/routes_student.py add_student_routes.delete_all_students 1 1 0 0%
students/routes_student.py (no function) 12 0 0 100%
superuser/model.py Superuser.login 10 1 0 90%
superuser/model.py Superuser.configure_settings 7 0 0 100%
superuser/model.py (no function) 5 0 0 100%
superuser/routes_superuser.py add_superuser_routes 3 0 0 100%
superuser/routes_superuser.py add_superuser_routes.configure_settings 9 0 0 100%
superuser/routes_superuser.py (no function) 4 0 0 100%
tests/conftest.py flask_server 7 0 0 100%
tests/conftest.py chrome_browser 11 0 0 100%
tests/conftest.py (no function) 15 0 0 100%
tests/core_tests/test_config.py database 3 0 0 100%
tests/core_tests/test_config.py app 3 3 0 0%
tests/core_tests/test_config.py test_config_initialization 14 1 0 93%
tests/core_tests/test_config.py (no function) 15 0 0 100%
tests/core_tests/test_deadline_manager.py database 8 1 0 88%
tests/core_tests/test_deadline_manager.py deadline_manager 10 0 0 100%
tests/core_tests/test_deadline_manager.py app 3 0 0 100%
tests/core_tests/test_deadline_manager.py test_get_details_deadline 3 0 0 100%
tests/core_tests/test_deadline_manager.py test_get_details_deadline_default 6 0 0 100%
tests/core_tests/test_deadline_manager.py test_is_past_details_deadline 6 0 0 100%
tests/core_tests/test_deadline_manager.py test_get_student_ranking_deadline 3 0 0 100%
tests/core_tests/test_deadline_manager.py test_get_student_ranking_deadline_default 4 0 0 100%
tests/core_tests/test_deadline_manager.py test_is_past_student_ranking_deadline 6 0 0 100%
tests/core_tests/test_deadline_manager.py test_get_opportunities_ranking_deadline 4 0 0 100%
tests/core_tests/test_deadline_manager.py test_get_opportunities_ranking_deadline_default 4 0 0 100%
tests/core_tests/test_deadline_manager.py test_is_past_opportunities_ranking_deadline 6 0 0 100%
tests/core_tests/test_deadline_manager.py test_update_deadlines_invalid_format 5 0 0 100%
tests/core_tests/test_deadline_manager.py test_update_deadlines_conflicting_deadlines 4 0 0 100%
tests/core_tests/test_deadline_manager.py test_update_deadlines_success 13 0 0 100%
tests/core_tests/test_deadline_manager.py (no function) 29 0 0 100%
tests/core_tests/test_email_handler.py app 3 0 0 100%
tests/core_tests/test_email_handler.py test_generate_otp 4 0 0 100%
tests/core_tests/test_email_handler.py test_send_otp 3 0 0 100%
tests/core_tests/test_email_handler.py test_send_email 5 0 0 100%
tests/core_tests/test_email_handler.py (no function) 12 0 0 100%
tests/core_tests/test_handlers.py app 5 0 0 100%
tests/core_tests/test_handlers.py client 1 0 0 100%
tests/core_tests/test_handlers.py test_allowed_file 3 0 0 100%
tests/core_tests/test_handlers.py test_login_required_redirect 3 0 0 100%
tests/core_tests/test_handlers.py test_student_login_required_redirect 3 0 0 100%
tests/core_tests/test_handlers.py test_employers_login_required_redirect 3 0 0 100%
tests/core_tests/test_handlers.py test_admin_or_employers_required_redirect 3 0 0 100%
tests/core_tests/test_handlers.py test_get_user_type 12 0 0 100%
tests/core_tests/test_handlers.py test_index_route 2 0 0 100%
tests/core_tests/test_handlers.py test_get_session 19 0 0 100%
tests/core_tests/test_handlers.py test_privacy_policy 2 0 0 100%
tests/core_tests/test_handlers.py test_robots_txt 3 0 0 100%
tests/core_tests/test_handlers.py test_favicon 3 0 0 100%
tests/core_tests/test_handlers.py test_signout 7 0 0 100%
tests/core_tests/test_handlers.py test_404_page 2 0 0 100%
tests/core_tests/test_handlers.py test_500_page 2 0 0 100%
tests/core_tests/test_handlers.py (no function) 25 0 0 100%
tests/core_tests/test_mongodb_manager.py database 7 0 0 100%
tests/core_tests/test_mongodb_manager.py test_insert_and_get_by_id 6 0 0 100%
tests/core_tests/test_mongodb_manager.py test_update_one_by_id 6 0 0 100%
tests/core_tests/test_mongodb_manager.py test_delete_by_id 5 0 0 100%
tests/core_tests/test_mongodb_manager.py test_get_all 7 0 0 100%
tests/core_tests/test_mongodb_manager.py test_increment 6 0 0 100%
tests/core_tests/test_mongodb_manager.py test_get_by_email 6 0 0 100%
tests/core_tests/test_mongodb_manager.py test_connection_success 3 0 0 100%
tests/core_tests/test_mongodb_manager.py test_insert_duplicate_id 5 0 0 100%
tests/core_tests/test_mongodb_manager.py test_update_non_existent_record 2 0 0 100%
tests/core_tests/test_mongodb_manager.py test_delete_non_existent_record 2 0 0 100%
tests/core_tests/test_mongodb_manager.py test_get_all_empty 2 0 0 100%
tests/core_tests/test_mongodb_manager.py test_increment_non_existent_field 6 0 0 100%
tests/core_tests/test_mongodb_manager.py test_case_sensitivity_strict_search 5 0 0 100%
tests/core_tests/test_mongodb_manager.py test_large_data_insertion 4 0 0 100%
tests/core_tests/test_mongodb_manager.py test_text_search_on_non_indexed_field 5 0 0 100%
tests/core_tests/test_mongodb_manager.py test_get_all_by_field 17 0 0 100%
tests/core_tests/test_mongodb_manager.py test_is_table 4 0 0 100%
tests/core_tests/test_mongodb_manager.py test_get_all_by_two_fields 21 0 0 100%
tests/core_tests/test_mongodb_manager.py test_update_by_field 6 0 0 100%
tests/core_tests/test_mongodb_manager.py test_create_index 2 0 0 100%
tests/core_tests/test_mongodb_manager.py test_delete_one_by_field 5 0 0 100%
tests/core_tests/test_mongodb_manager.py test_get_all_by_in_list 17 0 0 100%
tests/core_tests/test_mongodb_manager.py test_invalid_connection_string 4 0 0 100%
tests/core_tests/test_mongodb_manager.py test_invalid_connection_string.mock_mongo_client 1 0 0 100%
tests/core_tests/test_mongodb_manager.py test_operation_failure 8 0 0 100%
tests/core_tests/test_mongodb_manager.py test_operation_failure.MockClient.MockAdmin.command 1 0 0 100%
tests/core_tests/test_mongodb_manager.py test_operation_failure.MockClient.__init__ 1 0 0 100%
tests/core_tests/test_mongodb_manager.py test_server_selection_timeout 8 0 0 100%
tests/core_tests/test_mongodb_manager.py test_server_selection_timeout.MockClient.MockAdmin.command 1 0 0 100%
tests/core_tests/test_mongodb_manager.py test_server_selection_timeout.MockClient.__init__ 1 0 0 100%
tests/core_tests/test_mongodb_manager.py test_default_database_if_empty 2 0 0 100%
tests/core_tests/test_mongodb_manager.py (no function) 38 0 0 100%
tests/frontend_tests/test_base.py database 3 0 0 100%
tests/frontend_tests/test_base.py test_base_page 2 0 0 100%
tests/frontend_tests/test_base.py test_student_login_page 2 0 0 100%
tests/frontend_tests/test_base.py placement_member 8 1 0 88%
tests/frontend_tests/test_base.py student_member 49 49 0 0%
tests/frontend_tests/test_base.py employer_member 8 8 0 0%
tests/frontend_tests/test_base.py test_placement_team_login 7 0 0 100%
tests/frontend_tests/test_base.py (no function) 24 0 0 100%
tests/model_tests/test_algorithm.py test_basic_matching_without_conflicts 6 0 0 100%
tests/model_tests/test_algorithm.py test_get_matches_function 7 0 0 100%
tests/model_tests/test_algorithm.py test_students_exceed_company_positions 6 0 0 100%
tests/model_tests/test_algorithm.py test_replacing_weaker_match 6 0 0 100%
tests/model_tests/test_algorithm.py test_no_positions_left_for_students 6 0 0 100%
tests/model_tests/test_algorithm.py test_matching_with_multiple_preferences 6 0 0 100%
tests/model_tests/test_algorithm.py test_student_reassigned_due_to_higher_priority 6 0 0 100%
tests/model_tests/test_algorithm.py test_unequal_positions_distribution 6 0 0 100%
tests/model_tests/test_algorithm.py test_student_prefers_multiple_companies 6 0 0 100%
tests/model_tests/test_algorithm.py test_confusing_preference_leading_to_correct_match 6 0 0 100%
tests/model_tests/test_algorithm.py test_multiple_unmapped_students 6 0 0 100%
tests/model_tests/test_algorithm.py test_larger_set_matching_scenario 6 0 0 100%
tests/model_tests/test_algorithm.py (no function) 16 0 0 100%
tests/model_tests/test_complex_algorithm.py test_complex_student_employer_preferences 6 0 0 100%
tests/model_tests/test_complex_algorithm.py test_complex_student_employer_preferences_v2 6 0 0 100%
tests/model_tests/test_complex_algorithm.py test_complex_student_employer_preferences_v3 6 0 0 100%
tests/model_tests/test_complex_algorithm.py test_complex_student_employer_preferences_v4 6 0 0 100%
tests/model_tests/test_complex_algorithm.py test_large_scale_matching_under_30_seconds 21 0 0 100%
tests/model_tests/test_complex_algorithm.py (no function) 11 0 0 100%
tests/model_tests/test_course_modules.py app 2 0 0 100%
tests/model_tests/test_course_modules.py database 8 1 0 88%
tests/model_tests/test_course_modules.py module_model 2 0 0 100%
tests/model_tests/test_course_modules.py sample_module 2 0 0 100%
tests/model_tests/test_course_modules.py test_add_module 7 0 0 100%
tests/model_tests/test_course_modules.py test_get_module_by_id 6 0 0 100%
tests/model_tests/test_course_modules.py test_get_module_name_by_id 5 0 0 100%
tests/model_tests/test_course_modules.py test_update_module_by_uuid 7 0 0 100%
tests/model_tests/test_course_modules.py test_delete_all_modules 24 2 0 92%
tests/model_tests/test_course_modules.py test_download_all_modules 6 0 0 100%
tests/model_tests/test_course_modules.py test_upload_course_modules 9 0 0 100%
tests/model_tests/test_course_modules.py test_delete_module_by_id 6 0 0 100%
tests/model_tests/test_course_modules.py test_delete_module_by_uuid 6 0 0 100%
tests/model_tests/test_course_modules.py test_get_module_by_uuid 6 0 0 100%
tests/model_tests/test_course_modules.py test_get_modules_map 6 0 0 100%
tests/model_tests/test_course_modules.py test_reset_cache 10 0 0 100%
tests/model_tests/test_course_modules.py (no function) 30 0 0 100%
tests/model_tests/test_courses.py app 2 0 0 100%
tests/model_tests/test_courses.py database 9 1 0 89%
tests/model_tests/test_courses.py course_model 2 0 0 100%
tests/model_tests/test_courses.py sample_course 2 0 0 100%
tests/model_tests/test_courses.py test_add_course 7 0 0 100%
tests/model_tests/test_courses.py test_add_existing_course 8 0 0 100%
tests/model_tests/test_courses.py test_delete_course 10 0 0 100%
tests/model_tests/test_courses.py test_delete_nonexistent_course 5 0 0 100%
tests/model_tests/test_courses.py test_get_course_by_id 8 0 0 100%
tests/model_tests/test_courses.py test_get_course_by_uuid 8 0 0 100%
tests/model_tests/test_courses.py test_get_course_name_by_id 7 0 0 100%
tests/model_tests/test_courses.py test_get_courses 7 0 0 100%
tests/model_tests/test_courses.py test_get_courses_map 7 0 0 100%
tests/model_tests/test_courses.py test_update_course 10 0 0 100%
tests/model_tests/test_courses.py test_reset_cache 7 0 0 100%
tests/model_tests/test_courses.py test_get_course_by_invalid_id 6 0 0 100%
tests/model_tests/test_courses.py test_get_course_by_invalid_uuid 6 0 0 100%
tests/model_tests/test_courses.py test_get_course_name_by_invalid_id 6 0 0 100%
tests/model_tests/test_courses.py test_update_course_not_updated 7 0 0 100%
tests/model_tests/test_courses.py test_update_course_students 16 0 0 100%
tests/model_tests/test_courses.py test_delete_all_courses 9 1 0 89%
tests/model_tests/test_courses.py test_download_all_courses 9 1 0 89%
tests/model_tests/test_courses.py test_upload_course_data 11 0 0 100%
tests/model_tests/test_courses.py test_update_course_duplicate_id 10 0 0 100%
tests/model_tests/test_courses.py test_delete_course_with_students 7 0 0 100%
tests/model_tests/test_courses.py (no function) 41 0 0 100%
tests/model_tests/test_employers.py app 2 0 0 100%
tests/model_tests/test_employers.py database 9 1 0 89%
tests/model_tests/test_employers.py employer_model 2 0 0 100%
tests/model_tests/test_employers.py sample_employer 2 0 0 100%
tests/model_tests/test_employers.py test_register_employer 6 0 0 100%
tests/model_tests/test_employers.py test_register_existing_email 6 0 0 100%
tests/model_tests/test_employers.py test_get_employer_by_id 6 0 0 100%
tests/model_tests/test_employers.py test_delete_employer 6 0 0 100%
tests/model_tests/test_employers.py test_download_all_employers 7 0 0 100%
tests/model_tests/test_employers.py test_upload_employers 9 0 0 100%
tests/model_tests/test_employers.py test_get_company_name 4 0 0 100%
tests/model_tests/test_employers.py test_employer_login 6 0 0 100%
tests/model_tests/test_employers.py test_employer_login_nonexistant 5 0 0 100%
tests/model_tests/test_employers.py test_get_employers 5 0 0 100%
tests/model_tests/test_employers.py test_update_employer 7 0 0 100%
tests/model_tests/test_employers.py test_rank_preferences 8 0 0 100%
tests/model_tests/test_employers.py test_get_company_email_by_id 4 0 0 100%
tests/model_tests/test_employers.py test_delete_all_employers 6 0 0 100%
tests/model_tests/test_employers.py (no function) 34 0 0 100%
tests/model_tests/test_opportunities.py app 3 0 0 100%
tests/model_tests/test_opportunities.py employer_model 2 0 0 100%
tests/model_tests/test_opportunities.py opportunity_model 2 0 0 100%
tests/model_tests/test_opportunities.py database 8 1 0 88%
tests/model_tests/test_opportunities.py dummy_data 23 0 0 100%
tests/model_tests/test_opportunities.py test_start_session 5 0 0 100%
tests/model_tests/test_opportunities.py test_add_update_opportunity_unauthorized 8 0 0 100%
tests/model_tests/test_opportunities.py test_rank_preferences_success 9 0 0 100%
tests/model_tests/test_opportunities.py test_rank_preferences_not_found 9 0 0 100%
tests/model_tests/test_opportunities.py test_search_opportunities_exception 4 0 0 100%
tests/model_tests/test_opportunities.py test_search_opportunities_by_company 12 0 0 100%
tests/model_tests/test_opportunities.py test_get_opportunities_by_title_no_title 3 0 0 100%
tests/model_tests/test_opportunities.py test_get_opportunities_by_title_exception 4 0 0 100%
tests/model_tests/test_opportunities.py test_get_opportunities_by_title 12 0 0 100%
tests/model_tests/test_opportunities.py test_get_opportunities_by_company_no_company 3 0 0 100%
tests/model_tests/test_opportunities.py test_get_opportunities_by_company_does_not_exist 3 0 0 100%
tests/model_tests/test_opportunities.py test_get_opportunities_by_company 12 0 0 100%
tests/model_tests/test_opportunities.py test_get_opportunities_by_company_id 8 0 0 100%
tests/model_tests/test_opportunities.py test_get_opportunity_by_id 16 1 0 94%
tests/model_tests/test_opportunities.py test_get_employer_by_id 10 0 0 100%
tests/model_tests/test_opportunities.py test_get_employer_by_id_no_employer 5 0 0 100%
tests/model_tests/test_opportunities.py test_get_opportunities 11 1 0 91%
tests/model_tests/test_opportunities.py test_get_opportunities_by_duration 9 1 0 89%
tests/model_tests/test_opportunities.py test_delete_opportunity_by_id 16 1 0 94%
tests/model_tests/test_opportunities.py test_delete_opportunity_by_id_no_opportunity 9 1 0 89%
tests/model_tests/test_opportunities.py test_get_valid_students 17 1 0 94%
tests/model_tests/test_opportunities.py test_rank_preferences 13 1 0 92%
tests/model_tests/test_opportunities.py test_rank_preferences_no_opportunity 9 1 0 89%
tests/model_tests/test_opportunities.py test_delete_all_opportunity_admin 17 1 0 94%
tests/model_tests/test_opportunities.py test_delete_all_opportunity_employer 21 1 0 95%
tests/model_tests/test_opportunities.py test_download_opportunities_admin 16 2 0 88%
tests/model_tests/test_opportunities.py test_download_opportunities_employer 18 2 0 89%
tests/model_tests/test_opportunities.py test_upload_opportunities 15 0 0 100%
tests/model_tests/test_opportunities.py test_upload_opportunities_employer 17 0 0 100%
tests/model_tests/test_opportunities.py test_upload_opportunities_wrong_spot_available 12 0 0 100%
tests/model_tests/test_opportunities.py test_upload_opportunities_wrong_duration 13 0 0 100%
tests/model_tests/test_opportunities.py test_upload_opportunities_no_employer 16 0 0 100%
tests/model_tests/test_opportunities.py test_upload_opportunities_failed_modules 17 0 0 100%
tests/model_tests/test_opportunities.py test_upload_opportunities_failed_courses 16 0 0 100%
tests/model_tests/test_opportunities.py test_upload_opportunities_wrong_title 13 0 0 100%
tests/model_tests/test_opportunities.py test_upload_opportunities_wrong_description 12 0 0 100%
tests/model_tests/test_opportunities.py test_upload_opportunities_wrong_spots 12 0 0 100%
tests/model_tests/test_opportunities.py (no function) 61 0 0 100%
tests/model_tests/test_skills.py app 2 0 0 100%
tests/model_tests/test_skills.py database 13 1 0 92%
tests/model_tests/test_skills.py skill_model 2 0 0 100%
tests/model_tests/test_skills.py sample_skill 2 0 0 100%
tests/model_tests/test_skills.py test_find_skill_by_id 9 0 0 100%
tests/model_tests/test_skills.py test_add_skill 8 0 0 100%
tests/model_tests/test_skills.py test_delete_skill 9 0 0 100%
tests/model_tests/test_skills.py test_get_skill_by_id 9 0 0 100%
tests/model_tests/test_skills.py test_get_skills 7 0 0 100%
tests/model_tests/test_skills.py test_update_skill 13 0 0 100%
tests/model_tests/test_skills.py test_attempt_add_skill 7 0 0 100%
tests/model_tests/test_skills.py test_approve_skill 13 0 0 100%
tests/model_tests/test_skills.py test_reject_skill 10 0 0 100%
tests/model_tests/test_skills.py test_update_skill_name_conflict 13 0 0 100%
tests/model_tests/test_skills.py test_update_invalid_skill 6 0 0 100%
tests/model_tests/test_skills.py test_find_skill_return_none 6 0 0 100%
tests/model_tests/test_skills.py test_add_existing_skill 9 0 0 100%
tests/model_tests/test_skills.py test_delete_skill_with_students 15 0 0 100%
tests/model_tests/test_skills.py test_delete_nonexistent_skill 5 0 0 100%
tests/model_tests/test_skills.py test_get_skill_by_id_returns_none 4 0 0 100%
tests/model_tests/test_skills.py test_get_skill_name_by_id 10 0 0 100%
tests/model_tests/test_skills.py test_get_skills_map 15 0 0 100%
tests/model_tests/test_skills.py test_attempt_add_existing_skill 10 0 0 100%
tests/model_tests/test_skills.py test_get_list_attempted_skills 18 1 0 94%
tests/model_tests/test_skills.py test_get_attempted_skill_success 9 0 0 100%
tests/model_tests/test_skills.py test_get_attempted_skill_failure 4 0 0 100%
tests/model_tests/test_skills.py test_approve_skill_updates_students 18 0 0 100%
tests/model_tests/test_skills.py test_approve_skill_empty_description 9 0 0 100%
tests/model_tests/test_skills.py test_approve_nonexistent_skill 5 0 0 100%
tests/model_tests/test_skills.py test_reject_skill_updates_students 15 0 0 100%
tests/model_tests/test_skills.py test_reject_nonexistent_skill 5 0 0 100%
tests/model_tests/test_skills.py test_update_attempt_skill 11 0 0 100%
tests/model_tests/test_skills.py test_update_attempt_skill_invalid_id 5 0 0 100%
tests/model_tests/test_skills.py test_delete_all_attempted_skills 6 0 0 100%
tests/model_tests/test_skills.py test_upload_skills 16 0 0 100%
tests/model_tests/test_skills.py test_download_all 7 0 0 100%
tests/model_tests/test_skills.py test_find_skill_returns_none 4 0 0 100%
tests/model_tests/test_skills.py test_get_list_attempted_skills_empty 4 0 0 100%
tests/model_tests/test_skills.py (no function) 52 0 0 100%
tests/model_tests/test_student.py app 2 0 0 100%
tests/model_tests/test_student.py client 2 2 0 0%
tests/model_tests/test_student.py database 13 2 0 85%
tests/model_tests/test_student.py test_add_student_success 11 0 0 100%
tests/model_tests/test_student.py test_add_student_no_id 10 0 0 100%
tests/model_tests/test_student.py test_add_student_duplicate 16 0 0 100%
tests/model_tests/test_student.py test_add_student_duplicate_override 13 0 0 100%
tests/model_tests/test_student.py test_get_student_by_id 7 0 0 100%
tests/model_tests/test_student.py test_get_student_by_id_not_found 3 0 0 100%
tests/model_tests/test_student.py test_get_all_students 6 0 0 100%
tests/model_tests/test_student.py test_get_all_students_empty 8 1 0 88%
tests/model_tests/test_student.py test_get_student_map 12 0 0 100%
tests/model_tests/test_student.py test_get_student_map_empty 5 0 0 100%
tests/model_tests/test_student.py test_get_student_by_uuid 7 0 0 100%
tests/model_tests/test_student.py test_get_student_by_uuid_not_found 5 0 0 100%
tests/model_tests/test_student.py test_update_student_by_id_success 13 0 0 100%
tests/model_tests/test_student.py test_update_student_by_id_not_found 12 0 0 100%
tests/model_tests/test_student.py test_update_student_by_uuid_success 14 0 0 100%
tests/model_tests/test_student.py test_update_student_by_uuid_not_found 12 0 0 100%
tests/model_tests/test_student.py test_delete_student_by_id 11 0 0 100%
tests/model_tests/test_student.py test_delete_student_by_id_opportunities 23 0 0 100%
tests/model_tests/test_student.py test_delete_student_by_id_not_found 9 0 0 100%
tests/model_tests/test_student.py test_delete_students 18 1 0 94%
tests/model_tests/test_student.py test_get_student_by_email 9 0 0 100%
tests/model_tests/test_student.py test_get_student_by_email_not_found 6 0 0 100%
tests/model_tests/test_student.py test_import_from_xlsx_valid 12 0 0 100%
tests/model_tests/test_student.py test_import_from_xlsx_invalid_email 11 0 0 100%
tests/model_tests/test_student.py test_import_from_xlsx_invalid_student_id 11 0 0 100%
tests/model_tests/test_student.py test_import_from_wrong_format 10 0 0 100%
tests/model_tests/test_student.py test_student_login 12 0 0 100%
tests/model_tests/test_student.py test_student_login_non_existant 9 0 0 100%
tests/model_tests/test_student.py test_rank_preferences 10 0 0 100%
tests/model_tests/test_student.py test_rank_preferences_invalid_student 8 0 0 100%
tests/model_tests/test_student.py test_get_opportunities_by_student 33 0 0 100%
tests/model_tests/test_student.py test_get_opportunities_by_student_invalid 8 0 0 100%
tests/model_tests/test_student.py (no function) 47 0 0 100%
tests/model_tests/test_superuser.py app 3 0 0 100%
tests/model_tests/test_superuser.py database 3 3 0 0%
tests/model_tests/test_superuser.py data_model 2 0 0 100%
tests/model_tests/test_superuser.py test_login_success 6 0 0 100%
tests/model_tests/test_superuser.py test_login_missing_credentials 6 0 0 100%
tests/model_tests/test_superuser.py test_login_invalid_credentials 6 0 0 100%
tests/model_tests/test_superuser.py test_configure_settings_success 10 0 0 100%
tests/model_tests/test_superuser.py test_configure_settings_failure 9 0 0 100%
tests/model_tests/test_superuser.py (no function) 20 0 0 100%
tests/model_tests/test_user.py app 3 0 0 100%
tests/model_tests/test_user.py user_model 2 0 0 100%
tests/model_tests/test_user.py database 6 0 0 100%
tests/model_tests/test_user.py test_start_session 8 0 0 100%
tests/model_tests/test_user.py test_register_success 11 0 0 100%
tests/model_tests/test_user.py test_register_email_in_use 10 0 0 100%
tests/model_tests/test_user.py test_register_failure 6 0 0 100%
tests/model_tests/test_user.py test_login_success 14 0 0 100%
tests/model_tests/test_user.py test_login_invalid_credentials 11 0 0 100%
tests/model_tests/test_user.py test_login_user_not_found 8 0 0 100%
tests/model_tests/test_user.py test_update_deadlines_success 18 0 0 100%
tests/model_tests/test_user.py test_update_deadlines_invalid_format 15 0 0 100%
tests/model_tests/test_user.py test_update_deadlines_details_later_than_student_ranking 15 0 0 100%
tests/model_tests/test_user.py test_update_deadlines_student_ranking_later_than_opportunities_ranking 15 0 0 100%
tests/model_tests/test_user.py test_send_match_email 20 0 0 100%
tests/model_tests/test_user.py test_delete_user_success 12 0 0 100%
tests/model_tests/test_user.py test_delete_user_not_found 7 0 0 100%
tests/model_tests/test_user.py test_get_user_by_uuid_success 11 0 0 100%
tests/model_tests/test_user.py test_get_user_by_uuid_not_found 5 0 0 100%
tests/model_tests/test_user.py test_get_users_without_passwords 18 1 0 94%
tests/model_tests/test_user.py test_update_user_success 16 0 0 100%
tests/model_tests/test_user.py test_update_user_email_in_use 15 0 0 100%
tests/model_tests/test_user.py test_update_user_not_found 8 0 0 100%
tests/model_tests/test_user.py test_change_password_success 13 0 0 100%
tests/model_tests/test_user.py test_change_password_mismatch 11 0 0 100%
tests/model_tests/test_user.py test_register_missing_name 9 0 0 100%
tests/model_tests/test_user.py (no function) 40 0 0 100%
tests/route_tests/test_course.py client 3 0 0 100%
tests/route_tests/test_course.py database 5 0 0 100%
tests/route_tests/test_course.py user_logged_in_client 8 0 0 100%
tests/route_tests/test_course.py test_add_course_get 2 0 0 100%
tests/route_tests/test_course.py test_add_course_post 7 0 0 100%
tests/route_tests/test_course.py test_delete_course 9 0 0 100%
tests/route_tests/test_course.py test_search_course 6 0 0 100%
tests/route_tests/test_course.py test_update_course_get 5 0 0 100%
tests/route_tests/test_course.py test_update_course_post 9 0 0 100%
tests/route_tests/test_course.py (no function) 23 0 0 100%
tests/route_tests/test_course_modules.py client 3 0 0 100%
tests/route_tests/test_course_modules.py database 8 1 0 88%
tests/route_tests/test_course_modules.py user_logged_in_client 8 0 0 100%
tests/route_tests/test_course_modules.py sample_module 2 0 0 100%
tests/route_tests/test_course_modules.py test_add_module 4 0 0 100%
tests/route_tests/test_course_modules.py test_search_modules 4 0 0 100%
tests/route_tests/test_course_modules.py test_delete_module 5 0 0 100%
tests/route_tests/test_course_modules.py test_update_module 7 0 0 100%
tests/route_tests/test_course_modules.py test_upload_invalid_file 6 0 0 100%
tests/route_tests/test_course_modules.py test_download_template 3 0 0 100%
tests/route_tests/test_course_modules.py test_delete_all_modules 13 2 0 85%
tests/route_tests/test_course_modules.py test_download_all_modules 4 0 0 100%
tests/route_tests/test_course_modules.py (no function) 27 0 0 100%
tests/route_tests/test_employer.py client 3 0 0 100%
tests/route_tests/test_employer.py database 8 0 0 100%
tests/route_tests/test_employer.py employer_logged_in_client 15 0 0 100%
tests/route_tests/test_employer.py test_employer_otp_no_login 3 0 0 100%
tests/route_tests/test_employer.py test_employer_otp_no_otp 5 0 0 100%
tests/route_tests/test_employer.py test_employer_login_page 3 0 0 100%
tests/route_tests/test_employer.py test_employer_home_page 3 0 0 100%
tests/route_tests/test_employer.py test_search_opportunities_page 3 0 0 100%
tests/route_tests/test_employer.py test_employer_delete_opportunity_page_no_opportunity_id 3 0 0 100%
tests/route_tests/test_employer.py test_employers_rank_students_no_opportunity_id 5 0 0 100%
tests/route_tests/test_employer.py test_employers_rank_students_past_opportunities_deadline 7 0 0 100%
tests/route_tests/test_employer.py test_employers_rank_students_wrong_opportunity_id 8 0 0 100%
tests/route_tests/test_employer.py test_employers_rank_students_past_student_ranking_deadline 10 0 0 100%
tests/route_tests/test_employer.py test_employer_update_opportunity 5 0 0 100%
tests/route_tests/test_employer.py test_employer_add_opportunity_post 9 0 0 100%
tests/route_tests/test_employer.py test_employer_add_opportunity_post_different_employer_id 11 0 0 100%
tests/route_tests/test_employer.py test_get_opportunity_page_no_id 4 0 0 100%
tests/route_tests/test_employer.py test_get_opportunity_page_with_id 6 0 0 100%
tests/route_tests/test_employer.py test_employers_rank_students_success 10 0 0 100%
tests/route_tests/test_employer.py (no function) 34 0 0 100%
tests/route_tests/test_skills.py client 3 0 0 100%
tests/route_tests/test_skills.py database 11 1 0 91%
tests/route_tests/test_skills.py user_logged_in_client 9 0 0 100%
tests/route_tests/test_skills.py student_logged_in_client 13 0 0 100%
tests/route_tests/test_skills.py sample_skill 2 0 0 100%
tests/route_tests/test_skills.py test_add_skill 6 0 0 100%
tests/route_tests/test_skills.py test_delete_skill 9 0 0 100%
tests/route_tests/test_skills.py test_delete_skill_nonexistent 4 0 0 100%
tests/route_tests/test_skills.py test_add_skill_missing_name_field 6 0 0 100%
tests/route_tests/test_skills.py test_add_skill_missing_description_field 6 0 0 100%
tests/route_tests/test_skills.py test_add_skill_missing_fields 6 0 0 100%
tests/route_tests/test_skills.py test_list_skills 6 0 0 100%
tests/route_tests/test_skills.py test_add_skill_duplicate 9 0 0 100%
tests/route_tests/test_skills.py test_update_skill_nonexistent 4 0 0 100%
tests/route_tests/test_skills.py test_list_skills_empty 4 0 0 100%
tests/route_tests/test_skills.py test_approve_skill_nonexistent 4 0 0 100%
tests/route_tests/test_skills.py test_reject_skill_nonexistent 4 0 0 100%
tests/route_tests/test_skills.py test_update_skill 10 0 0 100%
tests/route_tests/test_skills.py test_already_has_description_approve_skill 12 0 0 100%
tests/route_tests/test_skills.py test_already_has_no_description_approve_skill 12 0 0 100%
tests/route_tests/test_skills.py test_reject_skill 10 0 0 100%
tests/route_tests/test_skills.py test_update_attempted_skill_get 8 0 0 100%
tests/route_tests/test_skills.py test_update_attempted_skill_post 15 0 0 100%
tests/route_tests/test_skills.py test_update_attempted_skill_post_missing_fields 4 0 0 100%
tests/route_tests/test_skills.py test_update_attempted_skill_get_nonexistent 3 0 0 100%
tests/route_tests/test_skills.py test_search_attempt_skills_empty 7 1 0 86%
tests/route_tests/test_skills.py test_search_attempt_skills 8 0 0 100%
tests/route_tests/test_skills.py test_update_skill_get 9 0 0 100%
tests/route_tests/test_skills.py test_update_skill_post_missing_fields 4 0 0 100%
tests/route_tests/test_skills.py test_update_skill_get_nonexistent 3 0 0 100%
tests/route_tests/test_skills.py test_attempt_add_skill_student 7 0 0 100%
tests/route_tests/test_skills.py test_attempt_add_skill_student_missing_fields 4 0 0 100%
tests/route_tests/test_skills.py test_get_skill_page 3 0 0 100%
tests/route_tests/test_skills.py test_get_skills_page 3 0 0 100%
tests/route_tests/test_skills.py test_delete_skill_no_skill_id 4 0 0 100%
tests/route_tests/test_skills.py test_one_empty_field_add_skill 7 0 0 100%
tests/route_tests/test_skills.py test_empty_field_add_skill 4 0 0 100%
tests/route_tests/test_skills.py (no function) 54 0 0 100%
tests/route_tests/test_students.py client 3 0 0 100%
tests/route_tests/test_students.py database 10 0 0 100%
tests/route_tests/test_students.py student_logged_in_client 12 0 0 100%
tests/route_tests/test_students.py student_logged_in_client_after_details 30 0 0 100%
tests/route_tests/test_students.py student_logged_in_client_after_preferences 40 0 0 100%
tests/route_tests/test_students.py test_student_update_successful 3 0 0 100%
tests/route_tests/test_students.py test_past_deadline 3 0 0 100%
tests/route_tests/test_students.py test_student_details_wrong_student_redirect 3 0 0 100%
tests/route_tests/test_students.py test_student_details_deadline_redirects 9 0 0 100%
tests/route_tests/test_students.py test_student_details_update_post 4 0 0 100%
tests/route_tests/test_students.py test_student_details_update_get 4 0 0 100%
tests/route_tests/test_students.py test_rank_preference_different_student_id 3 0 0 100%
tests/route_tests/test_students.py test_rank_preferences_deadline_redirects 4 0 0 100%
tests/route_tests/test_students.py test_rank_preferences_details_deadline_redirect 4 0 0 100%
tests/route_tests/test_students.py test_rank_preferences_update_post 6 0 0 100%
tests/route_tests/test_students.py test_rank_preferences_update_post_one_ranking 7 0 0 100%
tests/route_tests/test_students.py test_rank_preferences_update_get 4 0 0 100%
tests/route_tests/test_students.py (no function) 34 0 0 100%
tests/route_tests/test_superuser.py client 3 0 0 100%
tests/route_tests/test_superuser.py database 3 0 0 100%
tests/route_tests/test_superuser.py superuser_logged_in_client 6 0 0 100%
tests/route_tests/test_superuser.py test_login 4 0 0 100%
tests/route_tests/test_superuser.py test_configure_settings 9 0 0 100%
tests/route_tests/test_superuser.py test_get_config_page 2 0 0 100%
tests/route_tests/test_superuser.py test_configure_settings_invalid_input 3 0 0 100%
tests/route_tests/test_superuser.py (no function) 19 0 0 100%
tests/route_tests/test_user.py client 3 0 0 100%
tests/route_tests/test_user.py database 8 0 0 100%
tests/route_tests/test_user.py user_logged_in_client 8 0 0 100%
tests/route_tests/test_user.py superuser_logged_in_client 6 0 0 100%
tests/route_tests/test_user.py test_upload_student_page 3 0 0 100%
tests/route_tests/test_user.py test_add_employer_page 3 0 0 100%
tests/route_tests/test_user.py test_change_deadline_page 3 0 0 100%
tests/route_tests/test_user.py test_search_student_page 3 0 0 100%
tests/route_tests/test_user.py test_add_skill_page 3 0 0 100%
tests/route_tests/test_user.py test_add_course_module_page 3 0 0 100%
tests/route_tests/test_user.py test_add_course_page 3 0 0 100%
tests/route_tests/test_user.py test_search_employer_page 3 0 0 100%
tests/route_tests/test_user.py test_matching_page 3 0 0 100%
tests/route_tests/test_user.py test_problem_page 3 0 0 100%
tests/route_tests/test_user.py test_search_opportunity_page 3 0 0 100%
tests/route_tests/test_user.py test_register_page 3 0 0 100%
tests/route_tests/test_user.py test_register_user 6 0 0 100%
tests/route_tests/test_user.py test_register_user_password_mismatch 6 0 0 100%
tests/route_tests/test_user.py test_email_already_in_use 7 0 0 100%
tests/route_tests/test_user.py test_deadline_change 13 1 0 92%
tests/route_tests/test_user.py test_update_user 13 0 0 100%
tests/route_tests/test_user.py test_update_user_not_found 4 0 0 100%
tests/route_tests/test_user.py test_update_user_get_request 10 0 0 100%
tests/route_tests/test_user.py test_login_user 8 0 0 100%
tests/route_tests/test_user.py test_login_user_invalid_password 8 0 0 100%
tests/route_tests/test_user.py test_login_user_missing_fields 9 0 0 100%
tests/route_tests/test_user.py test_login_superuser 3 0 0 100%
tests/route_tests/test_user.py test_login_already_login 3 0 0 100%
tests/route_tests/test_user.py test_get_login_page 3 0 0 100%
tests/route_tests/test_user.py test_delete_user 8 0 0 100%
tests/route_tests/test_user.py test_change_password 10 0 0 100%
tests/route_tests/test_user.py test_change_password_mismatch 8 0 0 100%
tests/route_tests/test_user.py test_get_change_password_page 8 0 0 100%
tests/route_tests/test_user.py test_send_match_email 25 2 0 92%
tests/route_tests/test_user.py test_user_home 3 0 0 100%
tests/route_tests/test_user.py test_search_users_page 3 0 0 100%
tests/route_tests/test_user.py test_delete_opportunity 5 0 0 100%
tests/route_tests/test_user.py test_add_employer_post 6 0 0 100%
tests/route_tests/test_user.py test_update_employer_post 7 0 0 100%
tests/route_tests/test_user.py test_update_employer_post_wrong_id 8 0 0 100%
tests/route_tests/test_user.py test_update_employer_get_wrong_id 3 0 0 100%
tests/route_tests/test_user.py test_update_employer_get_method 5 0 0 100%
tests/route_tests/test_user.py test_delete_employer_no_id 4 0 0 100%
tests/route_tests/test_user.py test_delete_employer 8 0 0 100%
tests/route_tests/test_user.py test_employer_add_opportunity_post 9 0 0 100%
tests/route_tests/test_user.py test_delete_student 8 0 0 100%
tests/route_tests/test_user.py test_register_student 6 0 0 100%
tests/route_tests/test_user.py test_update_student_post_no_uuid 8 0 0 100%
tests/route_tests/test_user.py test_update_student_post_with_uuid 11 0 0 100%
tests/route_tests/test_user.py test_update_student_get_method 6 0 0 100%
tests/route_tests/test_user.py (no function) 66 0 0 100%
tests/test_conf.py client 3 0 0 100%
tests/test_conf.py database 3 0 0 100%
tests/test_conf.py user_logged_in_client 8 0 0 100%
tests/test_conf.py test_base 3 0 0 100%
tests/test_conf.py test_user_login_page 3 0 0 100%
tests/test_conf.py test_student_login_page 3 0 0 100%
tests/test_conf.py test_employers_login_page 3 0 0 100%
tests/test_conf.py test_login 3 0 0 100%
tests/test_conf.py test_signout 4 0 0 100%
tests/test_conf.py (no function) 21 0 0 100%
user/models.py User.start_session 4 0 0 100%
user/models.py User.register 11 1 0 91%
user/models.py User.login 7 0 0 100%
user/models.py User.change_password 5 0 0 100%
user/models.py User.change_deadline 5 0 0 100%
user/models.py User.send_match_email 21 4 0 81%
user/models.py User.send_all_match_email 49 49 0 0%
user/models.py User.delete_user_by_uuid 6 0 0 100%
user/models.py User.get_user_by_uuid 5 0 0 100%
user/models.py User.get_users_without_passwords 5 0 0 100%
user/models.py User.update_user 12 1 0 92%
user/models.py User.get_nearest_deadline_for_dashboard 25 15 0 40%
user/models.py (no function) 24 0 0 100%
user/routes_user.py add_user_routes 35 0 0 100%
user/routes_user.py add_user_routes.register_user 8 0 0 100%
user/routes_user.py add_user_routes.update_user 10 1 0 90%
user/routes_user.py add_user_routes.login 13 0 0 100%
user/routes_user.py add_user_routes.delete_user 2 0 0 100%
user/routes_user.py add_user_routes.change_password 8 0 0 100%
user/routes_user.py add_user_routes.deadline 7 0 0 100%
user/routes_user.py add_user_routes.problems 18 8 0 56%
user/routes_user.py add_user_routes.send_match_email 6 1 0 83%
user/routes_user.py add_user_routes.send_all_match_email 9 9 0 0%
user/routes_user.py add_user_routes.matching 39 36 0 8%
user/routes_user.py add_user_routes.user_home 12 5 0 58%
user/routes_user.py add_user_routes.search_users 2 0 0 100%
user/routes_user.py (no function) 13 0 0 100%
Total   7352 796 0 89%

No items found using the specified filter.