assertNull(entitlement.getEffectiveEndDate()); assertEquals(entitlement.getLastActivePriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME); assertEquals(entitlement.getLastActiveProduct().getName(), "Shotgun"); assertEquals(entitlement.getLastActivePhase().getName(), "shotgun-monthly-evergreen"); assertEquals(entitlement.getLastActivePriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME); assertEquals(entitlement.getLastActiveProduct().getName(), "Shotgun"); assertEquals(entitlement.getLastActiveProductCategory(), ProductCategory.BASE);
@Override public Response doOperation(final CallContext ctx) throws EntitlementApiException, AccountApiException { final Entitlement current = entitlementApi.getEntitlementForId(subscriptionId, callContext); final LocalDate inputLocalDate = toLocalDate(requestedDate); final Entitlement newEntitlement; final Account account = accountUserApi.getAccountById(current.getAccountId(), callContext); final PhaseType phaseType = entitlement.getPhaseType(); final PlanPhaseSpecifier planSpec = entitlement.getPlanName() != null ? new PlanPhaseSpecifier(entitlement.getPlanName(), phaseType) : new PlanPhaseSpecifier(entitlement.getProductName(), entitlement.getBillingPeriod(), entitlement.getPriceList(), phaseType); final List<PlanPhasePriceOverride> overrides = buildPlanPhasePriceOverrides(entitlement.getPriceOverrides(), account.getCurrency(), planSpec); if (requestedDate == null && billingPolicy == null) { newEntitlement = current.changePlan(new DefaultEntitlementSpecifier(planSpec, null, overrides), pluginProperties, ctx); } else if (billingPolicy == null) { newEntitlement = current.changePlanWithDate(new DefaultEntitlementSpecifier(planSpec, null, overrides), inputLocalDate, pluginProperties, ctx); } else { newEntitlement = current.changePlanOverrideBillingPolicy(new DefaultEntitlementSpecifier(planSpec, null, overrides), null, billingPolicy, pluginProperties, ctx); } isImmediateOp = newEntitlement.getLastActiveProduct().getName().equals(entitlement.getProductName()) && newEntitlement.getLastActivePlan().getRecurringBillingPeriod() == entitlement.getBillingPeriod() && newEntitlement.getLastActivePriceList().getName().equals(entitlement.getPriceList()); return Response.status(Status.NO_CONTENT).build(); }
assertNull(entitlement.getEffectiveEndDate()); assertEquals(entitlement.getLastActivePriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME); assertEquals(entitlement.getLastActiveProduct().getName(), "Shotgun"); assertEquals(entitlement.getLastActivePhase().getName(), "shotgun-monthly-trial"); assertEquals(entitlement.getLastActivePriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME); assertEquals(entitlement.getLastActiveProduct().getName(), "Shotgun"); assertEquals(entitlement.getLastActiveProductCategory(), ProductCategory.BASE); assertNull(entitlement2.getEffectiveEndDate()); assertEquals(entitlement2.getLastActivePriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME); assertEquals(entitlement2.getLastActiveProduct().getName(), "Shotgun"); assertEquals(entitlement2.getLastActivePhase().getName(), "shotgun-monthly-trial"); assertEquals(entitlement2.getLastActivePriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME); assertEquals(entitlement2.getLastActiveProduct().getName(), "Shotgun"); assertEquals(entitlement2.getLastActiveProductCategory(), ProductCategory.BASE); assertEquals(entitlement3.getLastActivePriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME); assertEquals(entitlement3.getLastActiveProduct().getName(), "Shotgun"); assertEquals(entitlement3.getLastActivePhase().getName(), "shotgun-monthly-trial"); assertEquals(entitlement3.getLastActivePriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME); assertEquals(entitlement3.getLastActiveProduct().getName(), "Shotgun"); assertEquals(entitlement3.getLastActiveProductCategory(), ProductCategory.BASE);
assertNull(telescopicEntitlement.getEffectiveEndDate()); assertEquals(telescopicEntitlement.getLastActivePriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME); assertEquals(telescopicEntitlement.getLastActiveProduct().getName(), "Telescopic-Scope"); assertEquals(telescopicEntitlement.getLastActivePhase().getName(), "telescopic-scope-monthly-discount");
assertEquals(anotherStandaloneEntitlement.getBundleId(), baseEntitlement.getBundleId()); assertEquals(anotherStandaloneEntitlement.getLastActivePriceList().getName(), "notrial"); assertEquals(anotherStandaloneEntitlement.getLastActiveProduct().getName(), "Knife"); assertEquals(anotherStandaloneEntitlement.getLastActivePlan().getName(), "knife-monthly-notrial");
assertNull(telescopicEntitlement.getEffectiveEndDate()); assertEquals(telescopicEntitlement.getLastActivePriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME); assertEquals(telescopicEntitlement.getLastActiveProduct().getName(), "Telescopic-Scope"); assertEquals(telescopicEntitlement.getLastActivePhase().getName(), "telescopic-scope-monthly-discount");