diff --git a/edivorce/apps/core/tests/test_logic.py b/edivorce/apps/core/tests/test_logic.py new file mode 100644 index 00000000..2dd5b051 --- /dev/null +++ b/edivorce/apps/core/tests/test_logic.py @@ -0,0 +1,18 @@ +from django.test import TestCase +from edivorce.apps.core.utils.conditional_logic import get_cleaned_response_value + + +class ConditionalLogicTestCase(TestCase): + def test_get_cleaned_response_no_value(self): + self.assertIsNone(get_cleaned_response_value(None)) + self.assertIsNone(get_cleaned_response_value('')) + self.assertIsNone(get_cleaned_response_value(' ')) + self.assertIsNone(get_cleaned_response_value('[]')) + self.assertIsNone(get_cleaned_response_value('[[""," "]]')) + self.assertIsNone(get_cleaned_response_value('[["also known as",""]]')) + self.assertIsNone(get_cleaned_response_value('[["also known as",""],["also known as",""]]')) + + def test_get_cleaned_response_with_value(self): + self.assertIsNotNone(get_cleaned_response_value('0')) + self.assertIsNotNone(get_cleaned_response_value('["hi"]')) + self.assertIsNotNone(get_cleaned_response_value('[["also known as","a"]]')) diff --git a/edivorce/apps/core/tests/test_users.py b/edivorce/apps/core/tests/test_step_completeness.py similarity index 98% rename from edivorce/apps/core/tests/test_users.py rename to edivorce/apps/core/tests/test_step_completeness.py index 93c51fc4..2f3bf8aa 100644 --- a/edivorce/apps/core/tests/test_users.py +++ b/edivorce/apps/core/tests/test_step_completeness.py @@ -1,13 +1,11 @@ from django.test import TestCase from edivorce.apps.core.models import UserResponse, Question, BceidUser from edivorce.apps.core.utils.step_completeness import is_complete -from edivorce.apps.core.utils.question_step_mapping import question_step_mapping -# Create your tests here. from edivorce.apps.core.utils.user_response import get_data_for_user, get_step_responses -class UserResponseTestCase(TestCase): +class StepCompletenessTestCase(TestCase): fixtures = ['Question.json'] def setUp(self): diff --git a/edivorce/apps/core/utils/conditional_logic.py b/edivorce/apps/core/utils/conditional_logic.py index c362138b..2f61604e 100644 --- a/edivorce/apps/core/utils/conditional_logic.py +++ b/edivorce/apps/core/utils/conditional_logic.py @@ -1,4 +1,5 @@ import json +import re def get_children(questions_dict): @@ -134,7 +135,7 @@ def get_cleaned_response_value(response): if response is None: return None response = response.strip() - ignore_values = ['', '[]', '[["",""]]', '[["also known as",""]]'] - if response not in ignore_values: + search_text = response.replace('also known as', '') + if re.search(r'\w+', search_text): return response return None