diff --git a/backend/metagenedb/api/catalog/views/test_bulk_viewset.py b/backend/metagenedb/api/catalog/views/test_bulk_viewset.py
index 8dc6fc136747fb8d2e25b1037ba276dd06474076..3e5445c629894dc62ada51f2b0b5fd7df40f2fc6 100644
--- a/backend/metagenedb/api/catalog/views/test_bulk_viewset.py
+++ b/backend/metagenedb/api/catalog/views/test_bulk_viewset.py
@@ -1,10 +1,9 @@
-from django.contrib.auth.models import User
 from requests.exceptions import HTTPError
 from rest_framework.test import APITestCase
-from rest_framework_jwt.settings import api_settings
 
 from metagenedb.apps.catalog.factory import FunctionFactory
 from metagenedb.common.utils.mocks.metagenedb import MetageneDBCatalogFunctionAPIMock
+from metagenedb.common.utils.tests.apitestbase import AdminUserBasedTest
 
 
 class TestOperationsBulkViewSetNoCredentials(APITestCase):
@@ -32,7 +31,7 @@ class TestOperationsBulkViewSetNoCredentials(APITestCase):
             self.function_api.put(data, function.function_id)
 
 
-class TestOperationsBulkViewSet(APITestCase):
+class TestOperationsBulkViewSet(AdminUserBasedTest):
     """
     We are testing the different functions through the API directly through the mock redirecting
     requests to the test database.
@@ -41,15 +40,8 @@ class TestOperationsBulkViewSet(APITestCase):
     """
 
     def setUp(self):
-        jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
-        jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
-        user = User.objects.create_user(username='user_admin', email='user@admin.com', password='pass')
-        user.is_active = True
-        user.is_staff = True
-        user.save()
-        payload = jwt_payload_handler(user)
-        jwt_token = jwt_encode_handler(payload)
-        self.function_api = MetageneDBCatalogFunctionAPIMock(self.client, jwt_token=jwt_token)
+        super().setUp()
+        self.function_api = MetageneDBCatalogFunctionAPIMock(self.client, jwt_token=self.jwt_token)
 
     def test_create_function(self):
         data = {
diff --git a/backend/metagenedb/api/catalog/views/test_gene.py b/backend/metagenedb/api/catalog/views/test_gene.py
index e2e442150d04da56e6b6a21d856929ed539cbc6b..32c1a6bc3c6532dabb09293d46d471faa4cae810 100644
--- a/backend/metagenedb/api/catalog/views/test_gene.py
+++ b/backend/metagenedb/api/catalog/views/test_gene.py
@@ -20,24 +20,6 @@ class TestGenes(TestCase):
         resp = self.client.get(url)
         self.assertEqual(resp.status_code, status.HTTP_200_OK)
 
-    def test_get_genes_auth(self):
-        """
-        Authenticated users should be able to access genes
-        """
-
-        jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
-        jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
-
-        user = User.objects.create_user(username='user', email='user@foo.com', password='pass')
-        user.is_active = True
-        user.save()
-        payload = jwt_payload_handler(user)
-        token = jwt_encode_handler(payload)
-
-        url = reverse('api:catalog:v1:genes-list')
-        resp = self.client.get(url, format='json', HTTP_AUTHORIZATION=f"JWT {token}")
-        self.assertEqual(resp.status_code, status.HTTP_200_OK)
-
 
 class TestCountWindowsAPI(APITestCase):
 
diff --git a/backend/metagenedb/common/utils/tests/__init__.py b/backend/metagenedb/common/utils/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/backend/metagenedb/common/utils/tests/apitestbase.py b/backend/metagenedb/common/utils/tests/apitestbase.py
new file mode 100644
index 0000000000000000000000000000000000000000..b695a9324ffba72b1f106e2049048f91ea303eb3
--- /dev/null
+++ b/backend/metagenedb/common/utils/tests/apitestbase.py
@@ -0,0 +1,22 @@
+from django.contrib.auth.models import User
+from rest_framework.test import APITestCase
+from rest_framework_jwt.settings import api_settings
+
+
+class AdminUserBasedTest(APITestCase):
+    """
+    We are testing the different functions through the API directly through the mock redirecting
+    requests to the test database.
+
+    The extent is a bit more than a unittest since it is not just involving concerned methods.
+    """
+
+    def setUp(self):
+        jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
+        jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
+        user = User.objects.create_user(username='user_admin', email='user@admin.com', password='pass')
+        user.is_active = True
+        user.is_staff = True
+        user.save()
+        payload = jwt_payload_handler(user)
+        self.jwt_token = jwt_encode_handler(payload)