Unit test analysis

* adds unit test for creating report
* fixes bug where new (>2018) eco accounts have not been fetched correctly from the  db
* adds enhancements in the frontend
* improves test data setup
This commit is contained in:
2023-08-17 10:12:05 +02:00
parent 865a3a51fe
commit 1726eb38ad
15 changed files with 211 additions and 32 deletions

View File

@@ -65,7 +65,7 @@ class BaseTestCase(TestCase):
self.compensation = self.create_dummy_compensation()
self.eco_account = self.create_dummy_eco_account()
self.ema = self.create_dummy_ema()
self.deduction = self.create_dummy_deduction()
self.deduction = self.create_dummy_deduction(acc=self.eco_account, interv=self.intervention)
self.create_dummy_states()
self.create_dummy_action()
self.codes = self.create_dummy_codes()
@@ -157,14 +157,17 @@ class BaseTestCase(TestCase):
intervention.generate_access_token(make_unique=True)
return intervention
def create_dummy_compensation(self):
def create_dummy_compensation(self, interv: Intervention=None):
""" Creates a compensation which can be used for tests
Returns:
"""
if self.intervention is None:
self.intervention = self.create_dummy_intervention()
if not interv:
if self.intervention is None:
interv = self.create_dummy_intervention()
else:
interv = self.intervention
# Create dummy data
# Create log entry
action = UserActionLogEntry.get_created_action(self.superuser)
@@ -173,7 +176,7 @@ class BaseTestCase(TestCase):
compensation = Compensation.objects.create(
identifier="TEST",
title="Test_title",
intervention=self.intervention,
intervention=interv,
created=action,
geometry=geometry,
comment="Test",
@@ -196,9 +199,11 @@ class BaseTestCase(TestCase):
handler = self.handler
responsible_data.handler = handler
responsible_data.save()
identifier = EcoAccount().generate_new_identifier()
# Finally create main object, holding the other objects
eco_account = EcoAccount.objects.create(
identifier="TEST",
identifier=identifier,
title="Test_title",
deductable_surface=500,
legal=lega_data,
@@ -234,10 +239,15 @@ class BaseTestCase(TestCase):
)
return ema
def create_dummy_deduction(self):
def create_dummy_deduction(self, acc: EcoAccount = None, interv: Intervention = None):
if not acc:
acc = self.create_dummy_eco_account()
if not interv:
interv = self.create_dummy_intervention()
return EcoAccountDeduction.objects.create(
account=self.create_dummy_eco_account(),
intervention=self.create_dummy_intervention(),
account=acc,
intervention=interv,
surface=100,
)
@@ -270,12 +280,14 @@ class BaseTestCase(TestCase):
Returns:
"""
codes = KonovaCode.objects.bulk_create([
KonovaCode(id=1, is_selectable=True, is_archived=False, is_leaf=True, long_name="Test1"),
KonovaCode(id=2, is_selectable=True, is_archived=False, is_leaf=True, long_name="Test2"),
KonovaCode(id=3, is_selectable=True, is_archived=False, is_leaf=True, long_name="Test3"),
KonovaCode(id=4, is_selectable=True, is_archived=False, is_leaf=True, long_name="Test4"),
])
codes = KonovaCode.objects.all()
if codes.count() == 0:
codes = KonovaCode.objects.bulk_create([
KonovaCode(id=1, is_selectable=True, is_archived=False, is_leaf=True, long_name="Test1"),
KonovaCode(id=2, is_selectable=True, is_archived=False, is_leaf=True, long_name="Test2"),
KonovaCode(id=3, is_selectable=True, is_archived=False, is_leaf=True, long_name="Test3"),
KonovaCode(id=4, is_selectable=True, is_archived=False, is_leaf=True, long_name="Test4"),
])
return codes
def create_dummy_team(self):