(t *testing.T)
| 82 | } |
| 83 | |
| 84 | func TestUpdateStatusBatch(t *testing.T) { |
| 85 | ctx := context.Background() |
| 86 | client, requester := newClient(t) |
| 87 | |
| 88 | batchReq := stream.UpdateStatusBatchRequest{ |
| 89 | ModeratorID: "moderator_123", |
| 90 | Updates: []stream.UpdateStatusBatchItem{ |
| 91 | { |
| 92 | EntityType: "stream:feeds:v2:activity", |
| 93 | EntityID: "activity_1", |
| 94 | Status: "complete", |
| 95 | RecommendedAction: "watch", |
| 96 | LatestModeratorAction: "mark_safe", |
| 97 | }, |
| 98 | { |
| 99 | EntityType: "stream:feeds:v2:reaction", |
| 100 | EntityID: "reaction_1", |
| 101 | Status: "complete", |
| 102 | RecommendedAction: "flag", |
| 103 | LatestModeratorAction: "mark_harmful", |
| 104 | }, |
| 105 | }, |
| 106 | } |
| 107 | |
| 108 | // Mock the response |
| 109 | requester.resp = `{ |
| 110 | "results": [ |
| 111 | { |
| 112 | "entity_id": "activity_1", |
| 113 | "entity_type": "stream:feeds:v2:activity", |
| 114 | "success": true |
| 115 | }, |
| 116 | { |
| 117 | "entity_id": "reaction_1", |
| 118 | "entity_type": "stream:feeds:v2:reaction", |
| 119 | "success": true |
| 120 | } |
| 121 | ] |
| 122 | }` |
| 123 | |
| 124 | resp, err := client.Moderation().UpdateStatusBatch(ctx, batchReq) |
| 125 | require.NoError(t, err) |
| 126 | require.NotNil(t, resp) |
| 127 | require.Len(t, resp.Results, 2) |
| 128 | require.Equal(t, "activity_1", resp.Results[0].EntityID) |
| 129 | require.Equal(t, "stream:feeds:v2:activity", resp.Results[0].EntityType) |
| 130 | require.True(t, resp.Results[0].Success) |
| 131 | require.Equal(t, "reaction_1", resp.Results[1].EntityID) |
| 132 | require.Equal(t, "stream:feeds:v2:reaction", resp.Results[1].EntityType) |
| 133 | require.True(t, resp.Results[1].Success) |
| 134 | |
| 135 | testRequest( |
| 136 | t, |
| 137 | requester.req, |
| 138 | http.MethodPost, |
| 139 | "https://api.stream-io-api.com/api/v1.0/moderation/status/batch/?api_key=key", |
| 140 | `{"moderator_id":"moderator_123","updates":[{"entity_type":"stream:feeds:v2:activity","entity_id":"activity_1","status":"complete","recommended_action":"watch","latest_moderator_action":"mark_safe"},{"entity_type":"stream:feeds:v2:reaction","entity_id":"reaction_1","status":"complete","recommended_action":"flag","latest_moderator_action":"mark_harmful"}]}`, |
| 141 | ) |
nothing calls this directly
no test coverage detected