import pytest from engagements.models import EngagementStrategy, RegulatoryCycle from engagements.utils import populate_database pytestmark = pytest.mark.django_db @pytest.fixture def data(): return populate_database() def test_check_all_dcs(data): dscs = data.get("sub_instruments") assert dscs[0].title == "DSC 1 - Title 1" def test_effort_by_type(data): e = data["engagements"][0] total_planning = sum([x.effort_total_planned_hours() for x in e.effort.filter(effort_type="PLANNING")]) total_travel = sum([x.effort_total_planned_hours() for x in e.effort.filter(effort_type="TRAVEL")]) total_regulation = sum([x.effort_total_planned_hours() for x in e.effort.filter(effort_type="REGULATION")]) assert total_planning == 4.25 assert total_regulation == 0 assert total_travel == 1 @pytest.mark.skip(reason="Not implemented until I get my head round effort calculations") def test_total_effort_for_engagement(data): e = data["engagements"][0] assert e.total_effort() == 5.25 def test_regulatory_cycle_model(regulatory_cycles): rc = RegulatoryCycle.objects.first() rc2023 = RegulatoryCycle.objects.get(start_date="2023-01-01") assert str(rc) == "Regulatory Cycle: 2024" assert str(rc2023) == "Regulatory Cycle: 2023" def test_engagement_strategy_model(engagement_strategy): es1 = EngagementStrategy.objects.first() assert es1.organisation.name == "MOD" assert str(es1) == "Engagement Strategy (2022-2024) - MOD"