package eu.ggnet.dwoss.spec.eao; import javax.persistence.*; import org.junit.*; import eu.ggnet.dwoss.rules.ProductGroup; import eu.ggnet.dwoss.rules.TradeName; import eu.ggnet.dwoss.spec.assist.SpecPu; import eu.ggnet.dwoss.spec.entity.*; import static org.junit.Assert.*; /** * * @author bastian.venz */ public class ProductModelEaoIT { public ProductModelEaoIT() { } private EntityManagerFactory emf; private EntityManager em; private ProductModel model; @Before public void setUp() { emf = Persistence.createEntityManagerFactory(SpecPu.NAME, SpecPu.JPA_IN_MEMORY); em = emf.createEntityManager(); em.getTransaction().begin(); ProductFamily family = new ProductFamily("Family1"); ProductSeries series = new ProductSeries(TradeName.SAMSUNG, ProductGroup.MISC, "TestSeries"); em.persist(series); family.setSeries(series); em.persist(family); model = new ProductModel("Model 1"); model.setFamily(family); em.persist(model); em.getTransaction().commit(); } @After public void tearDown() { em.close(); emf.close(); } @Test public void testFind() { em.getTransaction().begin(); ProductModelEao productModelEao = new ProductModelEao(em); ProductModel productModel = productModelEao.find("Model 1"); assertNotNull(productModel); assertEquals(model, productModel); assertNull(productModelEao.find("No Model")); em.getTransaction().commit(); } }