summaryrefslogtreecommitdiff
path: root/internal/processing/account/follow_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing/account/follow_test.go')
-rw-r--r--internal/processing/account/follow_test.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/internal/processing/account/follow_test.go b/internal/processing/account/follow_test.go
index ed6b62304..c269dc710 100644
--- a/internal/processing/account/follow_test.go
+++ b/internal/processing/account/follow_test.go
@@ -20,9 +20,12 @@ package account_test
import (
"context"
"testing"
+ "time"
"github.com/stretchr/testify/suite"
+ "github.com/superseriousbusiness/gotosocial/internal/ap"
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
+ "github.com/superseriousbusiness/gotosocial/internal/messages"
"github.com/superseriousbusiness/gotosocial/internal/util"
)
@@ -130,6 +133,39 @@ func (suite *FollowTestSuite) TestUpdateExistingFollowSetNothing() {
suite.False(relationship.Notifying)
}
+func (suite *FollowTestSuite) TestFollowRequestLocal() {
+ ctx := context.Background()
+ requestingAccount := suite.testAccounts["admin_account"]
+ targetAccount := suite.testAccounts["local_account_2"]
+
+ // Have admin follow request turtle.
+ _, err := suite.accountProcessor.FollowCreate(
+ ctx,
+ requestingAccount,
+ &apimodel.AccountFollowRequest{
+ ID: targetAccount.ID,
+ Reblogs: util.Ptr(true),
+ Notify: util.Ptr(false),
+ })
+ if err != nil {
+ suite.FailNow(err.Error())
+ }
+
+ // There should be a message going to the worker.
+ var cMsg messages.FromClientAPI
+ select {
+ case cMsg = <-suite.fromClientAPIChan:
+ // No problem.
+ case <-time.After(5 * time.Second):
+ suite.FailNow("timed out waiting for message")
+ }
+
+ suite.Equal(ap.ActivityCreate, cMsg.APActivityType)
+ suite.Equal(ap.ActivityFollow, cMsg.APObjectType)
+ suite.Equal(requestingAccount.ID, cMsg.OriginAccount.ID)
+ suite.Equal(targetAccount.ID, cMsg.TargetAccount.ID)
+}
+
func TestFollowTestS(t *testing.T) {
suite.Run(t, new(FollowTestSuite))
}