Clarify watermark features across packages
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-01-20 13:10:49 +01:00
parent cb5d5a2870
commit f88aa40315
13 changed files with 157 additions and 29 deletions

View File

@@ -60,19 +60,21 @@ describe('selectRecommendedPackageId', () => {
it('selects the cheapest package with watermark access when requested', () => {
const watermarkPackages = [
{ id: 1, price: 100, watermark_allowed: false, features: {} },
{ id: 2, price: 120, watermark_allowed: true, features: {} },
{ id: 2, price: 120, watermark_allowed: true, features: { no_watermark: true } },
{ id: 3, price: 180, watermark_allowed: true, features: {} },
] as any;
const active = { id: 1, price: 100, watermark_allowed: false, features: {} } as any;
expect(selectRecommendedPackageId(watermarkPackages, 'watermark_allowed', active)).toBe(2);
expect(selectRecommendedPackageId(watermarkPackages, 'no_watermark', active)).toBe(2);
expect(selectRecommendedPackageId(watermarkPackages, 'watermark_custom', active)).toBe(3);
});
});
describe('buildPackageComparisonRows', () => {
it('includes limit rows and enabled feature rows', () => {
const rows = buildPackageComparisonRows([
{ features: { advanced_analytics: true, custom_branding: false } },
{ features: { custom_branding: true, watermark_removal: true } },
{ features: { advanced_analytics: true, custom_branding: false }, watermark_allowed: false },
{ features: { custom_branding: true, no_watermark: true }, watermark_allowed: true },
] as any);
expect(rows.map((row) => row.id)).toEqual([
@@ -81,7 +83,8 @@ describe('buildPackageComparisonRows', () => {
'limit.gallery_days',
'feature.advanced_analytics',
'feature.custom_branding',
'feature.watermark_removal',
'feature.no_watermark',
'feature.watermark_base',
]);
});
});
@@ -90,4 +93,13 @@ describe('getEnabledPackageFeatures', () => {
it('accepts array payloads', () => {
expect(getEnabledPackageFeatures({ features: ['custom_branding', ''] } as any)).toEqual(['custom_branding']);
});
it('adds watermark feature for endcustomer packages', () => {
expect(
getEnabledPackageFeatures({ watermark_allowed: false, features: [] } as any)
).toEqual(['watermark_base']);
expect(
getEnabledPackageFeatures({ watermark_allowed: true, features: ['no_watermark'] } as any)
).toEqual(['no_watermark']);
});
});