aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/db
diff options
context:
space:
mode:
authorBonfaceKilz2021-05-17 14:34:25 +0300
committerzsloan2021-06-18 22:08:04 +0000
commitc73c4d4edf88d2af5636962f1e4710be17516ea1 (patch)
treeb6e9ab7d6a7a7d1b26936ba34d2b04cc47b858ef /tests/unit/db
parentc5488d5c4556e84397a36c3dbc27dab377749bb3 (diff)
downloadgenenetwork3-c73c4d4edf88d2af5636962f1e4710be17516ea1.tar.gz
tests: test_phenotypes: New test cases for loading phenotypes
Diffstat (limited to 'tests/unit/db')
-rw-r--r--tests/unit/db/test_phenotypes.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/unit/db/test_phenotypes.py b/tests/unit/db/test_phenotypes.py
new file mode 100644
index 0000000..8b810fe
--- /dev/null
+++ b/tests/unit/db/test_phenotypes.py
@@ -0,0 +1,41 @@
+"""Tests for db/phenotypes.py"""
+from unittest import TestCase
+from unittest import mock
+
+from gn3.db.phenotypes import Phenotype
+from gn3.db.phenotypes import update_phenotype
+
+
+class TestPhenotypes(TestCase):
+ """Test cases for fetching chromosomes"""
+ def test_update_phenotype_with_no_data(self):
+ """
+ Test that a phenotype is updated correctly if an empty Phenotype dataclass
+ is provided
+ """
+ db_mock = mock.MagicMock()
+ self.assertEqual(update_phenotype(
+ db_mock, data=Phenotype(), where=Phenotype()), None)
+
+ def test_update_phenotype_with_data(self):
+ """
+ Test that a phenotype is updated correctly if some
+ data is provided
+ """
+ db_mock = mock.MagicMock()
+ with db_mock.cursor() as cursor:
+ type(cursor).rowcount = 1
+ self.assertEqual(update_phenotype(
+ db_mock, data=Phenotype(
+ pre_pub_description="Test Pre Pub",
+ submitter="Rob",
+ post_pub_description="Test Post Pub"),
+ where=Phenotype(id_=1)), 1)
+ cursor.execute.assert_called_once_with(
+ "UPDATE Phenotype SET "
+ "Pre_publication_description = "
+ "'Test Pre Pub', "
+ "Post_publication_description = "
+ "'Test Post Pub', Submitter = 'Rob' "
+ "WHERE id = '1'"
+ )