use of io.vertigo.dynamo.store.data.domain.famille.Famille 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.famille.Famille in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testGetFamille.
/**
* On vérifie que la liste est vide.
*/
@Test
public void testGetFamille() {
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
final DtListURI allFamilles = new DtListURIForCriteria<>(dtDefinitionFamille, null, null);
final DtList<Famille> dtc = storeManager.getDataStore().findAll(allFamilles);
Assert.assertNotNull(dtc);
Assert.assertTrue("La liste des famille est vide", dtc.isEmpty());
transaction.commit();
}
}
use of io.vertigo.dynamo.store.data.domain.famille.Famille in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testAddFamille.
/**
* On charge une liste, ajoute un element et recharge la liste pour verifier l'ajout.
*/
@Test
public void testAddFamille() {
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
final DtListURI allFamilles = new DtListURIForCriteria<>(dtDefinitionFamille, null, null);
DtList<Famille> dtc = storeManager.getDataStore().findAll(allFamilles);
Assert.assertEquals(0, dtc.size());
// -----
final Famille famille = new Famille();
famille.setLibelle("encore un");
final Famille createdFamille = storeManager.getDataStore().create(famille);
// on attend un objet avec un ID non null ?
Assert.assertNotNull(createdFamille.getFamId());
// -----
dtc = storeManager.getDataStore().findAll(allFamilles);
Assert.assertEquals(1, dtc.size());
transaction.commit();
}
}
use of io.vertigo.dynamo.store.data.domain.famille.Famille in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testGetFamilleLocationCars.
/**
* Test que les listes NN 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 testGetFamilleLocationCars() {
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
// on crée une famille
final Famille famille = new Famille();
famille.setLibelle("Ma famille");
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 NN
final List<URI> carUriList = new ArrayList<>();
for (final Car car : cars) {
carUriList.add(new URI(dtDefinitionCar, car.getId()));
}
familleDAO.updateNN(createdFamille.getVoituresLocationDtListURI(), carUriList);
// On garde le résultat de l'association NN
final DtList<Car> firstResult = createdFamille.getVoituresLocationList();
Assert.assertEquals("Test tailles du nombre de voiture dans une NN", cars.size(), firstResult.size());
// On met à jour l'association en retirant le premier élément
carUriList.remove(0);
familleDAO.updateNN(createdFamille.getVoituresLocationDtListURI(), carUriList);
// on garde le résultat en lazy : il doit avoir le meme nombre de voiture qu'au début
final DtList<Car> lazyResult = createdFamille.getVoituresLocationList();
Assert.assertEquals("Test tailles du nombre de voiture pour une NN", firstResult.size(), lazyResult.size());
// on recharge la famille et on recharge la liste issus de l'association NN : 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, createdFamille.getFamId()));
final DtList<Car> secondResult = famille2.getVoituresLocationList();
Assert.assertEquals("Test tailles du nombre de voiture dans une NN", firstResult.size() - 1, secondResult.size());
transaction.commit();
}
}
use of io.vertigo.dynamo.store.data.domain.famille.Famille in project vertigo by KleeGroup.
the class CachedStoreManagerTest method testAddFamille.
/**
* On charge une liste, ajoute un element et recharge la liste pour verifier l'ajout.
*/
@Override
@Test
public void testAddFamille() {
// ce test est modifier car le cache n'est pas transactionnel : la liste n'est pas accessible sans commit
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
final DtListURI allFamilles = new DtListURIForCriteria<>(dtDefinitionFamille, null, null);
final DtList<Famille> dtc = storeManager.getDataStore().findAll(allFamilles);
Assert.assertEquals(0, dtc.size());
// -----
final Famille famille = new Famille();
famille.setLibelle("encore un");
final Famille createdFamille = storeManager.getDataStore().create(famille);
// on attend un objet avec un ID non null ?
Assert.assertNotNull(createdFamille.getFamId());
transaction.commit();
}
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
final DtListURI allFamilles = new DtListURIForCriteria<>(dtDefinitionFamille, null, null);
final DtList<Famille> dtc = storeManager.getDataStore().findAll(allFamilles);
Assert.assertEquals(1, dtc.size());
}
}
Aggregations