summaryrefslogtreecommitdiff
path: root/internal/visibility/home_timeline_test.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-09-29 10:39:35 +0200
committerLibravatar GitHub <noreply@github.com>2023-09-29 10:39:35 +0200
commitb6b8f82c874ed555f67439a4e012d1003a8c5255 (patch)
tree8541d082ce1081cbca1b906703c78fd4cc67fb61 /internal/visibility/home_timeline_test.go
parent[chore] Enable S256 code challenge (#2224) (diff)
downloadgotosocial-b6b8f82c874ed555f67439a4e012d1003a8c5255.tar.xz
[bugfix] Move follow.show_reblogs check further up to avoid showing unwanted reblogs in home timeline (#2234)
Diffstat (limited to 'internal/visibility/home_timeline_test.go')
-rw-r--r--internal/visibility/home_timeline_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/internal/visibility/home_timeline_test.go b/internal/visibility/home_timeline_test.go
index bc64c6425..d8211c8dd 100644
--- a/internal/visibility/home_timeline_test.go
+++ b/internal/visibility/home_timeline_test.go
@@ -55,6 +55,38 @@ func (suite *StatusStatusHomeTimelineableTestSuite) TestFollowingStatusHomeTimel
suite.True(timelineable)
}
+func (suite *StatusStatusHomeTimelineableTestSuite) TestFollowingBoostedStatusHomeTimelineable() {
+ ctx := context.Background()
+
+ testStatus := suite.testStatuses["admin_account_status_4"]
+ testAccount := suite.testAccounts["local_account_1"]
+ timelineable, err := suite.filter.StatusHomeTimelineable(ctx, testAccount, testStatus)
+ suite.NoError(err)
+
+ suite.True(timelineable)
+}
+
+func (suite *StatusStatusHomeTimelineableTestSuite) TestFollowingBoostedStatusHomeTimelineableNoReblogs() {
+ ctx := context.Background()
+
+ // Update follow to indicate that local_account_1
+ // doesn't want to see reblogs by admin_account.
+ follow := &gtsmodel.Follow{}
+ *follow = *suite.testFollows["local_account_1_admin_account"]
+ follow.ShowReblogs = util.Ptr(false)
+
+ if err := suite.db.UpdateFollow(ctx, follow, "show_reblogs"); err != nil {
+ suite.FailNow(err.Error())
+ }
+
+ testStatus := suite.testStatuses["admin_account_status_4"]
+ testAccount := suite.testAccounts["local_account_1"]
+ timelineable, err := suite.filter.StatusHomeTimelineable(ctx, testAccount, testStatus)
+ suite.NoError(err)
+
+ suite.False(timelineable)
+}
+
func (suite *StatusStatusHomeTimelineableTestSuite) TestNotFollowingStatusHomeTimelineable() {
testStatus := suite.testStatuses["remote_account_1_status_1"]
testAccount := suite.testAccounts["local_account_1"]