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