aboutsummaryrefslogtreecommitdiff
path: root/tests/models/precision/test_survey_manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/models/precision/test_survey_manager.py')
-rw-r--r--tests/models/precision/test_survey_manager.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/tests/models/precision/test_survey_manager.py b/tests/models/precision/test_survey_manager.py
new file mode 100644
index 0000000..8532ab0
--- /dev/null
+++ b/tests/models/precision/test_survey_manager.py
@@ -0,0 +1,63 @@
+# from decimal import Decimal
+#
+# from datetime import timezone, datetime
+# from pymysql import IntegrityError
+# from generalresearch.models.precision.survey import PrecisionSurvey
+# from tests.models.precision import survey_json
+
+
+# def delete_survey(survey_id: str):
+# db_name = sql_helper.db
+# # TODO: what is the precision specific db name...
+#
+# sql_helper.execute_sql_query(
+# query="""
+# DELETE FROM `300large-precision`.precision_survey
+# WHERE survey_id = %s
+# """,
+# params=[survey_id], commit=True)
+# sql_helper.execute_sql_query("""
+# DELETE FROM `300large-precision`.precision_survey_country WHERE survey_id = %s
+# """, [survey_id], commit=True)
+# sql_helper.execute_sql_query("""
+# DELETE FROM `300large-precision`.precision_survey_language WHERE survey_id = %s
+# """, [survey_id], commit=True)
+#
+#
+# class TestPrecisionSurvey:
+# def test_survey_create(self):
+# now = datetime.now(tz=timezone.utc)
+# s = PrecisionSurvey.model_validate(survey_json)
+# self.assertEqual(s.survey_id, '0000')
+# delete_survey(s.survey_id)
+#
+# sm.create(s)
+#
+# surveys = sm.get_survey_library(updated_since=now)
+# self.assertEqual(len(surveys), 1)
+# self.assertEqual('0000', surveys[0].survey_id)
+# self.assertTrue(s.is_unchanged(surveys[0]))
+#
+# with self.assertRaises(IntegrityError) as context:
+# sm.create(s)
+#
+# def test_survey_update(self):
+# # There's extra complexity here with the country/lang join tables
+# now = datetime.now(tz=timezone.utc)
+# s = PrecisionSurvey.model_validate(survey_json)
+# self.assertEqual(s.survey_id, '0000')
+# delete_survey(s.survey_id)
+# sm.create(s)
+# s.cpi = Decimal('0.50')
+# # started out at only 'ca' and 'eng'
+# s.country_isos = ['us']
+# s.country_iso = 'us'
+# s.language_isos = ['eng', 'spa']
+# s.language_iso = 'eng'
+# sm.update([s])
+# surveys = sm.get_survey_library(updated_since=now)
+# self.assertEqual(len(surveys), 1)
+# s2 = surveys[0]
+# self.assertEqual('0000', s2.survey_id)
+# self.assertEqual(Decimal('0.50'), s2.cpi)
+# self.assertTrue(s.is_unchanged(s2))