summaryrefslogtreecommitdiff
path: root/internal/processing/account/update_test.go
diff options
context:
space:
mode:
authorLibravatar Michael Manfre <mmanfre@gmail.com>2022-11-19 04:07:51 -0500
committerLibravatar GitHub <noreply@github.com>2022-11-19 10:07:51 +0100
commit67106c9dc4b2139878ba1fc44ef268f0a4efd804 (patch)
treef338cf04f46b4246f6dc85a1b6f3be133f483531 /internal/processing/account/update_test.go
parent[docs] Move and document logs (#1076) (diff)
downloadgotosocial-67106c9dc4b2139878ba1fc44ef268f0a4efd804.tar.xz
[feature] Support markdown format for Account bio/note (#1037)
* [feature] Status format also controls bio format * test
Diffstat (limited to 'internal/processing/account/update_test.go')
-rw-r--r--internal/processing/account/update_test.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/internal/processing/account/update_test.go b/internal/processing/account/update_test.go
index 0483154c6..3f6c338e8 100644
--- a/internal/processing/account/update_test.go
+++ b/internal/processing/account/update_test.go
@@ -112,6 +112,44 @@ func (suite *AccountUpdateTestSuite) TestAccountUpdateWithMention() {
suite.Equal(noteExpected, dbAccount.Note)
}
+func (suite *AccountUpdateTestSuite) TestAccountUpdateWithMarkdownNote() {
+ testAccount := suite.testAccounts["local_account_1"]
+
+ note := "*hello* ~~here~~ i am!"
+ expectedNote := `<p><em>hello</em> <del>here</del> i am!</p>`
+
+ form := &apimodel.UpdateCredentialsRequest{
+ Note: &note,
+ }
+
+ // set default post language of account 1 to markdown
+ testAccount.StatusFormat = "markdown"
+
+ // should get no error from the update function, and an api model account returned
+ apiAccount, errWithCode := suite.accountProcessor.Update(context.Background(), testAccount, form)
+ // reset test account to avoid breaking other tests
+ testAccount.StatusFormat = "plain"
+ suite.NoError(errWithCode)
+ suite.NotNil(apiAccount)
+
+ // fields on the profile should be updated
+ suite.Equal(expectedNote, apiAccount.Note)
+
+ // we should have an update in the client api channel
+ msg := <-suite.fromClientAPIChan
+ suite.Equal(ap.ActivityUpdate, msg.APActivityType)
+ suite.Equal(ap.ObjectProfile, msg.APObjectType)
+ suite.NotNil(msg.OriginAccount)
+ suite.Equal(testAccount.ID, msg.OriginAccount.ID)
+ suite.Nil(msg.TargetAccount)
+
+ // fields should be updated in the database as well
+ dbAccount, err := suite.db.GetAccountByID(context.Background(), testAccount.ID)
+ suite.NoError(err)
+ suite.Equal(expectedNote, dbAccount.Note)
+
+}
+
func TestAccountUpdateTestSuite(t *testing.T) {
suite.Run(t, new(AccountUpdateTestSuite))
}