diff options
Diffstat (limited to 'api4/channel_test.go')
-rw-r--r-- | api4/channel_test.go | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/api4/channel_test.go b/api4/channel_test.go index 918b37c0f..d588c0c25 100644 --- a/api4/channel_test.go +++ b/api4/channel_test.go @@ -2335,3 +2335,52 @@ func TestUpdateChannelScheme(t *testing.T) { _, resp = th.SystemAdminClient.UpdateChannelScheme(channel.Id, channelScheme.Id) CheckUnauthorizedStatus(t, resp) } + +func TestGetChannelMembersTimezones(t *testing.T) { + th := Setup().InitBasic().InitSystemAdmin() + defer th.TearDown() + Client := th.Client + + user := th.BasicUser + user.Timezone["useAutomaticTimezone"] = "false" + user.Timezone["manualTimezone"] = "XOXO/BLABLA" + _, resp := Client.UpdateUser(user) + CheckNoError(t, resp) + + user2 := th.BasicUser2 + user2.Timezone["automaticTimezone"] = "NoWhere/Island" + _, resp = th.SystemAdminClient.UpdateUser(user2) + CheckNoError(t, resp) + + timezone, resp := Client.GetChannelMembersTimezones(th.BasicChannel.Id) + CheckNoError(t, resp) + if len(timezone) != 2 { + t.Fatal("should return 2 timezones") + } + + //both users have same timezone + user2.Timezone["automaticTimezone"] = "XOXO/BLABLA" + _, resp = th.SystemAdminClient.UpdateUser(user2) + CheckNoError(t, resp) + + timezone, resp = Client.GetChannelMembersTimezones(th.BasicChannel.Id) + CheckNoError(t, resp) + if len(timezone) != 1 { + t.Fatal("should return 1 timezone") + } + + //no timezone set should return empty + user2.Timezone["automaticTimezone"] = "" + _, resp = th.SystemAdminClient.UpdateUser(user2) + CheckNoError(t, resp) + + user.Timezone["manualTimezone"] = "" + _, resp = Client.UpdateUser(user) + + timezone, resp = Client.GetChannelMembersTimezones(th.BasicChannel.Id) + CheckNoError(t, resp) + if len(timezone) > 0 { + t.Fatal("should return 0 timezone") + } + +} |