You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

30 lines
851 B

  1. package setting
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/require"
  5. )
  6. func TestUpdateAutoGroupsByJsonStringKeepsExistingGroupsOnInvalidJSON(t *testing.T) {
  7. old := AutoGroups2JsonString()
  8. t.Cleanup(func() { require.NoError(t, UpdateAutoGroupsByJsonString(old)) })
  9. require.NoError(t, UpdateAutoGroupsByJsonString(`["default"]`))
  10. err := UpdateAutoGroupsByJsonString("not-json")
  11. require.Error(t, err)
  12. require.Equal(t, []string{"default"}, GetAutoGroups())
  13. }
  14. func TestUpdateChatsByJsonStringKeepsExistingChatsOnInvalidJSON(t *testing.T) {
  15. old := Chats2JsonString()
  16. t.Cleanup(func() { require.NoError(t, UpdateChatsByJsonString(old)) })
  17. require.NoError(t, UpdateChatsByJsonString(`[{"name":"url"}]`))
  18. err := UpdateChatsByJsonString("not-json")
  19. require.Error(t, err)
  20. require.Equal(t, []map[string]string{{"name": "url"}}, Chats)
  21. }