summaryrefslogtreecommitdiff
path: root/internal/db/bundb/report_test.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-06-18 18:18:00 +0200
committerLibravatar GitHub <noreply@github.com>2024-06-18 18:18:00 +0200
commitd2b3d37724a999d4cc78c46157593267e29d184e (patch)
treeac72be127d8adb80bbd756ad970ae14df7b5618f /internal/db/bundb/report_test.go
parent[feature] Implement types[] param for notifications (#3009) (diff)
downloadgotosocial-d2b3d37724a999d4cc78c46157593267e29d184e.tar.xz
[feature/frontend] Reports frontend v2 (#3022)
* use apiutil + paging in admin processor+handlers * we're making it happen * fix little whoopsie * styling for report list * don't youuuu forget about meee don't don't don't don't * last bits * sanitize content before showing in report statuses * update report docs
Diffstat (limited to 'internal/db/bundb/report_test.go')
-rw-r--r--internal/db/bundb/report_test.go101
1 files changed, 99 insertions, 2 deletions
diff --git a/internal/db/bundb/report_test.go b/internal/db/bundb/report_test.go
index 594b0b7aa..1a488c729 100644
--- a/internal/db/bundb/report_test.go
+++ b/internal/db/bundb/report_test.go
@@ -24,6 +24,8 @@ import (
"github.com/stretchr/testify/suite"
"github.com/superseriousbusiness/gotosocial/internal/db"
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
+ "github.com/superseriousbusiness/gotosocial/internal/id"
+ "github.com/superseriousbusiness/gotosocial/internal/paging"
"github.com/superseriousbusiness/gotosocial/internal/util"
"github.com/superseriousbusiness/gotosocial/testrig"
)
@@ -61,14 +63,109 @@ func (suite *ReportTestSuite) TestGetReportByURI() {
}
func (suite *ReportTestSuite) TestGetAllReports() {
- reports, err := suite.db.GetReports(context.Background(), nil, "", "", "", "", "", 0)
+ reports, err := suite.db.GetReports(
+ context.Background(),
+ nil,
+ "",
+ "",
+ &paging.Page{},
+ )
suite.NoError(err)
suite.NotEmpty(reports)
}
+func (suite *ReportTestSuite) TestReportPagingDown() {
+ // Get one from the top.
+ reports1, err := suite.db.GetReports(
+ context.Background(),
+ nil,
+ "",
+ "",
+ &paging.Page{
+ Limit: 1,
+ },
+ )
+ if err != nil {
+ suite.FailNow(err.Error())
+ }
+ if l := len(reports1); l != 1 {
+ suite.FailNowf("", "expected reports len 1, got %d", l)
+ }
+ id1 := reports1[0].ID
+
+ // Use this one to page down.
+ reports2, err := suite.db.GetReports(
+ context.Background(),
+ nil,
+ "",
+ "",
+ &paging.Page{
+ Limit: 1,
+ Max: paging.MaxID(id1),
+ },
+ )
+ if err != nil {
+ suite.FailNow(err.Error())
+ }
+ if l := len(reports2); l != 1 {
+ suite.FailNowf("", "expected reports len 1, got %d", l)
+ }
+ id2 := reports2[0].ID
+
+ suite.Greater(id1, id2)
+}
+
+func (suite *ReportTestSuite) TestReportPagingUp() {
+ // Get one from the bottom.
+ reports1, err := suite.db.GetReports(
+ context.Background(),
+ nil,
+ "",
+ "",
+ &paging.Page{
+ Limit: 1,
+ Min: paging.MinID(id.Lowest),
+ },
+ )
+ if err != nil {
+ suite.FailNow(err.Error())
+ }
+ if l := len(reports1); l != 1 {
+ suite.FailNowf("", "expected reports len 1, got %d", l)
+ }
+ id1 := reports1[0].ID
+
+ // Use this one to page up.
+ reports2, err := suite.db.GetReports(
+ context.Background(),
+ nil,
+ "",
+ "",
+ &paging.Page{
+ Limit: 1,
+ Min: paging.MinID(id1),
+ },
+ )
+ if err != nil {
+ suite.FailNow(err.Error())
+ }
+ if l := len(reports2); l != 1 {
+ suite.FailNowf("", "expected reports len 1, got %d", l)
+ }
+ id2 := reports2[0].ID
+
+ suite.Less(id1, id2)
+}
+
func (suite *ReportTestSuite) TestGetAllReportsByAccountID() {
accountID := suite.testAccounts["local_account_2"].ID
- reports, err := suite.db.GetReports(context.Background(), nil, accountID, "", "", "", "", 0)
+ reports, err := suite.db.GetReports(
+ context.Background(),
+ nil,
+ accountID,
+ "",
+ &paging.Page{},
+ )
suite.NoError(err)
suite.NotEmpty(reports)
for _, r := range reports {