use of io.vertigo.dynamo.store.data.domain.car.Car in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testGetFamilliesCars.
/**
* Test que les listes 1N ne reste pas en cache après une mise à jour.
* Ici l'entité en cache est la destination de la navigation : Car
*/
@Test
public void testGetFamilliesCars() {
// on crée une famille
final Famille famille = new Famille();
famille.setLibelle("Ma famille");
final DtList<Car> firstResult;
try (final VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
final Famille createdFamille = storeManager.getDataStore().create(famille);
// on récupère la liste des voitures
final DtList<Car> cars = storeManager.getDataStore().findAll(allCarsUri);
Assert.assertNotNull(cars);
Assert.assertFalse("La liste des cars est vide", cars.isEmpty());
// on associe la liste de voiture à la famille en 1N
for (final Car car : cars) {
car.setFamId(createdFamille.getFamId());
storeManager.getDataStore().update(car);
}
// On garde le résultat de l'association 1N
firstResult = createdFamille.getVoituresFamilleList();
// On met à jour l'association en retirant le premier élément
final Car firstCar = cars.get(0);
firstCar.setFamId(null);
storeManager.getDataStore().update(firstCar);
// sans commit le cache n'est pas rafraichit
transaction.commit();
}
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
// on garde le résultat en lazy : il doit avoir le meme nombre de voiture qu'au début
final DtList<Car> lazyResult = famille.getVoituresFamilleList();
Assert.assertEquals("Test tailles du nombre de voiture pour une 1-N", firstResult.size(), lazyResult.size());
// on recharge la famille et on recharge la liste issus de l'association 1N : il doit avoir une voiture de moins qu'au début
final DtDefinition dtFamille = DtObjectUtil.findDtDefinition(Famille.class);
final Famille famille2 = storeManager.getDataStore().readOne(new URI<Famille>(dtFamille, famille.getFamId()));
final DtList<Car> secondResult = famille2.getVoituresFamilleList();
Assert.assertEquals("Test tailles du nombre de voiture pour une 1-N", firstResult.size() - 1, secondResult.size());
transaction.commit();
}
}
use of io.vertigo.dynamo.store.data.domain.car.Car in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testSelectCarAndTestMasterDataEnum.
@Test
public void testSelectCarAndTestMasterDataEnum() {
try (VTransactionWritable tx = transactionManager.createCurrentTransaction()) {
final DtList<Car> dtcEssence = storeManager.getDataStore().find(DtObjectUtil.findDtDefinition(Car.class), Criterions.isEqualTo(CarFields.MTY_CD, MotorTypeEnum.essence.getEntityUri().getId()));
// ---
Assert.assertEquals(1, dtcEssence.size());
Assert.assertTrue(dtcEssence.get(0).motorType().getEnumValue() == MotorTypeEnum.essence);
}
}
use of io.vertigo.dynamo.store.data.domain.car.Car in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testSelectCarCachedRowMax.
@Test
public void testSelectCarCachedRowMax() {
try (VTransactionWritable tx = transactionManager.createCurrentTransaction()) {
final DtListURI someCars = new DtListURIForCriteria<>(dtDefinitionCar, null, 3);
final DtList<Car> dtc1 = storeManager.getDataStore().findAll(someCars);
Assert.assertEquals(3, dtc1.size());
// -----
final DtListURI allCars = new DtListURIForCriteria<>(dtDefinitionCar, null, null);
final DtList<Car> dtc = storeManager.getDataStore().findAll(allCars);
Assert.assertEquals(9, dtc.size());
}
}
use of io.vertigo.dynamo.store.data.domain.car.Car in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method createNewCar.
private static Car createNewCar() {
final Car car = new Car();
car.setId(null);
car.setPrice(5600);
car.setManufacturer("Peugeot");
car.setModel("407");
car.setYear(2014);
car.setKilo(20000);
car.motorType().setEnumValue(MotorTypeEnum.essence);
car.setDescription("Vds 407 de test, 2014, 20000 kms, rouge, TBEG");
return car;
}
use of io.vertigo.dynamo.store.data.domain.car.Car in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testTxCrudInsertDeleteCommit.
@Test
public void testTxCrudInsertDeleteCommit() {
final Car car = createNewCar();
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
final Car createdCar = storeManager.getDataStore().create(car);
// Check cars count
checkCrudCarsCount(1);
storeManager.getDataStore().delete(createdCar.getURI());
// car is cacheable : list was'nt flush here
checkCrudCarsCount(1);
transaction.commit();
}
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
// car is cacheable : must wait commit to see delete
checkCrudCarsCount(0);
}
}
Aggregations