Clarify watermark features across packages

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

View File

@@ -54,7 +54,17 @@ export const resolveWatermarkFeatureKey = (pkg: Package): string => {
return 'watermark_custom';
}
return pkg.watermark_allowed === false ? 'no_watermark' : 'watermark';
const features = Array.isArray(pkg.features) ? pkg.features : [];
if (pkg.watermark_allowed === false) {
return 'watermark_base';
}
if (features.includes('no_watermark')) {
return 'no_watermark';
}
return pkg.watermark_allowed === true ? 'watermark_custom' : 'watermark';
};
const sortPackagesByPrice = (packages: Package[]): Package[] =>

View File

@@ -9,7 +9,13 @@ describe('resolveWatermarkFeatureKey', () => {
});
it('falls back to watermark_allowed when slug is unknown', () => {
expect(resolveWatermarkFeatureKey({ slug: 'reseller', watermark_allowed: true } as any)).toBe('watermark');
expect(resolveWatermarkFeatureKey({ slug: 'reseller', watermark_allowed: false } as any)).toBe('no_watermark');
expect(resolveWatermarkFeatureKey({ slug: 'reseller', watermark_allowed: true } as any)).toBe('watermark_custom');
expect(resolveWatermarkFeatureKey({ slug: 'reseller', watermark_allowed: false } as any)).toBe('watermark_base');
});
it('prefers explicit no_watermark features for unknown slugs', () => {
expect(
resolveWatermarkFeatureKey({ slug: 'reseller', watermark_allowed: true, features: ['no_watermark'] } as any)
).toBe('no_watermark');
});
});