diff options
author | 2025-02-03 02:25:53 -0800 | |
---|---|---|
committer | 2025-02-03 10:25:53 +0000 | |
commit | 27844b7da2567491661f9ddd2d4662f9f1b3ce40 (patch) | |
tree | 1832fe4ec4d3a0fbf6d01bcb5f39acf6885cc1f5 /internal/api/client/push/pushsubscriptionput_test.go | |
parent | [chore]: Bump github.com/tdewolff/minify/v2 from 2.21.2 to 2.21.3 (#3727) (diff) | |
download | gotosocial-27844b7da2567491661f9ddd2d4662f9f1b3ce40.tar.xz |
[feature] Implement Web Push notification policy (#3721)
* Web Push: add policy column to subscriptions
* Web Push: add policy to API
* Web Push: test notification policy
* go-fmt unrelated file (how did this get thru?)
Diffstat (limited to 'internal/api/client/push/pushsubscriptionput_test.go')
-rw-r--r-- | internal/api/client/push/pushsubscriptionput_test.go | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/internal/api/client/push/pushsubscriptionput_test.go b/internal/api/client/push/pushsubscriptionput_test.go index 924e3d475..d9f0e395e 100644 --- a/internal/api/client/push/pushsubscriptionput_test.go +++ b/internal/api/client/push/pushsubscriptionput_test.go @@ -41,6 +41,7 @@ func (suite *PushTestSuite) putSubscription( tokenFixtureName string, alertsMention *bool, alertsStatus *bool, + policy *string, requestJson *string, expectedHTTPStatus int, ) (*apimodel.WebPushSubscription, error) { @@ -68,6 +69,9 @@ func (suite *PushTestSuite) putSubscription( if alertsStatus != nil { ctx.Request.Form["data[alerts][status]"] = []string{strconv.FormatBool(*alertsStatus)} } + if policy != nil { + ctx.Request.Form["data[policy]"] = []string{*policy} + } } // trigger the handler @@ -104,11 +108,13 @@ func (suite *PushTestSuite) TestPutSubscription() { alertsMention := true alertsStatus := false + policy := "followed" subscription, err := suite.putSubscription( accountFixtureName, tokenFixtureName, &alertsMention, &alertsStatus, + &policy, nil, 200, ) @@ -120,6 +126,7 @@ func (suite *PushTestSuite) TestPutSubscription() { suite.False(subscription.Alerts.Status) // Omitted event types should default to off. suite.False(subscription.Alerts.Favourite) + suite.Equal(apimodel.WebPushNotificationPolicyFollowed, subscription.Policy) } } @@ -134,7 +141,8 @@ func (suite *PushTestSuite) TestPutSubscriptionJSON() { "alerts": { "mention": true, "status": false - } + }, + "policy": "followed" } }` subscription, err := suite.putSubscription( @@ -142,6 +150,7 @@ func (suite *PushTestSuite) TestPutSubscriptionJSON() { tokenFixtureName, nil, nil, + nil, &requestJson, 200, ) @@ -153,6 +162,7 @@ func (suite *PushTestSuite) TestPutSubscriptionJSON() { suite.False(subscription.Alerts.Status) // Omitted event types should default to off. suite.False(subscription.Alerts.Favourite) + suite.Equal(apimodel.WebPushNotificationPolicyFollowed, subscription.Policy) } } @@ -170,6 +180,7 @@ func (suite *PushTestSuite) TestPutMissingSubscription() { &alertsMention, &alertsStatus, nil, + nil, 404, ) suite.NoError(err) |