(t *testing.T)
| 279 | } |
| 280 | |
| 281 | func TestValidateImageParameters(t *testing.T) { |
| 282 | t.Run("No image file and no parameters should pass", func(t *testing.T) { |
| 283 | err := validateImageParameters("", "", "", "", 0) |
| 284 | assert.NoError(t, err) |
| 285 | }) |
| 286 | |
| 287 | t.Run("Image parameters without image file should fail", func(t *testing.T) { |
| 288 | // Test each parameter individually |
| 289 | err := validateImageParameters("", "1024x1024", "", "", 0) |
| 290 | assert.Error(t, err) |
| 291 | assert.Contains(t, err.Error(), "image parameters") |
| 292 | assert.Contains(t, err.Error(), "can only be used with --image-file") |
| 293 | |
| 294 | err = validateImageParameters("", "", "high", "", 0) |
| 295 | assert.Error(t, err) |
| 296 | assert.Contains(t, err.Error(), "image parameters") |
| 297 | |
| 298 | err = validateImageParameters("", "", "", "transparent", 0) |
| 299 | assert.Error(t, err) |
| 300 | assert.Contains(t, err.Error(), "image parameters") |
| 301 | |
| 302 | err = validateImageParameters("", "", "", "", 50) |
| 303 | assert.Error(t, err) |
| 304 | assert.Contains(t, err.Error(), "image parameters") |
| 305 | |
| 306 | // Test multiple parameters |
| 307 | err = validateImageParameters("", "1024x1024", "high", "transparent", 50) |
| 308 | assert.Error(t, err) |
| 309 | assert.Contains(t, err.Error(), "image parameters") |
| 310 | }) |
| 311 | |
| 312 | t.Run("Valid size values should pass", func(t *testing.T) { |
| 313 | validSizes := []string{"1024x1024", "1536x1024", "1024x1536", "auto"} |
| 314 | for _, size := range validSizes { |
| 315 | err := validateImageParameters("/tmp/test.png", size, "", "", 0) |
| 316 | assert.NoError(t, err, "Size %s should be valid", size) |
| 317 | } |
| 318 | }) |
| 319 | |
| 320 | t.Run("Invalid size should fail", func(t *testing.T) { |
| 321 | err := validateImageParameters("/tmp/test.png", "invalid", "", "", 0) |
| 322 | assert.Error(t, err) |
| 323 | assert.Contains(t, err.Error(), "invalid image size") |
| 324 | }) |
| 325 | |
| 326 | t.Run("Valid quality values should pass", func(t *testing.T) { |
| 327 | validQualities := []string{"low", "medium", "high", "auto"} |
| 328 | for _, quality := range validQualities { |
| 329 | err := validateImageParameters("/tmp/test.png", "", quality, "", 0) |
| 330 | assert.NoError(t, err, "Quality %s should be valid", quality) |
| 331 | } |
| 332 | }) |
| 333 | |
| 334 | t.Run("Invalid quality should fail", func(t *testing.T) { |
| 335 | err := validateImageParameters("/tmp/test.png", "", "invalid", "", 0) |
| 336 | assert.Error(t, err) |
| 337 | assert.Contains(t, err.Error(), "invalid image quality") |
| 338 | }) |
nothing calls this directly
no test coverage detected