@Test(groups = "slow") public void testBasicWithNullPrices() throws Exception { final CatalogOverridePhaseDefinitionModelDao obj1 = new CatalogOverridePhaseDefinitionModelDao("p2", "USD", null, new BigDecimal("54.21"), clock.getUTCNow()); performTestInTransaction(new WithCatalogOverridePhaseDefinitionSqlDaoTransaction<Void>() { @Override public Void doTransaction(final CatalogOverridePhaseDefinitionSqlDao sqlDao) { sqlDao.create(obj1, internalCallContext); final Long lastInserted = sqlDao.getLastInsertId(); final CatalogOverridePhaseDefinitionModelDao rehydrated = sqlDao.getByRecordId(lastInserted, internalCallContext); assertEquals(rehydrated.getParentPhaseName(), obj1.getParentPhaseName()); assertNull(rehydrated.getFixedPrice()); assertEquals(rehydrated.getRecurringPrice().compareTo(obj1.getRecurringPrice()), 0); assertEquals(rehydrated.getCurrency(), obj1.getCurrency()); return null; } }); }
@Test(groups = "slow") public void testBasic() throws Exception { final CatalogOverridePhaseDefinitionModelDao obj1 = new CatalogOverridePhaseDefinitionModelDao("p1", "EUR", BigDecimal.ONE, BigDecimal.TEN, clock.getUTCNow()); performTestInTransaction(new WithCatalogOverridePhaseDefinitionSqlDaoTransaction<Void>() { @Override public Void doTransaction(final CatalogOverridePhaseDefinitionSqlDao sqlDao) { sqlDao.create(obj1, internalCallContext); final Long lastInserted = sqlDao.getLastInsertId(); final CatalogOverridePhaseDefinitionModelDao rehydrated = sqlDao.getByRecordId(lastInserted, internalCallContext); assertEquals(rehydrated.getParentPhaseName(), obj1.getParentPhaseName()); assertEquals(rehydrated.getFixedPrice().compareTo(obj1.getFixedPrice()), 0); assertEquals(rehydrated.getRecurringPrice().compareTo(obj1.getRecurringPrice()), 0); assertEquals(rehydrated.getCurrency(), obj1.getCurrency()); return null; } }); }
@Test(groups = "slow") public void testGetByAttributes() throws Exception { final CatalogOverridePhaseDefinitionModelDao objWithNoNullPrices = new CatalogOverridePhaseDefinitionModelDao("p2", "USD", BigDecimal.ZERO, new BigDecimal("12.453"), clock.getUTCNow()); final CatalogOverridePhaseDefinitionModelDao objWithNullFixedPrice = new CatalogOverridePhaseDefinitionModelDao("p3", "BTC", null, new BigDecimal("14.443"), clock.getUTCNow()); final CatalogOverridePhaseDefinitionModelDao objWithNullRecurringPrice = new CatalogOverridePhaseDefinitionModelDao("p4", "EUR", new BigDecimal("11.243"), null, clock.getUTCNow());
private CatalogOverridePhaseDefinitionModelDao getOrCreatePhaseDefinitionFromTransactionWithoutUsageOverrides(String parentPhaseName,final DateTime catalogEffectiveDate, final PlanPhasePriceOverride override, final Handle inTransactionHandle, final InternalCallContext context) { final CatalogOverridePhaseDefinitionSqlDao sqlDao = inTransactionHandle.attach(CatalogOverridePhaseDefinitionSqlDao.class); List<CatalogOverridePhaseDefinitionModelDao> resultPhases = sqlDao.getByAttributes(parentPhaseName, override.getCurrency().name(), override.getFixedPrice(), override.getRecurringPrice(), context); for(CatalogOverridePhaseDefinitionModelDao resultPhase : resultPhases) { if (resultPhase != null && getOverriddenPhaseUsages(resultPhase.getRecordId(), context).size() == 0) { return resultPhase; } } final CatalogOverridePhaseDefinitionModelDao phaseDef = new CatalogOverridePhaseDefinitionModelDao(parentPhaseName, override.getCurrency().name(), override.getFixedPrice(), override.getRecurringPrice(), catalogEffectiveDate); sqlDao.create(phaseDef, context); final Long recordId = sqlDao.getLastInsertId(); return sqlDao.getByRecordId(recordId, context); }
final CatalogOverridePhaseDefinitionModelDao inputPhaseDef = new CatalogOverridePhaseDefinitionModelDao(parentPhaseName, override.getCurrency().name(), override.getFixedPrice(), override.getRecurringPrice(), catalogEffectiveDate); sqlDao.create(inputPhaseDef, context);
@Test(groups = "slow") public void testBasicWithNullPrices() throws Exception { final CatalogOverridePhaseDefinitionModelDao obj1 = new CatalogOverridePhaseDefinitionModelDao("p2", "USD", null, new BigDecimal("54.21"), clock.getUTCNow()); performTestInTransaction(new WithCatalogOverridePhaseDefinitionSqlDaoTransaction<Void>() { @Override public Void doTransaction(final CatalogOverridePhaseDefinitionSqlDao sqlDao) { sqlDao.create(obj1, internalCallContext); final Long lastInserted = sqlDao.getLastInsertId(); final CatalogOverridePhaseDefinitionModelDao rehydrated = sqlDao.getByRecordId(lastInserted, internalCallContext); assertEquals(rehydrated.getParentPhaseName(), obj1.getParentPhaseName()); assertNull(rehydrated.getFixedPrice()); assertEquals(rehydrated.getRecurringPrice().compareTo(obj1.getRecurringPrice()), 0); assertEquals(rehydrated.getCurrency(), obj1.getCurrency()); return null; } }); }
@Test(groups = "slow") public void testGetByAttributes() throws Exception { final CatalogOverridePhaseDefinitionModelDao objWithNoNullPrices = new CatalogOverridePhaseDefinitionModelDao("p2", "USD", BigDecimal.ZERO, new BigDecimal("12.453"), clock.getUTCNow()); final CatalogOverridePhaseDefinitionModelDao objWithNullFixedPrice = new CatalogOverridePhaseDefinitionModelDao("p3", "BTC", null, new BigDecimal("14.443"), clock.getUTCNow()); final CatalogOverridePhaseDefinitionModelDao objWithNullRecurringPrice = new CatalogOverridePhaseDefinitionModelDao("p4", "EUR", new BigDecimal("11.243"), null, clock.getUTCNow());
@Test(groups = "slow") public void testBasic() throws Exception { final CatalogOverridePhaseDefinitionModelDao obj1 = new CatalogOverridePhaseDefinitionModelDao("p1", "EUR", BigDecimal.ONE, BigDecimal.TEN, clock.getUTCNow()); performTestInTransaction(new WithCatalogOverridePhaseDefinitionSqlDaoTransaction<Void>() { @Override public Void doTransaction(final CatalogOverridePhaseDefinitionSqlDao sqlDao) { sqlDao.create(obj1, internalCallContext); final Long lastInserted = sqlDao.getLastInsertId(); final CatalogOverridePhaseDefinitionModelDao rehydrated = sqlDao.getByRecordId(lastInserted, internalCallContext); assertEquals(rehydrated.getParentPhaseName(), obj1.getParentPhaseName()); assertEquals(rehydrated.getFixedPrice().compareTo(obj1.getFixedPrice()), 0); assertEquals(rehydrated.getRecurringPrice().compareTo(obj1.getRecurringPrice()), 0); assertEquals(rehydrated.getCurrency(), obj1.getCurrency()); return null; } }); }
private CatalogOverridePhaseDefinitionModelDao getOrCreatePhaseDefinitionFromTransactionWithoutUsageOverrides(String parentPhaseName,final DateTime catalogEffectiveDate, final PlanPhasePriceOverride override, final Handle inTransactionHandle, final InternalCallContext context) { final CatalogOverridePhaseDefinitionSqlDao sqlDao = inTransactionHandle.attach(CatalogOverridePhaseDefinitionSqlDao.class); List<CatalogOverridePhaseDefinitionModelDao> resultPhases = sqlDao.getByAttributes(parentPhaseName, override.getCurrency().name(), override.getFixedPrice(), override.getRecurringPrice(), context); for(CatalogOverridePhaseDefinitionModelDao resultPhase : resultPhases) { if (resultPhase != null && getOverriddenPhaseUsages(resultPhase.getRecordId(), context).size() == 0) { return resultPhase; } } final CatalogOverridePhaseDefinitionModelDao phaseDef = new CatalogOverridePhaseDefinitionModelDao(parentPhaseName, override.getCurrency().name(), override.getFixedPrice(), override.getRecurringPrice(), catalogEffectiveDate); sqlDao.create(phaseDef, context); final Long recordId = sqlDao.getLastInsertId(); return sqlDao.getByRecordId(recordId, context); }
final CatalogOverridePhaseDefinitionModelDao inputPhaseDef = new CatalogOverridePhaseDefinitionModelDao(parentPhaseName, override.getCurrency().name(), override.getFixedPrice(), override.getRecurringPrice(), catalogEffectiveDate); sqlDao.create(inputPhaseDef, context);