Skip to content

Commit 4890318

Browse files
[CHA-739] - Privacy settings by default true (#309)
* privacy setting by default true * cleaning up
1 parent ca4898d commit 4890318

File tree

2 files changed

+42
-28
lines changed

2 files changed

+42
-28
lines changed

user.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ type ChannelMute struct {
3030
}
3131

3232
type PrivacySettings struct {
33-
TypingIndicators TypingIndicators `json:"typing_indicators,omitempty"`
34-
ReadReceipts ReadReceipts `json:"read_receipts,omitempty"`
33+
TypingIndicators *TypingIndicators `json:"typing_indicators,omitempty"`
34+
ReadReceipts *ReadReceipts `json:"read_receipts,omitempty"`
3535
}
3636

3737
type TypingIndicators struct {
@@ -50,9 +50,9 @@ type User struct {
5050
Teams []string `json:"teams,omitempty"`
5151
Language string `json:"language,omitempty"`
5252

53-
Online bool `json:"online,omitempty"`
54-
Invisible bool `json:"invisible,omitempty"`
55-
PrivacySettings PrivacySettings `json:"privacy_settings,omitempty"`
53+
Online bool `json:"online,omitempty"`
54+
Invisible bool `json:"invisible,omitempty"`
55+
PrivacySettings *PrivacySettings `json:"privacy_settings,omitempty"`
5656

5757
CreatedAt *time.Time `json:"created_at,omitempty"`
5858
UpdatedAt *time.Time `json:"updated_at,omitempty"`

user_test.go

Lines changed: 37 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -221,38 +221,39 @@ func TestClient_UpdatePrivacySettings(t *testing.T) {
221221
resp, err := c.UpsertUser(ctx, user)
222222
require.NoError(t, err, "update users")
223223

224-
assert.Equal(t, resp.User.ID, user.ID)
225-
assert.NotNil(t, resp.User.PrivacySettings)
226-
assert.False(t, resp.User.PrivacySettings.TypingIndicators.Enabled)
227-
assert.False(t, resp.User.PrivacySettings.ReadReceipts.Enabled)
224+
require.Equal(t, resp.User.ID, user.ID)
225+
require.Nil(t, resp.User.PrivacySettings)
228226

229227
user = resp.User
230-
user.PrivacySettings = PrivacySettings{
231-
TypingIndicators: TypingIndicators{
232-
Enabled: true,
228+
user.PrivacySettings = &PrivacySettings{
229+
TypingIndicators: &TypingIndicators{
230+
Enabled: false,
233231
},
234232
}
235233
resp, err = c.UpsertUser(ctx, user)
236234
require.NoError(t, err, "update users")
237235

238-
assert.Equal(t, resp.User.ID, user.ID)
239-
assert.NotNil(t, resp.User.PrivacySettings)
240-
assert.True(t, resp.User.PrivacySettings.TypingIndicators.Enabled)
241-
assert.False(t, resp.User.PrivacySettings.ReadReceipts.Enabled)
236+
require.Equal(t, resp.User.ID, user.ID)
237+
require.NotNil(t, resp.User.PrivacySettings)
238+
require.False(t, resp.User.PrivacySettings.TypingIndicators.Enabled)
239+
require.Nil(t, resp.User.PrivacySettings.ReadReceipts)
242240

243241
user = resp.User
244-
user.PrivacySettings = PrivacySettings{
245-
ReadReceipts: ReadReceipts{
242+
user.PrivacySettings = &PrivacySettings{
243+
TypingIndicators: &TypingIndicators{
246244
Enabled: true,
247245
},
246+
ReadReceipts: &ReadReceipts{
247+
Enabled: false,
248+
},
248249
}
249250
resp, err = c.UpsertUser(ctx, user)
250251
require.NoError(t, err, "update users")
251252

252-
assert.Equal(t, resp.User.ID, user.ID)
253-
assert.NotNil(t, resp.User.PrivacySettings)
254-
assert.False(t, resp.User.PrivacySettings.TypingIndicators.Enabled)
255-
assert.True(t, resp.User.PrivacySettings.ReadReceipts.Enabled)
253+
require.Equal(t, resp.User.ID, user.ID)
254+
require.NotNil(t, resp.User.PrivacySettings)
255+
require.True(t, resp.User.PrivacySettings.TypingIndicators.Enabled)
256+
require.False(t, resp.User.PrivacySettings.ReadReceipts.Enabled)
256257
}
257258

258259
func TestClient_PartialUpdateUsers(t *testing.T) {
@@ -300,10 +301,8 @@ func TestClient_PartialUpdatePrivacySettings(t *testing.T) {
300301
upsertResponse, err := c.UpsertUser(ctx, user)
301302
require.NoError(t, err, "update users")
302303

303-
assert.Equal(t, upsertResponse.User.ID, user.ID)
304-
assert.NotNil(t, upsertResponse.User.PrivacySettings)
305-
assert.False(t, upsertResponse.User.PrivacySettings.TypingIndicators.Enabled)
306-
assert.False(t, upsertResponse.User.PrivacySettings.ReadReceipts.Enabled)
304+
require.Equal(t, upsertResponse.User.ID, user.ID)
305+
require.Nil(t, upsertResponse.User.PrivacySettings)
307306

308307
update := PartialUserUpdate{
309308
ID: user.ID,
@@ -319,8 +318,23 @@ func TestClient_PartialUpdatePrivacySettings(t *testing.T) {
319318
partialUpdateResponse, err := c.PartialUpdateUsers(ctx, []PartialUserUpdate{update})
320319
require.NoError(t, err, "partial update user")
321320

322-
assert.True(t, partialUpdateResponse.Users[user.ID].PrivacySettings.TypingIndicators.Enabled)
323-
assert.False(t, partialUpdateResponse.Users[user.ID].PrivacySettings.ReadReceipts.Enabled)
321+
require.True(t, partialUpdateResponse.Users[user.ID].PrivacySettings.TypingIndicators.Enabled)
322+
require.Nil(t, partialUpdateResponse.Users[user.ID].PrivacySettings.ReadReceipts)
323+
324+
update = PartialUserUpdate{
325+
ID: user.ID,
326+
Set: map[string]interface{}{
327+
"privacy_settings": map[string]interface{}{
328+
"read_receipts": map[string]interface{}{
329+
"enabled": false,
330+
},
331+
},
332+
},
333+
}
334+
partialUpdateResponse, err = c.PartialUpdateUsers(ctx, []PartialUserUpdate{update})
335+
require.NoError(t, err, "partial update user")
336+
require.True(t, partialUpdateResponse.Users[user.ID].PrivacySettings.TypingIndicators.Enabled)
337+
require.False(t, partialUpdateResponse.Users[user.ID].PrivacySettings.ReadReceipts.Enabled)
324338
}
325339

326340
func ExampleClient_UpsertUser() {

0 commit comments

Comments
 (0)