""" Author: Michel Peltriaux Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany Contact: ksp-servicestelle@sgdnord.rlp.de Created on: 17.08.23 """ from datetime import timedelta from django.utils.timezone import now from analysis.settings import LKOMPVZVO_PUBLISH_DATE from analysis.utils.report import TimespanReport from konova.sub_settings.django_settings import DEFAULT_DATE_FORMAT from konova.tests.test_views import BaseTestCase class TimeSpanReportTestCase(BaseTestCase): def setUp(self) -> None: super().setUp() today = now().date() old_date = LKOMPVZVO_PUBLISH_DATE - timedelta(days=1) self.conservation_office = self.get_conservation_office_code() self.eiv_old = self.create_dummy_intervention() self.kom_old = self.create_dummy_compensation(interv=self.eiv_old) self.assertNotEqual(self.compensation.intervention, self.kom_old.intervention) self.eiv = self.compensation.intervention self.oek_old = self.create_dummy_eco_account() self.eiv_old.responsible.conservation_office = self.conservation_office self.eiv_old.legal.binding_date = old_date self.eiv_old.legal.registration_date = old_date self.eiv.responsible.conservation_office = self.conservation_office self.eiv.legal.binding_date = today self.eiv.legal.registration_date = today self.eco_account.responsible.conservation_office = self.conservation_office self.eco_account.legal.registration_date = today self.eco_account.legal.binding_date = today self.oek_old.responsible.conservation_office = self.conservation_office self.oek_old.legal.registration_date = old_date self.oek_old.legal.binding_date = old_date self.eiv.legal.save() self.eiv.responsible.save() self.eiv_old.legal.save() self.eiv_old.responsible.save() self.eco_account.legal.save() self.eco_account.responsible.save() self.oek_old.legal.save() self.oek_old.responsible.save() self.deduction.account = self.eco_account self.deduction.intervention = self.eiv self.deduction.save() def test_init(self): date_from = now().date() - timedelta(days=365) date_to = now().date() report = TimespanReport(self.conservation_office.id, date_from, date_to) self.assertEqual(report.office_id, self.conservation_office.id) self.assertEqual(report.date_from, date_from) self.assertEqual(report.date_to, date_to) self.assertIsNotNone(report.intervention_report) self.assertIsNotNone(report.compensation_report) self.assertIsNotNone(report.eco_account_report) self.assertIsNotNone(report.old_data_report) self.assertEqual(report.excel_map["date_from"], date_from.strftime(DEFAULT_DATE_FORMAT)) self.assertEqual(report.excel_map["date_to"], date_to.strftime(DEFAULT_DATE_FORMAT)) self.assertEqual(report.old_data_report.queryset_intervention_count, 1) self.assertEqual(report.old_data_report.queryset_intervention_recorded_count, 0) self.assertEqual(report.old_data_report.queryset_comps_count, 1) self.assertEqual(report.old_data_report.queryset_acc_count, 1) self.assertEqual(report.old_data_report.queryset_acc_recorded_count, 0) self.assertEqual(report.intervention_report.queryset_count, 1) self.assertEqual(report.intervention_report.queryset_checked_count, 0) self.assertEqual(report.intervention_report.queryset_recorded_count, 0) self.assertEqual(report.compensation_report.queryset_count, 1) self.assertEqual(report.compensation_report.queryset_checked_count, 0) self.assertEqual(report.compensation_report.queryset_recorded_count, 0) self.assertEqual(report.eco_account_report.queryset_count, 1) self.assertEqual(report.eco_account_report.queryset_recorded_count, 0) self.assertEqual(report.eco_account_report.queryset_deductions_count, 1) self.assertEqual(report.eco_account_report.queryset_deductions_recorded_count, 0)