diff options
author | 2024-02-20 18:50:54 +0100 | |
---|---|---|
committer | 2024-02-20 17:50:54 +0000 | |
commit | 8cafa6b74b81fd8f0e5730007acdabd4c4e98944 (patch) | |
tree | bdea20d2bf47ed76c95b3f98e735d87112cc1e95 /internal/typeutils/internaltofrontend_test.go | |
parent | [bugfix] use start + end line in regex when validating emoji via API (#2671) (diff) | |
download | gotosocial-8cafa6b74b81fd8f0e5730007acdabd4c4e98944.tar.xz |
[feature] Add `requested_by` to relationship model (#2672)
* [feature] Add `requested_by` to relationship model
* whoops, missed some tests
Diffstat (limited to 'internal/typeutils/internaltofrontend_test.go')
-rw-r--r-- | internal/typeutils/internaltofrontend_test.go | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/internal/typeutils/internaltofrontend_test.go b/internal/typeutils/internaltofrontend_test.go index c99099445..9003dcca3 100644 --- a/internal/typeutils/internaltofrontend_test.go +++ b/internal/typeutils/internaltofrontend_test.go @@ -1967,6 +1967,94 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontendSuspendedLoca }`, string(b)) } +func (suite *InternalToFrontendTestSuite) TestRelationshipFollowRequested() { + var ( + ctx = context.Background() + account1 = suite.testAccounts["admin_account"] + account2 = suite.testAccounts["local_account_2"] + ) + + // Put a follow request in the db from + // admin account targeting local_account_2. + followRequest := >smodel.FollowRequest{ + ID: "01GEF753FWHCHRDWR0QEHBXM8W", + URI: "http://localhost:8080/weeeeeeeeeeeeeeeee", + AccountID: account1.ID, + TargetAccountID: account2.ID, + } + if err := suite.db.PutFollowRequest(ctx, followRequest); err != nil { + suite.FailNow(err.Error()) + } + + // Fetch the relationship from the database. + dbRelationship, err := suite.state.DB.GetRelationship(ctx, account1.ID, account2.ID) + if err != nil { + suite.FailNow(err.Error()) + } + + // Check API model is set appropriately. + relationship, err := suite.typeconverter.RelationshipToAPIRelationship(ctx, dbRelationship) + if err != nil { + suite.FailNow(err.Error()) + } + + b, err := json.MarshalIndent(relationship, "", " ") + if err != nil { + suite.FailNow(err.Error()) + } + + suite.Equal(`{ + "id": "01F8MH5NBDF2MV7CTC4Q5128HF", + "following": false, + "showing_reblogs": false, + "notifying": false, + "followed_by": false, + "blocking": false, + "blocked_by": false, + "muting": false, + "muting_notifications": false, + "requested": true, + "requested_by": false, + "domain_blocking": false, + "endorsed": false, + "note": "" +}`, string(b)) + + // Check relationship from the other side too. + dbRelationship, err = suite.state.DB.GetRelationship(ctx, account2.ID, account1.ID) + if err != nil { + suite.FailNow(err.Error()) + } + + // Check API model is set appropriately. + relationship, err = suite.typeconverter.RelationshipToAPIRelationship(ctx, dbRelationship) + if err != nil { + suite.FailNow(err.Error()) + } + + b, err = json.MarshalIndent(relationship, "", " ") + if err != nil { + suite.FailNow(err.Error()) + } + + suite.Equal(`{ + "id": "01F8MH17FWEB39HZJ76B6VXSKF", + "following": false, + "showing_reblogs": false, + "notifying": false, + "followed_by": false, + "blocking": false, + "blocked_by": false, + "muting": false, + "muting_notifications": false, + "requested": false, + "requested_by": true, + "domain_blocking": false, + "endorsed": false, + "note": "" +}`, string(b)) +} + func TestInternalToFrontendTestSuite(t *testing.T) { suite.Run(t, new(InternalToFrontendTestSuite)) } |