-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Description
Add comprehensive tests for carousel template payload validation to ensure invalid payloads are properly rejected with clear error messages.
Work Required
- Create Test File: Add
test/templates.validation.carousel.test.js - Test Required Fields: Validate
itemsarray (required, must be array, non-empty) - Test Bounds: Validate
durationbounds (must be positive number within reasonable limits) - Test Optional Parameters: Validate
zoomScale,zoomMs,zoomOnVideoparameters - Follow Existing Pattern: Use same structure as
test/templates.validation.api.test.js
Implementation Details
Based on templates/carousel.html, the template expects:
items: Array of URLs (required, non-empty)duration: Number in milliseconds (optional, defaults to 4000)zoomScale: Number for zoom effect (optional, defaults to 1.05)zoomMs: Duration for zoom animation (optional, defaults to duration)zoomOnVideo: Boolean for video zoom (optional)
Test Cases to Cover
- Empty payload
{} - Missing
itemsfield - Empty
itemsarray[] - Invalid
itemstype (string, number, etc.) - Invalid
durationvalues (negative, zero, non-numeric) - Invalid
zoomScalevalues (negative, extreme values) - Valid payload with all parameters
- Valid payload with minimal required fields
Files to Create/Modify
test/templates.validation.carousel.test.js- New test file
Acceptance Criteria
- Invalid payloads are rejected with 400 status and clear error messages
- All validation edge cases are covered
- Tests follow existing patterns in the codebase
- Test coverage includes both positive and negative test cases
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels