summaryrefslogtreecommitdiff
path: root/internal/api/client/push/pushsubscriptionput_test.go
diff options
context:
space:
mode:
authorLibravatar Vyr Cossont <VyrCossont@users.noreply.github.com>2025-02-03 02:25:53 -0800
committerLibravatar GitHub <noreply@github.com>2025-02-03 10:25:53 +0000
commit27844b7da2567491661f9ddd2d4662f9f1b3ce40 (patch)
tree1832fe4ec4d3a0fbf6d01bcb5f39acf6885cc1f5 /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)
downloadgotosocial-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.go13
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)