From 10961f9500c12bf5b93f181922d2c8e45d552467 Mon Sep 17 00:00:00 2001 From: Eli Yukelzon Date: Thu, 1 Oct 2020 18:14:08 +0300 Subject: [PATCH] added missing api tests for category order (#15661) --- api4/channel_category_test.go | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/api4/channel_category_test.go b/api4/channel_category_test.go index 68211c2b79..6078ee5bff 100644 --- a/api4/channel_category_test.go +++ b/api4/channel_category_test.go @@ -311,6 +311,42 @@ func TestUpdateCategoriesForTeamForUser(t *testing.T) { assert.NotContains(t, received[0].Channels, channel.Id) assert.Equal(t, channelsCategory.Channels, received[0].Channels) }) + + t.Run("should update order", func(t *testing.T) { + user, client := setupUserForSubtest(t, th) + + categories, resp := client.GetSidebarCategoriesForTeamForUser(user.Id, th.BasicTeam.Id, "") + require.Nil(t, resp.Error) + require.Len(t, categories.Categories, 3) + require.Len(t, categories.Order, 3) + + channelsCategory := categories.Categories[1] + require.Equal(t, model.SidebarCategoryChannels, channelsCategory.Type) + + _, resp = client.UpdateSidebarCategoryOrderForTeamForUser(user.Id, th.BasicTeam.Id, []string{categories.Order[1], categories.Order[0], categories.Order[2]}) + require.Nil(t, resp.Error) + + categories, resp = client.GetSidebarCategoriesForTeamForUser(user.Id, th.BasicTeam.Id, "") + require.Nil(t, resp.Error) + require.Len(t, categories.Categories, 3) + require.Len(t, categories.Order, 3) + + channelsCategory = categories.Categories[0] + require.Equal(t, model.SidebarCategoryChannels, channelsCategory.Type) + + // validate order + newOrder, resp := client.GetSidebarCategoryOrderForTeamForUser(user.Id, th.BasicTeam.Id, "") + require.Nil(t, resp.Error) + require.EqualValues(t, newOrder, categories.Order) + + // try to update with missing category + _, resp = client.UpdateSidebarCategoryOrderForTeamForUser(user.Id, th.BasicTeam.Id, []string{categories.Order[1], categories.Order[0]}) + require.NotNil(t, resp.Error) + + // try to update with invalid category + _, resp = client.UpdateSidebarCategoryOrderForTeamForUser(user.Id, th.BasicTeam.Id, []string{categories.Order[1], categories.Order[0], "asd"}) + require.NotNil(t, resp.Error) + }) } func setupUserForSubtest(t *testing.T, th *TestHelper) (*model.User, *model.Client4) {