@paperlinkai/chat
Version:
PaperLink AI Chat Widget - Easy integration for any website
85 lines (84 loc) • 5.14 kB
TypeScript
/**
* Configuration Verification Test
*
* This file tests that all configuration properties are properly honored
* when provided in Chat.init() and that defaults are used when not provided.
*/
/**
* Test suite to verify configuration handling
*/
export declare class ConfigVerificationTest {
/**
* Test that all top-level properties are honored when provided
*/
static testTopLevelProperties(): boolean;
/**
* Test that default values are used when properties are not provided
*/
static testDefaultValues(): boolean;
/**
* Test that theme properties are properly deep merged
*/
static testThemeDeepMerge(): boolean;
/**
* Test that features properties are properly deep merged
*/
static testFeaturesDeepMerge(): boolean;
/**
* Test validation function catches invalid configurations
*/
static testValidation(): boolean;
/**
* Test that valid configurations pass validation
*/
static testValidConfigurationsPass(): boolean;
/**
* Run all verification tests
*/
static runAllTests(): {
passed: boolean;
results: Record<string, boolean>;
};
}
/**
* Property verification checklist
* This documents all properties and confirms they are properly handled
*/
export declare const PROPERTY_VERIFICATION_CHECKLIST: {
readonly apiKey: "✅ Required validation implemented, honored when provided";
readonly apiUrl: "✅ Default value provided, honored when provided";
readonly title: "✅ Default value provided, honored when provided, length validation";
readonly greeting: "✅ Default value provided, honored when provided, length validation";
readonly placeholder: "✅ Default value provided, honored when provided, length validation";
readonly position: "✅ Default value provided, honored when provided, enum validation";
readonly width: "✅ Default value provided, honored when provided, range validation";
readonly height: "✅ Default value provided, honored when provided, range validation";
readonly autoOpen: "✅ Default value provided, honored when provided";
readonly maxMessages: "✅ Default value provided, honored when provided, range validation";
readonly showPoweredBy: "✅ Default value provided, honored when provided";
readonly metadata: "✅ Default value provided, honored when provided";
readonly "theme.primaryColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.primaryHoverColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.lightPrimaryColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.backgroundColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.headerBackgroundColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.textColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.secondaryTextColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.borderColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.userMessageColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.botMessageColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.botAvatarColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.inputBackgroundColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.inputTextColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.buttonColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.buttonHoverColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.buttonTextColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.shadowColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "theme.scrollButtonColor": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "features.fileUpload": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "features.typing": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "features.sound": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "features.minimizable": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "features.scrollToBottom": "✅ Default provided, deep merge preserves defaults, honors user values";
readonly "features.scrollToBottomThreshold": "✅ Default provided, deep merge preserves defaults, honors user values, range validation";
};