@adobe/spacecat-shared-tier-client 1.3.9 → 1.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [@adobe/spacecat-shared-tier-client-v1.3.10](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-tier-client-v1.3.9...@adobe/spacecat-shared-tier-client-v1.3.10) (2025-12-05)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * no override paid tier ([#1221](https://github.com/adobe/spacecat-shared/issues/1221)) ([a528e1e](https://github.com/adobe/spacecat-shared/commit/a528e1e345cce2c542b32dc43c221b49e3f86464))
7
+
1
8
  # [@adobe/spacecat-shared-tier-client-v1.3.9](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-tier-client-v1.3.8...@adobe/spacecat-shared-tier-client-v1.3.9) (2025-11-30)
2
9
 
3
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/spacecat-shared-tier-client",
3
- "version": "1.3.9",
3
+ "version": "1.3.10",
4
4
  "description": "Shared modules of the Spacecat Services - Tier Client",
5
5
  "type": "module",
6
6
  "engines": {
@@ -148,8 +148,8 @@ class TierClient {
148
148
  if (existing.entitlement) {
149
149
  const currentTier = existing.entitlement.getTier();
150
150
 
151
- // If tier doesn't match, update it
152
- if (currentTier !== tier) {
151
+ // If currentTier doesn't match with given tier and is not PAID, update it
152
+ if (currentTier !== tier && currentTier !== EntitlementModel.TIERS.PAID) {
153
153
  existing.entitlement.setTier(tier);
154
154
  await existing.entitlement.save();
155
155
  }
@@ -417,7 +417,7 @@ describe('TierClient', () => {
417
417
  it('should update tier when entitlement exists with different tier', async () => {
418
418
  const mockEntitlementWithDifferentTier = {
419
419
  ...mockEntitlement,
420
- getTier: () => 'PAID',
420
+ getTier: () => 'FREE_TRIAL', // current non-PAID
421
421
  setTier: sandbox.stub().returnsThis(),
422
422
  save: sandbox.stub().resolves(),
423
423
  };
@@ -426,9 +426,9 @@ describe('TierClient', () => {
426
426
  .findByOrganizationIdAndProductCode.resolves(mockEntitlementWithDifferentTier);
427
427
  mockDataAccess.SiteEnrollment.allBySiteId.resolves([mockSiteEnrollment]);
428
428
 
429
- const result = await tierClient.createEntitlement('FREE_TRIAL');
429
+ const result = await tierClient.createEntitlement('PAID');
430
430
 
431
- expect(mockEntitlementWithDifferentTier.setTier).to.have.been.calledWith('FREE_TRIAL');
431
+ expect(mockEntitlementWithDifferentTier.setTier).to.have.been.calledWith('PAID');
432
432
  expect(mockEntitlementWithDifferentTier.save).to.have.been.called;
433
433
  expect(result).to.deep.equal({
434
434
  entitlement: mockEntitlementWithDifferentTier,
@@ -437,6 +437,28 @@ describe('TierClient', () => {
437
437
  expect(mockDataAccess.Entitlement.create).to.not.have.been.called;
438
438
  });
439
439
 
440
+ it('should not update tier when entitlement exists with same tier', async () => {
441
+ const mockEntitlementWithSameTier = {
442
+ ...mockEntitlement,
443
+ getTier: () => 'FREE_TRIAL',
444
+ setTier: sandbox.stub().returnsThis(),
445
+ save: sandbox.stub().resolves(),
446
+ };
447
+
448
+ mockDataAccess.Entitlement
449
+ .findByOrganizationIdAndProductCode.resolves(mockEntitlementWithSameTier);
450
+ mockDataAccess.SiteEnrollment.allBySiteId.resolves([mockSiteEnrollment]);
451
+
452
+ const result = await tierClient.createEntitlement('FREE_TRIAL');
453
+
454
+ expect(mockEntitlementWithSameTier.setTier).to.not.have.been.called;
455
+ expect(mockEntitlementWithSameTier.save).to.not.have.been.called;
456
+ expect(result).to.deep.equal({
457
+ entitlement: mockEntitlementWithSameTier,
458
+ siteEnrollment: mockSiteEnrollment,
459
+ });
460
+ });
461
+
440
462
  it('should throw error when organization not found', async () => {
441
463
  mockDataAccess.Organization.findById.resolves(null);
442
464