diff --git a/backend/metagenedb/apps/catalog/models/test_taxonomy.py b/backend/metagenedb/apps/catalog/models/test_taxonomy.py
index 141485119c0b315d64d856c17bd9e52c88a46f3a..a9e8cad224396a3d208a226ece1082de537592c4 100644
--- a/backend/metagenedb/apps/catalog/models/test_taxonomy.py
+++ b/backend/metagenedb/apps/catalog/models/test_taxonomy.py
@@ -1,38 +1,38 @@
-from unittest import TestCase
+from rest_framework.test import APITestCase
 
-from .taxonomy import Taxonomy
+from metagenedb.apps.catalog.factory import TaxonomyFactory
 
 
-class TestBuildHierarchy(TestCase):
+class TestBuildHierarchy(APITestCase):
 
-    @classmethod
-    def setUpClass(cls):
+    def setUp(self):
         """
         Build some test data for different tests
         """
-        cls.root = Taxonomy(
+        self.root = TaxonomyFactory.create(
             tax_id="1",
             name="root",
             rank="no_rank",
         )
-        cls.kingdom = Taxonomy(
+        self.kingdom = TaxonomyFactory(
             tax_id="2",
             name="KINGDOM",
             rank="kingdom",
-            parent=cls.root
+            parent=self.root
         )
-        cls.phylum = Taxonomy(
+        self.phylum = TaxonomyFactory(
             tax_id="3",
             name="PHYLUM",
             rank="phylum",
-            parent=cls.kingdom
+            parent=self.kingdom
         )
 
     def test_build_hierarchy(self):
         expected_dict = {
-            'tax_id': '3',
-            'phylum': '3',
-            'kingdom': '2'
+            'phylum': self.phylum,
+            'kingdom': self.kingdom
         }
+        self.assertNotEqual(getattr(self.phylum, 'kingdom', None), self.kingdom)
         test_dict = self.phylum.build_parental_hierarchy()
         self.assertDictEqual(test_dict, expected_dict)
+        self.assertEqual(getattr(self.phylum, 'kingdom', None), self.kingdom)