aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/db
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/db')
-rw-r--r--tests/unit/db/__init__.py0
-rw-r--r--tests/unit/db/test_species.py38
2 files changed, 38 insertions, 0 deletions
diff --git a/tests/unit/db/__init__.py b/tests/unit/db/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/unit/db/__init__.py
diff --git a/tests/unit/db/test_species.py b/tests/unit/db/test_species.py
new file mode 100644
index 0000000..43b5f51
--- /dev/null
+++ b/tests/unit/db/test_species.py
@@ -0,0 +1,38 @@
+"""Tests for db/species.py"""
+from unittest import TestCase
+from unittest import mock
+
+from gn3.db.species import get_chromosome
+
+
+class TestChromosomes(TestCase):
+ """Test cases for fetching chromosomes"""
+ def test_get_chromosome_using_species_name(self):
+ """Test that the chromosome is fetched using a species name"""
+ db_mock = mock.MagicMock()
+ with db_mock.cursor() as cursor:
+ cursor.fetchall.return_value = ()
+ self.assertEqual(get_chromosome(name="TestCase",
+ is_species=True,
+ conn=db_mock), ())
+ cursor.execute.assert_called_once_with(
+ "SELECT Chr_Length.Name, Chr_Length.OrderId, "
+ "Length FROM Chr_Length, Species WHERE "
+ "Chr_Length.SpeciesId = Species.SpeciesId AND "
+ "Species.Name = 'TestCase' ORDER BY OrderId"
+ )
+
+ def test_get_chromosome_using_group_name(self):
+ """Test that the chromosome is fetched using a group name"""
+ db_mock = mock.MagicMock()
+ with db_mock.cursor() as cursor:
+ cursor.fetchall.return_value = ()
+ self.assertEqual(get_chromosome(name="TestCase",
+ is_species=False,
+ conn=db_mock), ())
+ cursor.execute.assert_called_once_with(
+ "SELECT Chr_Length.Name, Chr_Length.OrderId, "
+ "Length FROM Chr_Length, InbredSet WHERE "
+ "Chr_Length.SpeciesId = InbredSet.SpeciesId AND "
+ "InbredSet.Name = 'TestCase' ORDER BY OrderId"
+ )