From 1663f19b2a1f3464e83d2b01d58fae4b0e166476 Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 16 May 2025 03:10:00 +0930 Subject: [PATCH] refactor(human_resources): Update Functional ViewSet to use PyTest for Employee Model ref: #761 #730 --- .../tests/functional/employee/conftest.py | 24 +++ .../test_functional_employee_viewset.py | 157 +++--------------- 2 files changed, 46 insertions(+), 135 deletions(-) create mode 100644 app/human_resources/tests/functional/employee/conftest.py diff --git a/app/human_resources/tests/functional/employee/conftest.py b/app/human_resources/tests/functional/employee/conftest.py new file mode 100644 index 00000000..883bcdca --- /dev/null +++ b/app/human_resources/tests/functional/employee/conftest.py @@ -0,0 +1,24 @@ +import pytest + +from human_resources.models.employee import Employee + + + +@pytest.fixture( scope = 'class') +def model(request): + + request.cls.model = Employee + + yield request.cls.model + + del request.cls.model + + + +@pytest.fixture(scope='function') +def create_serializer(): + + from human_resources.serializers.entity_employee import ModelSerializer + + + yield ModelSerializer diff --git a/app/human_resources/tests/functional/employee/test_functional_employee_viewset.py b/app/human_resources/tests/functional/employee/test_functional_employee_viewset.py index 978017aa..1fb3149b 100644 --- a/app/human_resources/tests/functional/employee/test_functional_employee_viewset.py +++ b/app/human_resources/tests/functional/employee/test_functional_employee_viewset.py @@ -1,8 +1,7 @@ from django.test import TestCase + from access.tests.functional.contact.test_functional_contact_viewset import ( - ContactMetadataInheritedCases, - ContactPermissionsAPIInheritedCases, ContactViewSetInheritedCases ) @@ -10,87 +9,23 @@ from human_resources.models.employee import Employee -class ViewSetBase: - - add_data = { - 'email': 'ipfunny@unit.test', - 'employee_number': 123456, - } - - kwargs_create_item_diff_org = { - 'email': 'ipstrange@unit.test', - 'employee_number': 1234567, - } - - kwargs_create_item = { - 'email': 'ipweird@unit.test', - 'employee_number': 1234568, - } - - model = Employee - - url_kwargs: dict = {} - - url_view_kwargs: dict = {} - - - -class PermissionsAPITestCases( - ViewSetBase, - ContactPermissionsAPIInheritedCases, -): - - pass - - - -class EmployeePermissionsAPIInheritedCases( - PermissionsAPITestCases, -): - - add_data: dict = None - - model = None - - kwargs_create_item: dict = None - - kwargs_create_item_diff_org: dict = None - - - @classmethod - def setUpTestData(self): - - self.add_data.update( - super().add_data - ) - - self.kwargs_create_item.update( - super().kwargs_create_item - ) - - self.kwargs_create_item_diff_org.update( - super().kwargs_create_item_diff_org - ) - - super().setUpTestData() - - - -class EmployeePermissionsAPITest( - PermissionsAPITestCases, - TestCase, -): - - pass - - - class ViewSetTestCases( - ViewSetBase, ContactViewSetInheritedCases, ): - pass + add_data: dict = { + 'employee_number': 123, + } + + kwargs_create_item: dict = { + 'employee_number': 456, + } + + kwargs_create_item_diff_org: dict = { + 'employee_number': 789, + } + + model = Employee @@ -100,21 +35,19 @@ class EmployeeViewSetInheritedCases( model = None - kwargs_create_item: dict = None - - kwargs_create_item_diff_org: dict = None - @classmethod def setUpTestData(self): - self.kwargs_create_item.update( - super().kwargs_create_item - ) + self.kwargs_create_item = { + **super().kwargs_create_item, + **self.kwargs_create_item + } - self.kwargs_create_item_diff_org.update( - super().kwargs_create_item_diff_org - ) + self.kwargs_create_item_diff_org = { + **super().kwargs_create_item_diff_org, + **self.kwargs_create_item_diff_org + } super().setUpTestData() @@ -124,50 +57,4 @@ class EmployeeViewSetTest( ViewSetTestCases, TestCase, ): - - pass - - - -class MetadataTestCases( - ViewSetBase, - ContactMetadataInheritedCases, -): - - pass - - - -class EmployeeMetadataInheritedCases( - MetadataTestCases, -): - - model = None - - kwargs_create_item: dict = None - - kwargs_create_item_diff_org: dict = None - - - @classmethod - def setUpTestData(self): - - self.kwargs_create_item.update( - super().kwargs_create_item - ) - - self.kwargs_create_item_diff_org.update( - super().kwargs_create_item_diff_org - ) - - super().setUpTestData() - - - -class EmployeeMetadataTest( - MetadataTestCases, - TestCase, - -): - pass