summaryrefslogtreecommitdiff
path: root/internal/db/bundb/report_test.go
diff options
context:
space:
mode:
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 {