[feature] Implemented notification clear (#720)

* Implemented notification clear

* Added the cache clear mechanism

* added multi user check test
This commit is contained in:
Artémis 2022-08-01 11:13:49 +02:00 committed by GitHub
commit 4fdbef04b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 109 additions and 1 deletions

View file

@ -118,6 +118,35 @@ func (suite *NotificationTestSuite) TestGetNotificationsWithoutSpam() {
}
}
func (suite *NotificationTestSuite) TestClearNotificationsWithSpam() {
suite.spamNotifs()
testAccount := suite.testAccounts["local_account_1"]
err := suite.db.ClearNotifications(context.Background(), testAccount.ID)
suite.NoError(err)
notifications, err := suite.db.GetNotifications(context.Background(), testAccount.ID, 20, "ZZZZZZZZZZZZZZZZZZZZZZZZZZ", "00000000000000000000000000")
suite.NoError(err)
suite.NotNil(notifications)
suite.Empty(notifications)
}
func (suite *NotificationTestSuite) TestClearNotificationsWithTwoAccounts() {
suite.spamNotifs()
testAccount := suite.testAccounts["local_account_1"]
err := suite.db.ClearNotifications(context.Background(), testAccount.ID)
suite.NoError(err)
notifications, err := suite.db.GetNotifications(context.Background(), testAccount.ID, 20, "ZZZZZZZZZZZZZZZZZZZZZZZZZZ", "00000000000000000000000000")
suite.NoError(err)
suite.NotNil(notifications)
suite.Empty(notifications)
notif := []*gtsmodel.Notification{}
err = suite.db.GetAll(context.Background(), &notif)
suite.NoError(err)
suite.NotEmpty(notif)
}
func TestNotificationTestSuite(t *testing.T) {
suite.Run(t, new(NotificationTestSuite))
}