Clarify watermark features across packages
This commit is contained in:
@@ -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[] =>
|
||||
|
||||
@@ -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');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user