src/__init__.py |
(no function) |
2 |
0 |
0 |
100% |
src/accounts/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/accounts/admin.py |
(no function) |
17 |
0 |
0 |
100% |
src/accounts/apps.py |
AccountsConfig.ready |
1 |
0 |
0 |
100% |
src/accounts/apps.py |
(no function) |
5 |
0 |
0 |
100% |
src/accounts/authentication.py |
CustomAuthBackendBackend.authenticate |
7 |
0 |
0 |
100% |
src/accounts/authentication.py |
(no function) |
6 |
0 |
0 |
100% |
src/accounts/constants.py |
(no function) |
38 |
0 |
0 |
100% |
src/accounts/forms.py |
(no function) |
10 |
0 |
0 |
100% |
src/accounts/management/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/accounts/managers/__init__.py |
(no function) |
1 |
0 |
0 |
100% |
src/accounts/managers/user_credential.py |
UserCredentialManager._create_user_object |
6 |
1 |
0 |
83% |
src/accounts/managers/user_credential.py |
UserCredentialManager._create_user |
3 |
0 |
0 |
100% |
src/accounts/managers/user_credential.py |
UserCredentialManager._acreate_user |
3 |
3 |
0 |
0% |
src/accounts/managers/user_credential.py |
UserCredentialManager.create_user |
3 |
0 |
0 |
100% |
src/accounts/managers/user_credential.py |
UserCredentialManager.acreate_user |
3 |
3 |
0 |
0% |
src/accounts/managers/user_credential.py |
UserCredentialManager.create_superuser |
7 |
7 |
0 |
0% |
src/accounts/managers/user_credential.py |
UserCredentialManager.acreate_superuser |
7 |
7 |
0 |
0% |
src/accounts/managers/user_credential.py |
UserCredentialManager.with_perm |
11 |
11 |
0 |
0% |
src/accounts/managers/user_credential.py |
(no function) |
17 |
0 |
0 |
100% |
src/accounts/migrations/0001_initial.py |
(no function) |
11 |
0 |
0 |
100% |
src/accounts/migrations/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/accounts/models/__init__.py |
(no function) |
3 |
0 |
0 |
100% |
src/accounts/models/user_credential.py |
UserCredential.__str__ |
1 |
1 |
0 |
0% |
src/accounts/models/user_credential.py |
(no function) |
16 |
0 |
0 |
100% |
src/accounts/models/user_photo.py |
(no function) |
9 |
0 |
0 |
100% |
src/accounts/models/user_profile.py |
(no function) |
16 |
0 |
0 |
100% |
src/accounts/serializers/__init__.py |
(no function) |
3 |
0 |
0 |
100% |
src/accounts/serializers/user_credential.py |
UserRegisterSerializer.validate_password |
2 |
2 |
0 |
0% |
src/accounts/serializers/user_credential.py |
UserRegisterSerializer.validate_username |
3 |
3 |
0 |
0% |
src/accounts/serializers/user_credential.py |
UserRegisterSerializer.validate_agreed_to_emails |
3 |
3 |
0 |
0% |
src/accounts/serializers/user_credential.py |
UserRegisterSerializer.create |
2 |
2 |
0 |
0% |
src/accounts/serializers/user_credential.py |
UserLoginRequestSerializer.validate_email_or_username |
3 |
0 |
0 |
100% |
src/accounts/serializers/user_credential.py |
UserPasswordChangeSerializer.validate_current_password |
4 |
4 |
0 |
0% |
src/accounts/serializers/user_credential.py |
UserPasswordChangeSerializer.validate_new_password |
2 |
2 |
0 |
0% |
src/accounts/serializers/user_credential.py |
UserPasswordChangeSerializer.validate |
3 |
3 |
0 |
0% |
src/accounts/serializers/user_credential.py |
UserPasswordChangeSerializer.save |
4 |
4 |
0 |
0% |
src/accounts/serializers/user_credential.py |
UserPasswordResetRequestSerializer.save |
11 |
11 |
0 |
0% |
src/accounts/serializers/user_credential.py |
UserPasswordResetConfirmSerializer.validate |
19 |
6 |
0 |
68% |
src/accounts/serializers/user_credential.py |
UserPasswordResetConfirmSerializer.save |
7 |
0 |
0 |
100% |
src/accounts/serializers/user_credential.py |
(no function) |
53 |
0 |
0 |
100% |
src/accounts/serializers/user_photo.py |
UserPhotoSerializer.get_photo_url |
4 |
4 |
0 |
0% |
src/accounts/serializers/user_photo.py |
(no function) |
11 |
0 |
0 |
100% |
src/accounts/serializers/user_profile.py |
UserProfileSerializer.update |
6 |
6 |
0 |
0% |
src/accounts/serializers/user_profile.py |
(no function) |
7 |
0 |
0 |
100% |
src/accounts/signals.py |
create_related_user_models |
6 |
0 |
0 |
100% |
src/accounts/signals.py |
(no function) |
12 |
0 |
0 |
100% |
src/accounts/urls.py |
(no function) |
4 |
0 |
0 |
100% |
src/accounts/validators/models.py |
OnlyDigitsValidator.__init__ |
1 |
0 |
0 |
100% |
src/accounts/validators/models.py |
OnlyDigitsValidator.message |
1 |
1 |
0 |
0% |
src/accounts/validators/models.py |
OnlyDigitsValidator.message |
3 |
1 |
0 |
67% |
src/accounts/validators/models.py |
OnlyDigitsValidator.__call__ |
2 |
2 |
0 |
0% |
src/accounts/validators/models.py |
NameValidator.__init__ |
1 |
0 |
0 |
100% |
src/accounts/validators/models.py |
NameValidator.message |
1 |
1 |
0 |
0% |
src/accounts/validators/models.py |
NameValidator.message |
3 |
1 |
0 |
67% |
src/accounts/validators/models.py |
NameValidator.__call__ |
4 |
4 |
0 |
0% |
src/accounts/validators/models.py |
UsernameValidator.__init__ |
1 |
0 |
0 |
100% |
src/accounts/validators/models.py |
UsernameValidator.message |
1 |
1 |
0 |
0% |
src/accounts/validators/models.py |
UsernameValidator.message |
3 |
1 |
0 |
67% |
src/accounts/validators/models.py |
UsernameValidator.__call__ |
2 |
2 |
0 |
0% |
src/accounts/validators/models.py |
EmailOrUsernameValidator.__init__ |
1 |
0 |
0 |
100% |
src/accounts/validators/models.py |
EmailOrUsernameValidator.message |
1 |
1 |
0 |
0% |
src/accounts/validators/models.py |
EmailOrUsernameValidator.message |
3 |
1 |
0 |
67% |
src/accounts/validators/models.py |
EmailOrUsernameValidator.__call__ |
10 |
1 |
0 |
90% |
src/accounts/validators/models.py |
FileSizeValidator.__init__ |
2 |
0 |
0 |
100% |
src/accounts/validators/models.py |
FileSizeValidator.message |
1 |
0 |
0 |
100% |
src/accounts/validators/models.py |
FileSizeValidator.message |
3 |
0 |
0 |
100% |
src/accounts/validators/models.py |
FileSizeValidator.__call__ |
2 |
0 |
0 |
100% |
src/accounts/validators/models.py |
(no function) |
49 |
0 |
0 |
100% |
src/accounts/validators/password.py |
DigitRequiredValidator.validate |
2 |
1 |
0 |
50% |
src/accounts/validators/password.py |
DigitRequiredValidator.get_error_message |
1 |
1 |
0 |
0% |
src/accounts/validators/password.py |
DigitRequiredValidator.get_help_text |
1 |
1 |
0 |
0% |
src/accounts/validators/password.py |
UpperCaseLetterRequiredValidator.validate |
2 |
1 |
0 |
50% |
src/accounts/validators/password.py |
UpperCaseLetterRequiredValidator.get_error_message |
1 |
1 |
0 |
0% |
src/accounts/validators/password.py |
UpperCaseLetterRequiredValidator.get_help_text |
1 |
1 |
0 |
0% |
src/accounts/validators/password.py |
LowerCaseLetterRequiredValidator.validate |
2 |
1 |
0 |
50% |
src/accounts/validators/password.py |
LowerCaseLetterRequiredValidator.get_error_message |
1 |
1 |
0 |
0% |
src/accounts/validators/password.py |
LowerCaseLetterRequiredValidator.get_help_text |
1 |
1 |
0 |
0% |
src/accounts/validators/password.py |
NoWhiteSpacesRequiredValidator.validate |
2 |
1 |
0 |
50% |
src/accounts/validators/password.py |
NoWhiteSpacesRequiredValidator.get_error_message |
1 |
1 |
0 |
0% |
src/accounts/validators/password.py |
NoWhiteSpacesRequiredValidator.get_help_text |
1 |
1 |
0 |
0% |
src/accounts/validators/password.py |
SpecialCharRequiredValidator.validate |
3 |
1 |
0 |
67% |
src/accounts/validators/password.py |
SpecialCharRequiredValidator.get_error_message |
1 |
1 |
0 |
0% |
src/accounts/validators/password.py |
SpecialCharRequiredValidator.get_help_text |
1 |
1 |
0 |
0% |
src/accounts/validators/password.py |
(no function) |
23 |
0 |
0 |
100% |
src/accounts/views/__init__.py |
(no function) |
3 |
0 |
0 |
100% |
src/accounts/views/user_credential.py |
UserRegisterView.create |
5 |
5 |
0 |
0% |
src/accounts/views/user_credential.py |
UserLoginView.post |
13 |
2 |
0 |
85% |
src/accounts/views/user_credential.py |
UserLogoutView.post |
7 |
7 |
0 |
0% |
src/accounts/views/user_credential.py |
UserPasswordChangeView.patch |
5 |
5 |
0 |
0% |
src/accounts/views/user_credential.py |
UserDeleteView.get_object |
1 |
1 |
0 |
0% |
src/accounts/views/user_credential.py |
UserPasswordResetRequestView.post |
5 |
5 |
0 |
0% |
src/accounts/views/user_credential.py |
UserPasswordResetConfirmView.post |
5 |
5 |
0 |
0% |
src/accounts/views/user_credential.py |
(no function) |
38 |
0 |
0 |
100% |
src/accounts/views/user_photo.py |
UserPhotoView.get_object |
2 |
2 |
0 |
0% |
src/accounts/views/user_photo.py |
(no function) |
8 |
0 |
0 |
100% |
src/accounts/views/user_profile.py |
UserProfileView.get_object |
2 |
2 |
0 |
0% |
src/accounts/views/user_profile.py |
(no function) |
6 |
0 |
0 |
100% |
src/asgi.py |
(no function) |
4 |
4 |
0 |
0% |
src/celery.py |
(no function) |
8 |
0 |
0 |
100% |
src/chatbot/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/chatbot/adapters.py |
LLMAdapter.__new__ |
5 |
5 |
0 |
0% |
src/chatbot/adapters.py |
LLMAdapter.get_llm |
1 |
1 |
0 |
0% |
src/chatbot/adapters.py |
LLMAdapter.get_streaming_llm |
1 |
1 |
0 |
0% |
src/chatbot/adapters.py |
LLMAdapter._initialize_llm |
1 |
1 |
0 |
0% |
src/chatbot/adapters.py |
LLMAdapter._initialize_streaming_llm |
1 |
1 |
0 |
0% |
src/chatbot/adapters.py |
MemoryAdapter.__new__ |
4 |
4 |
0 |
0% |
src/chatbot/adapters.py |
MemoryAdapter._initialize |
5 |
5 |
0 |
0% |
src/chatbot/adapters.py |
MemoryAdapter.get_memory |
1 |
1 |
0 |
0% |
src/chatbot/adapters.py |
MemoryAdapter.get_app |
1 |
1 |
0 |
0% |
src/chatbot/adapters.py |
MemoryAdapter._call_model |
3 |
3 |
0 |
0% |
src/chatbot/adapters.py |
VectorStoreAdapter.__new__ |
4 |
4 |
0 |
0% |
src/chatbot/adapters.py |
VectorStoreAdapter.get_vectorstore |
1 |
1 |
0 |
0% |
src/chatbot/adapters.py |
VectorStoreAdapter._initialize |
14 |
14 |
0 |
0% |
src/chatbot/adapters.py |
(no function) |
37 |
0 |
0 |
100% |
src/chatbot/apps.py |
(no function) |
4 |
0 |
0 |
100% |
src/chatbot/config.py |
(no function) |
11 |
0 |
0 |
100% |
src/chatbot/constants.py |
(no function) |
1 |
0 |
0 |
100% |
src/chatbot/factories.py |
ChatbotServiceFactory.create |
1 |
1 |
0 |
0% |
src/chatbot/factories.py |
(no function) |
5 |
0 |
0 |
100% |
src/chatbot/handlers.py |
(no function) |
14 |
0 |
0 |
100% |
src/chatbot/migrations/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/chatbot/mixins.py |
GeneralInfoMixin._build_general_info_chain |
1 |
1 |
0 |
0% |
src/chatbot/mixins.py |
JewelryConsultationMixin._build_jewelry_consultation_chain |
1 |
1 |
0 |
0% |
src/chatbot/mixins.py |
JewelryConsultationMixin._build_preference_extraction_chain |
2 |
2 |
0 |
0% |
src/chatbot/mixins.py |
JewelryConsultationMixin._build_discovery_or_recommend_chain |
1 |
1 |
0 |
0% |
src/chatbot/mixins.py |
JewelryConsultationMixin._all_preferences_collected |
1 |
1 |
0 |
0% |
src/chatbot/mixins.py |
JewelryConsultationMixin._build_recommend_product_chain |
1 |
1 |
0 |
0% |
src/chatbot/mixins.py |
JewelryConsultationMixin._build_continue_discovery_chain |
1 |
1 |
0 |
0% |
src/chatbot/mixins.py |
JewelryConsultationMixin._build_available_options_navigator_chain |
1 |
1 |
0 |
0% |
src/chatbot/mixins.py |
JewelryConsultationMixin._extract_preferences |
2 |
2 |
0 |
0% |
src/chatbot/mixins.py |
JewelryConsultationMixin._extract_safe_preferences |
2 |
2 |
0 |
0% |
src/chatbot/mixins.py |
JewelryConsultationMixin._extract_individual_products |
1 |
1 |
0 |
0% |
src/chatbot/mixins.py |
JewelryConsultationMixin._check_products_individually |
19 |
19 |
0 |
0% |
src/chatbot/mixins.py |
(no function) |
21 |
0 |
0 |
100% |
src/chatbot/models.py |
(no function) |
48 |
0 |
0 |
100% |
src/chatbot/prompts/base.py |
(no function) |
10 |
0 |
0 |
100% |
src/chatbot/prompts/customer_intent_determiner.py |
(no function) |
3 |
0 |
0 |
100% |
src/chatbot/prompts/general/company_information_handler.py |
(no function) |
3 |
0 |
0 |
100% |
src/chatbot/prompts/general/objection_handler.py |
(no function) |
3 |
0 |
0 |
100% |
src/chatbot/prompts/general/off_topic_handler.py |
(no function) |
3 |
0 |
0 |
100% |
src/chatbot/prompts/general/sizing_help_handler.py |
(no function) |
3 |
0 |
0 |
100% |
src/chatbot/prompts/jewelry_consultation/available_options_navigator.py |
(no function) |
3 |
0 |
0 |
100% |
src/chatbot/prompts/jewelry_consultation/discoverer.py |
(no function) |
3 |
0 |
0 |
100% |
src/chatbot/prompts/jewelry_consultation/inventory_validator.py |
(no function) |
3 |
0 |
0 |
100% |
src/chatbot/prompts/jewelry_consultation/preferences_builder.py |
(no function) |
3 |
0 |
0 |
100% |
src/chatbot/prompts/jewelry_consultation/query_for_search_optimizer.py |
(no function) |
3 |
0 |
0 |
100% |
src/chatbot/prompts/jewelry_consultation/recommender.py |
(no function) |
3 |
0 |
0 |
100% |
src/chatbot/serializers.py |
ChatRequestSerializer.validate_message |
3 |
3 |
0 |
0% |
src/chatbot/serializers.py |
(no function) |
8 |
0 |
0 |
100% |
src/chatbot/services.py |
ChatbotService.__init__ |
10 |
10 |
0 |
0% |
src/chatbot/services.py |
ChatbotService.generate_response_stream |
10 |
10 |
0 |
0% |
src/chatbot/services.py |
ChatbotService._build_main_chain |
1 |
1 |
0 |
0% |
src/chatbot/services.py |
(no function) |
10 |
0 |
0 |
100% |
src/chatbot/strategies.py |
PreferenceDiscoveryStrategy.get_next_question |
5 |
5 |
0 |
0% |
src/chatbot/strategies.py |
(no function) |
6 |
0 |
0 |
100% |
src/chatbot/urls.py |
(no function) |
4 |
0 |
0 |
100% |
src/chatbot/utils.py |
build_conversation_history |
12 |
12 |
0 |
0% |
src/chatbot/utils.py |
retrieve_relevant_content |
4 |
4 |
0 |
0% |
src/chatbot/utils.py |
generate_formatted_response |
8 |
8 |
0 |
0% |
src/chatbot/utils.py |
generate_formatted_response.get_and_format_customer_preferences |
4 |
4 |
0 |
0% |
src/chatbot/utils.py |
(no function) |
9 |
0 |
0 |
100% |
src/chatbot/views.py |
ChatBotAPIView.post |
11 |
11 |
0 |
0% |
src/chatbot/views.py |
ChatBotAPIView.post.generate_response |
5 |
5 |
0 |
0% |
src/chatbot/views.py |
ChatBotAPIView._get_or_create_session_id |
4 |
4 |
0 |
0% |
src/chatbot/views.py |
(no function) |
15 |
0 |
0 |
100% |
src/common/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/common/apps.py |
(no function) |
4 |
0 |
0 |
100% |
src/common/management/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/common/management/commands/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/common/management/commands/setup_database.py |
Command.handle |
20 |
20 |
0 |
0% |
src/common/management/commands/setup_database.py |
(no function) |
5 |
5 |
0 |
0% |
src/common/mixins.py |
InventoryMixin.get_product_info |
9 |
2 |
0 |
78% |
src/common/mixins.py |
InventoryMixin.get_total_price_per_product |
4 |
2 |
0 |
50% |
src/common/mixins.py |
(no function) |
6 |
0 |
0 |
100% |
src/common/permissions.py |
IsOrderManager.has_permission |
1 |
0 |
0 |
100% |
src/common/permissions.py |
(no function) |
3 |
0 |
0 |
100% |
src/common/services.py |
UserIdentificationService.get_user_identifier |
1 |
0 |
0 |
100% |
src/common/services.py |
(no function) |
3 |
0 |
0 |
100% |
src/common/tasks.py |
_send_email |
1 |
0 |
0 |
100% |
src/common/tasks.py |
(no function) |
4 |
0 |
0 |
100% |
src/common/urls.py |
(no function) |
3 |
0 |
0 |
100% |
src/common/utils.py |
ChoicesMaxLengthMixin.max_length |
1 |
0 |
0 |
100% |
src/common/utils.py |
convert_to_lower_case |
7 |
7 |
0 |
0% |
src/common/utils.py |
(no function) |
5 |
0 |
0 |
100% |
src/common/views.py |
send_email |
1 |
1 |
0 |
0% |
src/common/views.py |
notify_users_they_have_uncompleted_orders |
8 |
8 |
0 |
0% |
src/common/views.py |
ShoppingBagReminderInfoView.get |
4 |
4 |
0 |
0% |
src/common/views.py |
WakeUpServerView.get |
1 |
1 |
0 |
0% |
src/common/views.py |
(no function) |
26 |
0 |
0 |
100% |
src/orders/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/orders/admin.py |
OrderAdmin.product_display |
6 |
6 |
0 |
0% |
src/orders/admin.py |
OrderAdmin.product_info |
9 |
9 |
0 |
0% |
src/orders/admin.py |
(no function) |
17 |
0 |
0 |
100% |
src/orders/apps.py |
(no function) |
4 |
0 |
0 |
100% |
src/orders/choices.py |
(no function) |
5 |
0 |
0 |
100% |
src/orders/constants.py |
(no function) |
28 |
0 |
0 |
100% |
src/orders/migrations/0001_initial.py |
(no function) |
6 |
0 |
0 |
100% |
src/orders/migrations/0002_initial.py |
(no function) |
7 |
0 |
0 |
100% |
src/orders/migrations/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/orders/models.py |
Order.__str__ |
1 |
1 |
0 |
0% |
src/orders/models.py |
(no function) |
15 |
0 |
0 |
100% |
src/orders/serializers.py |
OrderSerializer.get_product_info |
4 |
0 |
0 |
100% |
src/orders/serializers.py |
OrderSerializer.get_total_price |
1 |
0 |
0 |
100% |
src/orders/serializers.py |
OrderSerializer.get_product_content_type |
7 |
2 |
0 |
71% |
src/orders/serializers.py |
OrderSerializer.get_product_object_id |
7 |
2 |
0 |
71% |
src/orders/serializers.py |
OrderGroupSerializer.to_representation |
8 |
2 |
0 |
75% |
src/orders/serializers.py |
OrderCreateSerializer.validate |
2 |
0 |
0 |
100% |
src/orders/serializers.py |
(no function) |
36 |
0 |
0 |
100% |
src/orders/services.py |
PaymentValidationService.validate_card_number |
6 |
0 |
0 |
100% |
src/orders/services.py |
PaymentValidationService.validate_card_holder_name |
5 |
0 |
0 |
100% |
src/orders/services.py |
PaymentValidationService.validate_cvv |
5 |
0 |
0 |
100% |
src/orders/services.py |
PaymentValidationService.validate_expiry_date |
13 |
0 |
0 |
100% |
src/orders/services.py |
PaymentValidationService.validate_payment_data |
5 |
0 |
0 |
100% |
src/orders/services.py |
OrderService.get_user_identifier |
1 |
1 |
0 |
0% |
src/orders/services.py |
OrderService.process_order_from_shopping_bag |
10 |
0 |
0 |
100% |
src/orders/services.py |
OrderService.get_user_orders |
1 |
0 |
0 |
100% |
src/orders/services.py |
OrderService.get_user_orders_grouped |
16 |
1 |
0 |
94% |
src/orders/services.py |
OrderService.calculate_order_group_total |
6 |
0 |
0 |
100% |
src/orders/services.py |
(no function) |
36 |
0 |
0 |
100% |
src/orders/tasks.py |
complete_old_orders |
2 |
0 |
0 |
100% |
src/orders/tasks.py |
(no function) |
7 |
0 |
0 |
100% |
src/orders/urls.py |
(no function) |
6 |
0 |
0 |
100% |
src/orders/views.py |
OrderViewSet.get_queryset |
1 |
1 |
0 |
0% |
src/orders/views.py |
OrderViewSet.list |
6 |
6 |
0 |
0% |
src/orders/views.py |
OrderViewSet.create_from_shopping_bag |
13 |
3 |
0 |
77% |
src/orders/views.py |
(no function) |
15 |
0 |
0 |
100% |
src/products/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/products/admin.py |
StoneListFilter.lookups |
1 |
1 |
0 |
0% |
src/products/admin.py |
StoneListFilter.queryset |
1 |
1 |
0 |
0% |
src/products/admin.py |
ColorListFilter.lookups |
1 |
1 |
0 |
0% |
src/products/admin.py |
ColorListFilter.queryset |
1 |
1 |
0 |
0% |
src/products/admin.py |
BaseProductAdmin.first_picture |
1 |
1 |
0 |
0% |
src/products/admin.py |
BaseProductAdmin.second_picture |
1 |
1 |
0 |
0% |
src/products/admin.py |
ReviewAdmin.product_link |
3 |
3 |
0 |
0% |
src/products/admin.py |
ReviewAdmin.has_add_permission |
1 |
1 |
0 |
0% |
src/products/admin.py |
ReviewAdmin.has_delete_permission |
1 |
1 |
0 |
0% |
src/products/admin.py |
(no function) |
80 |
0 |
0 |
100% |
src/products/apps.py |
ProductsConfig.ready |
1 |
0 |
0 |
100% |
src/products/apps.py |
(no function) |
5 |
0 |
0 |
100% |
src/products/constants.py |
(no function) |
12 |
0 |
0 |
100% |
src/products/management/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/products/management/commands/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/products/management/commands/create_products.py |
Command.handle |
5 |
5 |
0 |
0% |
src/products/management/commands/create_products.py |
Command.initialize_data |
6 |
6 |
0 |
0% |
src/products/management/commands/create_products.py |
(no function) |
11 |
11 |
0 |
0% |
src/products/management/commands/create_reviews.py |
Command.handle |
6 |
6 |
0 |
0% |
src/products/management/commands/create_reviews.py |
Command.create_fake_users |
14 |
14 |
0 |
0% |
src/products/management/commands/create_reviews.py |
Command.create_fake_reviews |
23 |
23 |
0 |
0% |
src/products/management/commands/create_reviews.py |
(no function) |
16 |
16 |
0 |
0% |
src/products/management/commands/generate_boutique_info.py |
Command.add_arguments |
1 |
1 |
0 |
0% |
src/products/management/commands/generate_boutique_info.py |
Command.handle |
23 |
23 |
0 |
0% |
src/products/management/commands/generate_boutique_info.py |
(no function) |
10 |
10 |
0 |
0% |
src/products/management/commands/generate_product_catalog.py |
Command.add_arguments |
1 |
1 |
0 |
0% |
src/products/management/commands/generate_product_catalog.py |
Command.handle |
30 |
30 |
0 |
0% |
src/products/management/commands/generate_product_catalog.py |
(no function) |
13 |
13 |
0 |
0% |
src/products/management/products_data.py |
(no function) |
1 |
1 |
0 |
0% |
src/products/managers/__init__.py |
(no function) |
1 |
0 |
0 |
100% |
src/products/managers/base.py |
BaseProductManager.get_product_item |
1 |
1 |
0 |
0% |
src/products/managers/base.py |
BaseProductManager.get_product_list |
3 |
3 |
0 |
0% |
src/products/managers/base.py |
BaseProductManager._get_raw_products |
3 |
3 |
0 |
0% |
src/products/managers/base.py |
BaseAttributesManager.get_attributes_count |
4 |
4 |
0 |
0% |
src/products/managers/base.py |
(no function) |
8 |
0 |
0 |
100% |
src/products/managers/product.py |
(no function) |
21 |
0 |
0 |
100% |
src/products/migrations/0001_initial.py |
(no function) |
8 |
0 |
0 |
100% |
src/products/migrations/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/products/mixins.py |
NameFieldMixin.__str__ |
1 |
0 |
0 |
100% |
src/products/mixins.py |
FilterMixin._get_params |
1 |
0 |
0 |
100% |
src/products/mixins.py |
FilterMixin._build_filters |
5 |
0 |
0 |
100% |
src/products/mixins.py |
FilterMixin._get_filters_for_attributes |
3 |
0 |
0 |
100% |
src/products/mixins.py |
FilterMixin._get_filters_for_product |
3 |
0 |
0 |
100% |
src/products/mixins.py |
(no function) |
14 |
0 |
0 |
100% |
src/products/models/__init__.py |
(no function) |
3 |
0 |
0 |
100% |
src/products/models/base.py |
BaseProduct.__str__ |
1 |
1 |
0 |
0% |
src/products/models/base.py |
(no function) |
23 |
0 |
0 |
100% |
src/products/models/inventory.py |
Inventory.__str__ |
1 |
1 |
0 |
0% |
src/products/models/inventory.py |
(no function) |
18 |
0 |
0 |
100% |
src/products/models/product.py |
(no function) |
23 |
0 |
0 |
100% |
src/products/models/review.py |
Review.__str__ |
1 |
1 |
0 |
0% |
src/products/models/review.py |
(no function) |
22 |
0 |
0 |
100% |
src/products/serializers/__init__.py |
(no function) |
2 |
0 |
0 |
100% |
src/products/serializers/base.py |
AverageRatingField.to_representation |
2 |
2 |
0 |
0% |
src/products/serializers/base.py |
BaseProductItemSerializer.get_review |
5 |
5 |
0 |
0% |
src/products/serializers/base.py |
BaseProductItemSerializer.get_related_collection_products |
7 |
7 |
0 |
0% |
src/products/serializers/base.py |
BaseProductItemSerializer.get_related_products |
12 |
12 |
0 |
0% |
src/products/serializers/base.py |
BaseProductItemSerializer.get_related_products.serialize_products_of_type |
9 |
9 |
0 |
0% |
src/products/serializers/base.py |
(no function) |
39 |
0 |
0 |
100% |
src/products/serializers/inventory.py |
InventorySerializer.get_content_type |
2 |
2 |
0 |
0% |
src/products/serializers/inventory.py |
InventorySerializer.get_object_id |
1 |
1 |
0 |
0% |
src/products/serializers/inventory.py |
(no function) |
12 |
0 |
0 |
100% |
src/products/serializers/product.py |
(no function) |
50 |
0 |
0 |
100% |
src/products/serializers/review.py |
ReviewSerializer.get_photo_url |
6 |
6 |
0 |
0% |
src/products/serializers/review.py |
ReviewSerializer.get_user_full_name |
6 |
6 |
0 |
0% |
src/products/serializers/review.py |
ReviewSerializer.validate_comment |
3 |
3 |
0 |
0% |
src/products/serializers/review.py |
ReviewSerializer.validate_rating |
3 |
3 |
0 |
0% |
src/products/serializers/review.py |
(no function) |
16 |
0 |
0 |
100% |
src/products/serializers/review_management.py |
ReviewManagementSerializer.to_representation |
3 |
3 |
0 |
0% |
src/products/serializers/review_management.py |
(no function) |
8 |
0 |
0 |
100% |
src/products/signals.py |
send_approval_email_notification |
4 |
3 |
0 |
25% |
src/products/signals.py |
(no function) |
9 |
0 |
0 |
100% |
src/products/urls.py |
(no function) |
8 |
0 |
0 |
100% |
src/products/utils.py |
get_valid_categories |
5 |
5 |
0 |
0% |
src/products/utils.py |
(no function) |
3 |
0 |
0 |
100% |
src/products/views/__init__.py |
(no function) |
2 |
0 |
0 |
100% |
src/products/views/base.py |
BaseProductListView.list |
8 |
8 |
0 |
0% |
src/products/views/base.py |
BaseProductListView._get_products_data |
3 |
3 |
0 |
0% |
src/products/views/base.py |
BaseProductItemView.get |
4 |
4 |
0 |
0% |
src/products/views/base.py |
BaseAttributeView.get |
18 |
18 |
0 |
0% |
src/products/views/base.py |
(no function) |
21 |
0 |
0 |
100% |
src/products/views/product.py |
ProductAllReviewsView.get |
12 |
12 |
0 |
0% |
src/products/views/product.py |
catalog_page |
1 |
1 |
0 |
0% |
src/products/views/product.py |
generate_catalog |
16 |
16 |
0 |
0% |
src/products/views/product.py |
download_catalog |
1 |
1 |
0 |
0% |
src/products/views/product.py |
(no function) |
72 |
0 |
0 |
100% |
src/products/views/review.py |
ReviewViewSet.get_serializer_class |
3 |
3 |
0 |
0% |
src/products/views/review.py |
ReviewViewSet.get_queryset |
3 |
3 |
0 |
0% |
src/products/views/review.py |
ReviewViewSet.create |
10 |
10 |
0 |
0% |
src/products/views/review.py |
ReviewViewSet.update |
8 |
8 |
0 |
0% |
src/products/views/review.py |
ReviewViewSet.destroy |
1 |
1 |
0 |
0% |
src/products/views/review.py |
ReviewViewSet.get_user_review |
11 |
11 |
0 |
0% |
src/products/views/review.py |
ReviewViewSet.approve |
7 |
7 |
0 |
0% |
src/products/views/review.py |
ReviewViewSet.unapprove |
7 |
7 |
0 |
0% |
src/products/views/review.py |
ReviewViewSet.pending |
3 |
3 |
0 |
0% |
src/products/views/review.py |
(no function) |
27 |
0 |
0 |
100% |
src/settings.py |
(no function) |
77 |
0 |
0 |
100% |
src/shopping_bags/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/shopping_bags/admin.py |
ShoppingBagAdmin.product_display |
6 |
6 |
0 |
0% |
src/shopping_bags/admin.py |
ShoppingBagAdmin.product_info |
9 |
9 |
0 |
0% |
src/shopping_bags/admin.py |
(no function) |
16 |
0 |
0 |
100% |
src/shopping_bags/apps.py |
(no function) |
4 |
0 |
0 |
100% |
src/shopping_bags/constants.py |
(no function) |
4 |
0 |
0 |
100% |
src/shopping_bags/migrations/0001_initial.py |
(no function) |
7 |
0 |
0 |
100% |
src/shopping_bags/migrations/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/shopping_bags/models.py |
(no function) |
11 |
0 |
0 |
100% |
src/shopping_bags/serializers.py |
ShoppingBagSerializer.get_product_info |
1 |
0 |
0 |
100% |
src/shopping_bags/serializers.py |
ShoppingBagSerializer.get_total_price |
1 |
0 |
0 |
100% |
src/shopping_bags/serializers.py |
(no function) |
15 |
0 |
0 |
100% |
src/shopping_bags/services.py |
ShoppingBagService.get_user_identifier |
1 |
0 |
0 |
100% |
src/shopping_bags/services.py |
ShoppingBagService.validate_inventory_quantity |
2 |
1 |
0 |
50% |
src/shopping_bags/services.py |
ShoppingBagService.get_or_create_bag_item |
1 |
0 |
0 |
100% |
src/shopping_bags/services.py |
(no function) |
11 |
0 |
0 |
100% |
src/shopping_bags/urls.py |
(no function) |
5 |
0 |
0 |
100% |
src/shopping_bags/views.py |
ShoppingBagViewSet.get_queryset |
5 |
2 |
0 |
60% |
src/shopping_bags/views.py |
ShoppingBagViewSet.perform_create |
13 |
0 |
0 |
100% |
src/shopping_bags/views.py |
ShoppingBagViewSet.perform_update |
9 |
0 |
0 |
100% |
src/shopping_bags/views.py |
ShoppingBagViewSet.perform_destroy |
1 |
0 |
0 |
100% |
src/shopping_bags/views.py |
ShoppingBagViewSet.get_bag_count |
6 |
2 |
0 |
67% |
src/shopping_bags/views.py |
ShoppingBagViewSet.get_total_price |
8 |
4 |
0 |
50% |
src/shopping_bags/views.py |
(no function) |
23 |
0 |
0 |
100% |
src/unfold.py |
(no function) |
4 |
0 |
0 |
100% |
src/urls.py |
(no function) |
5 |
0 |
0 |
100% |
src/wishlists/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/wishlists/admin.py |
WishlistAdmin.product_display |
3 |
3 |
0 |
0% |
src/wishlists/admin.py |
WishlistAdmin.product_info |
6 |
6 |
0 |
0% |
src/wishlists/admin.py |
(no function) |
16 |
0 |
0 |
100% |
src/wishlists/apps.py |
(no function) |
4 |
0 |
0 |
100% |
src/wishlists/constants.py |
(no function) |
5 |
0 |
0 |
100% |
src/wishlists/migrations/0001_initial.py |
(no function) |
7 |
0 |
0 |
100% |
src/wishlists/migrations/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
src/wishlists/models.py |
Wishlist.__str__ |
2 |
2 |
0 |
0% |
src/wishlists/models.py |
(no function) |
15 |
0 |
0 |
100% |
src/wishlists/serializers.py |
WishlistSerializer.get_product_info |
10 |
1 |
0 |
90% |
src/wishlists/serializers.py |
(no function) |
12 |
0 |
0 |
100% |
src/wishlists/services.py |
WishlistService.get_user_identifier |
1 |
0 |
0 |
100% |
src/wishlists/services.py |
WishlistService.get_product_object |
4 |
2 |
0 |
50% |
src/wishlists/services.py |
WishlistService.check_item_exists |
1 |
0 |
0 |
100% |
src/wishlists/services.py |
WishlistService.create_wishlist_item |
5 |
0 |
0 |
100% |
src/wishlists/services.py |
WishlistService.get_wishlist_item |
5 |
0 |
0 |
100% |
src/wishlists/services.py |
WishlistService.delete_wishlist_item |
3 |
0 |
0 |
100% |
src/wishlists/services.py |
(no function) |
17 |
0 |
0 |
100% |
src/wishlists/urls.py |
(no function) |
5 |
0 |
0 |
100% |
src/wishlists/views.py |
WishlistViewSet.get_queryset |
5 |
2 |
0 |
60% |
src/wishlists/views.py |
WishlistViewSet.create |
11 |
11 |
0 |
0% |
src/wishlists/views.py |
WishlistViewSet.remove_item |
11 |
11 |
0 |
0% |
src/wishlists/views.py |
WishlistViewSet.get_wishlist_count |
6 |
6 |
0 |
0% |
src/wishlists/views.py |
(no function) |
17 |
0 |
0 |
100% |
src/wsgi.py |
(no function) |
4 |
4 |
0 |
0% |