Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/enhancement/gh-4233-default-repo…
Browse files Browse the repository at this point in the history
…rting-frequency' into test
  • Loading branch information
frjo committed Dec 20, 2024
2 parents de1e4fe + b37f0a2 commit 9ae292f
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Generated by Django 4.2.16 on 2024-12-10 09:15

from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
("application_projects", "0094_remove_project_user_has_updated_pf_details"),
]

operations = [
migrations.AlterField(
model_name="reportconfig",
name="disable_reporting",
field=models.BooleanField(default=True),
),
]
2 changes: 1 addition & 1 deletion hypha/apply/projects/models/report.py
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ class ReportConfig(models.Model):
schedule_start = models.DateField(null=True)
occurrence = models.PositiveSmallIntegerField(default=1)
frequency = models.CharField(choices=FREQUENCY_CHOICES, default=MONTH, max_length=6)
disable_reporting = models.BooleanField(default=False)
disable_reporting = models.BooleanField(default=True)
does_not_repeat = models.BooleanField(default=False)

def get_frequency_display(self):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@
{% include "application_projects/includes/report_line.html" with report=report %}
{% endfor %}
{% with next_report=object.report_config.current_due_report %}
{% include "application_projects/includes/report_line.html" with report=next_report current=True %}
{% if next_report %}
{% include "application_projects/includes/report_line.html" with report=next_report current=True %}
{% endif %}
{% endwith %}
</ul>
</div>
Expand Down
4 changes: 3 additions & 1 deletion hypha/apply/projects/tests/test_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ def setUpTestData(cls):

def test_notify_report_due_in_7_days(self):
in_a_week = timezone.now() + relativedelta(days=7)
ReportConfigFactory(schedule_start=in_a_week, project__in_progress=True)
ReportConfigFactory(
disable_reporting=False, schedule_start=in_a_week, project__in_progress=True
)
out = StringIO()

with self.settings(
Expand Down
22 changes: 14 additions & 8 deletions hypha/apply/projects/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -356,12 +356,12 @@ def test_months_always_relative(self):
self.assertEqual(next_date, last_report + relativedelta(months=2))

def test_current_due_report_gets_active_report(self):
config = ReportConfigFactory()
config = ReportConfigFactory(disable_reporting=False)
report = ReportFactory(project=config.project)
self.assertEqual(config.current_due_report(), report)

def test_no_report_creates_report(self):
config = ReportConfigFactory()
config = ReportConfigFactory(disable_reporting=False)
report = config.current_due_report()
# Separate day from month for case where start date + 1 month would exceed next month
# length (31st Oct to 30th Nov)
Expand All @@ -375,27 +375,31 @@ def test_no_report_creates_report(self):

def test_no_report_creates_report_not_in_past(self):
config = ReportConfigFactory(
schedule_start=self.today - relativedelta(months=3)
schedule_start=self.today - relativedelta(months=3), disable_reporting=False
)
report = config.current_due_report()
self.assertEqual(Report.objects.count(), 1)
self.assertEqual(report.end_date, self.today)

def test_no_report_creates_report_if_current_skipped(self):
config = ReportConfigFactory()
config = ReportConfigFactory(disable_reporting=False)
skipped_report = ReportFactory(end_date=self.today + relativedelta(days=3))
report = config.current_due_report()
self.assertEqual(Report.objects.count(), 2)
self.assertNotEqual(skipped_report, report)

def test_no_report_schedule_in_future_creates_report(self):
config = ReportConfigFactory(schedule_start=self.today + relativedelta(days=2))
config = ReportConfigFactory(
schedule_start=self.today + relativedelta(days=2), disable_reporting=False
)
report = config.current_due_report()
self.assertEqual(Report.objects.count(), 1)
self.assertEqual(report.end_date, self.today + relativedelta(days=2))

def test_past_due_report_creates_report(self):
config = ReportConfigFactory(schedule_start=self.today - relativedelta(days=2))
config = ReportConfigFactory(
schedule_start=self.today - relativedelta(days=2), disable_reporting=False
)
ReportFactory(
project=config.project, end_date=self.today - relativedelta(days=1)
)
Expand All @@ -411,11 +415,13 @@ def test_past_due_report_creates_report(self):
self.assertEqual(report.end_date, next_due)

def test_today_schedule_gets_report_today(self):
config = ReportConfigFactory(schedule_start=self.today)
config = ReportConfigFactory(disable_reporting=False, schedule_start=self.today)
self.assertEqual(config.current_due_report().end_date, self.today)

def test_past_due_report_future_schedule_creates_report(self):
config = ReportConfigFactory(schedule_start=self.today + relativedelta(days=3))
config = ReportConfigFactory(
schedule_start=self.today + relativedelta(days=3), disable_reporting=False
)
ReportFactory(
project=config.project, end_date=self.today - relativedelta(days=1)
)
Expand Down
3 changes: 3 additions & 0 deletions hypha/apply/projects/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
PAFApprovalsFactory,
PAFReviewerRoleFactory,
ProjectFactory,
ReportConfigFactory,
ReportFactory,
ReportVersionFactory,
SupportingDocumentFactory,
Expand Down Expand Up @@ -1801,7 +1802,9 @@ def test_can_unskip_report(self):
self.assertFalse(report.skipped)

def test_cant_skip_current_report(self):
config = ReportConfigFactory(disable_reporting=False)
report = ReportFactory(
project=config.project,
project__status=INVOICING_AND_REPORTING,
end_date=timezone.now() + relativedelta(days=1),
)
Expand Down

0 comments on commit 9ae292f

Please sign in to comment.