diff options
Diffstat (limited to 'internal/db/bundb/report_test.go')
-rw-r--r-- | internal/db/bundb/report_test.go | 101 |
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 { |