1
0

setting_happ_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package service
  2. import "testing"
  3. func TestHappLinkEnableReadsExplicitValues(t *testing.T) {
  4. initHappTestDB(t)
  5. s := &SettingService{}
  6. for _, want := range []bool{false, true} {
  7. settings, err := s.GetAllSetting()
  8. if err != nil {
  9. t.Fatal(err)
  10. }
  11. settings.HappLinkEnable = want
  12. if err := s.UpdateAllSetting(settings, SecretClears{}); err != nil {
  13. t.Fatal(err)
  14. }
  15. gotDirect, err := s.GetHappLinkEnable()
  16. if err != nil || gotDirect != want {
  17. t.Fatalf("GetHappLinkEnable = %t, %v; want %t, nil", gotDirect, err, want)
  18. }
  19. if got := happLinkEnableFromDefaults(t, s); got != want {
  20. t.Fatalf("stored happLinkEnable = %t, want %t", got, want)
  21. }
  22. }
  23. }
  24. func happLinkEnableFromDefaults(t *testing.T, s *SettingService) bool {
  25. t.Helper()
  26. defaults, err := s.GetDefaultSettings("panel.example")
  27. if err != nil {
  28. t.Fatal(err)
  29. }
  30. values, ok := defaults.(map[string]any)
  31. if !ok {
  32. t.Fatalf("GetDefaultSettings type = %T, want map[string]any", defaults)
  33. }
  34. enabled, ok := values["happLinkEnable"].(bool)
  35. if !ok {
  36. t.Fatalf("happLinkEnable = %#v, want bool", values["happLinkEnable"])
  37. }
  38. return enabled
  39. }