| 132 | } |
| 133 | |
| 134 | func TestFilePreferenceStorage_Delete(t *testing.T) { |
| 135 | tmpDir := filepath.Join(os.TempDir(), "test-preferences-delete") |
| 136 | defer func() { |
| 137 | if err := os.RemoveAll(tmpDir); err != nil { |
| 138 | t.Errorf("Failed to remove temp dir: %v", err) |
| 139 | } |
| 140 | }() |
| 141 | |
| 142 | storage, _ := NewFilePreferenceStorage(tmpDir) |
| 143 | |
| 144 | // 保存偏好 |
| 145 | preferences := []*Preference{ |
| 146 | {ID: "pref-1", UserID: "user-1", Category: CategoryUI, Key: "theme", Value: "dark"}, |
| 147 | } |
| 148 | if err := storage.Save(context.Background(), "user-1", preferences); err != nil { |
| 149 | t.Fatalf("Save failed: %v", err) |
| 150 | } |
| 151 | |
| 152 | // 删除 |
| 153 | err := storage.Delete(context.Background(), "user-1") |
| 154 | if err != nil { |
| 155 | t.Fatalf("Delete failed: %v", err) |
| 156 | } |
| 157 | |
| 158 | // 验证文件已删除 |
| 159 | filePath := filepath.Join(tmpDir, "user-1.json") |
| 160 | if _, err := os.Stat(filePath); !os.IsNotExist(err) { |
| 161 | t.Error("file should be deleted") |
| 162 | } |
| 163 | } |
| 164 | |
| 165 | func TestFilePreferenceStorage_List(t *testing.T) { |
| 166 | tmpDir := filepath.Join(os.TempDir(), "test-preferences-list") |