From 74bddee30bc1365a658bdf2396b710684ecc461b Mon Sep 17 00:00:00 2001 From: Leni Kadali Date: Wed, 25 Jun 2025 13:07:13 +0300 Subject: [PATCH] Fix type, add attempt at test Fix type comparison and add an attempt at a test for the new method --- services/moderation/reporting.go | 2 +- services/moderation/reporting_test.go | 35 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 services/moderation/reporting_test.go diff --git a/services/moderation/reporting.go b/services/moderation/reporting.go index e2bbb77f63..fa30c52356 100644 --- a/services/moderation/reporting.go +++ b/services/moderation/reporting.go @@ -145,7 +145,7 @@ func RemoveResolvedReports(ctx context.Context, timeout time.Duration) error { return err } - if report.ShadowCopyID.valid && report.ShadowCopyID.Int64 != 0 { + if report.ShadowCopyID.Valid && report.ShadowCopyID.Int64 != 0 { _, err := db.GetEngine(ctx).ID(report.ShadowCopyID).Delete(&moderation.AbuseReportShadowCopy{}) if err != nil { return err diff --git a/services/moderation/reporting_test.go b/services/moderation/reporting_test.go new file mode 100644 index 0000000000..326262e38b --- /dev/null +++ b/services/moderation/reporting_test.go @@ -0,0 +1,35 @@ +package moderation + +import ( + "testing" + + "forgejo.org/models/db" + report_model "forgejo.org/models/moderation" + "forgejo.org/models/unittest" + "forgejo.org/modules/timeutil" + + "github.com/stretchr/testify/require" +) + +func TestMain(m *testing.M) { + unittest.MainTest(m) +} + +func TestRemoveResolvedReportsTypeHandled(t *testing.T) { + require.NoError(t, unittest.PrepareTestDatabase()) + // Add a resolved report + resolvedReport := &report_model.AbuseReport{ + Status: report_model.ReportStatusTypeHandled, + ReporterID: 1, ContentType: report_model.ReportedContentTypeRepository, + ContentID: 2, Category: report_model.AbuseCategoryTypeOther, + CreatedUnix: timeutil.TimeStampNow(), + } + _, err := db.GetEngine(db.DefaultContext).NoAutoTime().Insert(resolvedReport) + require.NoError(t, err) + + err = RemoveResolvedReports(db.DefaultContext, 0) + require.NoError(t, err) + + // Resolved reports older than a minute should be deleted. + unittest.AssertExistsIf(t, false, resolvedReport) +}