mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-02 07:42:24 -06:00
[bugfix/chore] Refactor timeline code (#1656)
* start poking timelines * OK yes we're refactoring, but it's nothing like the last time so don't worry * more fiddling * update tests, simplify Get * thanks linter, you're the best, mwah mwah kisses * do a bit more tidying up * start buggering about with the prepare function * fix little oopsie * start merging lists into 1 * ik heb een heel zwaar leven nee nee echt waar * hey it works we did it reddit * regenerate swagger docs * tidy up a wee bit * adjust paging * fix little error, remove unused functions
This commit is contained in:
parent
c54510bc74
commit
3510454768
22 changed files with 1319 additions and 1365 deletions
|
|
@ -52,7 +52,7 @@ func (suite *PruneTestSuite) SetupTest() {
|
|||
testrig.StandardDBSetup(suite.db, nil)
|
||||
|
||||
// let's take local_account_1 as the timeline owner
|
||||
tl, err := timeline.NewTimeline(
|
||||
tl := timeline.NewTimeline(
|
||||
context.Background(),
|
||||
suite.testAccounts["local_account_1"].ID,
|
||||
processing.StatusGrabFunction(suite.db),
|
||||
|
|
@ -60,9 +60,6 @@ func (suite *PruneTestSuite) SetupTest() {
|
|||
processing.StatusPrepareFunction(suite.db, suite.tc),
|
||||
processing.StatusSkipInsertFunction(),
|
||||
)
|
||||
if err != nil {
|
||||
suite.FailNow(err.Error())
|
||||
}
|
||||
|
||||
// put the status IDs in a determinate order since we can't trust a map to keep its order
|
||||
statuses := []*gtsmodel.Status{}
|
||||
|
|
@ -90,20 +87,30 @@ func (suite *PruneTestSuite) TearDownTest() {
|
|||
|
||||
func (suite *PruneTestSuite) TestPrune() {
|
||||
// prune down to 5 prepared + 5 indexed
|
||||
suite.Equal(24, suite.timeline.Prune(5, 5))
|
||||
suite.Equal(5, suite.timeline.ItemIndexLength(context.Background()))
|
||||
suite.Equal(12, suite.timeline.Prune(5, 5))
|
||||
suite.Equal(5, suite.timeline.Len())
|
||||
}
|
||||
|
||||
func (suite *PruneTestSuite) TestPruneTwice() {
|
||||
// prune down to 5 prepared + 10 indexed
|
||||
suite.Equal(12, suite.timeline.Prune(5, 10))
|
||||
suite.Equal(10, suite.timeline.Len())
|
||||
|
||||
// Prune same again, nothing should be pruned this time.
|
||||
suite.Zero(suite.timeline.Prune(5, 10))
|
||||
suite.Equal(10, suite.timeline.Len())
|
||||
}
|
||||
|
||||
func (suite *PruneTestSuite) TestPruneTo0() {
|
||||
// prune down to 0 prepared + 0 indexed
|
||||
suite.Equal(34, suite.timeline.Prune(0, 0))
|
||||
suite.Equal(0, suite.timeline.ItemIndexLength(context.Background()))
|
||||
suite.Equal(17, suite.timeline.Prune(0, 0))
|
||||
suite.Equal(0, suite.timeline.Len())
|
||||
}
|
||||
|
||||
func (suite *PruneTestSuite) TestPruneToInfinityAndBeyond() {
|
||||
// prune to 99999, this should result in no entries being pruned
|
||||
suite.Equal(0, suite.timeline.Prune(99999, 99999))
|
||||
suite.Equal(17, suite.timeline.ItemIndexLength(context.Background()))
|
||||
suite.Equal(17, suite.timeline.Len())
|
||||
}
|
||||
|
||||
func TestPruneTestSuite(t *testing.T) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue