Search in sources :

Example 1 with Order

use of com.haulmont.cuba.testmodel.sales.Order in project cuba by cuba-platform.

the class NonDetachedTest method loadChangeAndSave.

private Order loadChangeAndSave(Saver saver) {
    Order order = persistence.callInTransaction(em -> em.find(Order.class, this.order.getId()));
    Order orderCopy = metadata.getTools().copy(order);
    Customer customerCopy = metadata.getTools().copy(this.customer);
    Date date = DateUtils.addDays(orderCopy.getDate(), 1);
    orderCopy.setDate(date);
    orderCopy.setAmount(null);
    orderCopy.setCustomer(customerCopy);
    assertNull(orderCopy.getUser());
    assertTrue(PersistenceHelper.isNew(orderCopy));
    saver.save(orderCopy);
    order = persistence.callInTransaction(em -> em.find(Order.class, this.order.getId(), orderView));
    assertEquals(date, order.getDate());
    return order;
}
Also used : Order(com.haulmont.cuba.testmodel.sales.Order) Customer(com.haulmont.cuba.testmodel.sales.Customer) Server(com.haulmont.cuba.core.entity.Server) TestSupport(com.haulmont.cuba.testsupport.TestSupport) Date(java.util.Date) Test(org.junit.Test) BaseGenericIdEntity(com.haulmont.cuba.core.entity.BaseGenericIdEntity) User(com.haulmont.cuba.security.entity.User) com.haulmont.cuba.core.global(com.haulmont.cuba.core.global) HashSet(java.util.HashSet) Group(com.haulmont.cuba.security.entity.Group) BigDecimal(java.math.BigDecimal) DateUtils(org.apache.commons.lang.time.DateUtils) Order(com.haulmont.cuba.testmodel.sales.Order) After(org.junit.After) CascadeEntity(com.haulmont.cuba.testmodel.cascadedelete.CascadeEntity) ClassRule(org.junit.ClassRule) Assert(org.junit.Assert) TestContainer(com.haulmont.cuba.testsupport.TestContainer) Before(org.junit.Before) Customer(com.haulmont.cuba.testmodel.sales.Customer) Date(java.util.Date)

Example 2 with Order

use of com.haulmont.cuba.testmodel.sales.Order in project cuba by cuba-platform.

the class NonDetachedTest method setUp.

@Before
public void setUp() throws Exception {
    persistence = cont.persistence();
    metadata = cont.metadata();
    try (Transaction tx = persistence.createTransaction()) {
        EntityManager em = persistence.getEntityManager();
        user = metadata.create(User.class);
        user.setName("testUser");
        user.setLogin("testLogin");
        companyGroup = em.find(Group.class, TestSupport.COMPANY_GROUP_ID);
        user.setGroup(companyGroup);
        em.persist(user);
        customer = metadata.create(Customer.class);
        customer.setName("test customer");
        em.persist(customer);
        order = metadata.create(Order.class);
        order.setDate(new Date());
        order.setAmount(BigDecimal.TEN);
        order.setCustomer(customer);
        order.setUser(user);
        em.persist(order);
        cascadeEntity1 = metadata.create(CascadeEntity.class);
        cascadeEntity1.setName("cascadeEntity1");
        em.persist(cascadeEntity1);
        cascadeEntity2 = metadata.create(CascadeEntity.class);
        cascadeEntity2.setName("cascadeEntity2");
        cascadeEntity2.setFather(cascadeEntity1);
        em.persist(cascadeEntity2);
        cascadeEntity1.setFirstChild(cascadeEntity2);
        tx.commit();
    }
    orderView = new View(Order.class).addProperty("date").addProperty("amount").addProperty("customer", new View(Customer.class).addProperty("name")).addProperty("user", new View(User.class).addProperty("login").addProperty("name"));
}
Also used : Order(com.haulmont.cuba.testmodel.sales.Order) Group(com.haulmont.cuba.security.entity.Group) User(com.haulmont.cuba.security.entity.User) Customer(com.haulmont.cuba.testmodel.sales.Customer) Date(java.util.Date) CascadeEntity(com.haulmont.cuba.testmodel.cascadedelete.CascadeEntity) Before(org.junit.Before)

Example 3 with Order

use of com.haulmont.cuba.testmodel.sales.Order in project cuba by cuba-platform.

the class NonDetachedTest method testDoNotSaveNulls_EM.

@Test
public void testDoNotSaveNulls_EM() throws Exception {
    Order order = loadChangeAndSave(entity -> {
        PersistenceHelper.makePatch(entity);
        persistence.runInTransaction(em -> em.merge(entity));
    });
    assertNotNull(order.getAmount());
    assertNotNull(order.getCustomer());
    assertNotNull(order.getUser());
}
Also used : Order(com.haulmont.cuba.testmodel.sales.Order) Test(org.junit.Test)

Example 4 with Order

use of com.haulmont.cuba.testmodel.sales.Order in project cuba by cuba-platform.

the class NonDetachedTest method testDoNotSaveNulls_EM_new.

@Test
public void testDoNotSaveNulls_EM_new() throws Exception {
    Order order = loadChangeAndSave(entity -> {
        persistence.runInTransaction(em -> em.merge(entity));
    });
    assertNotNull(order.getAmount());
    assertNotNull(order.getCustomer());
    assertNotNull(order.getUser());
}
Also used : Order(com.haulmont.cuba.testmodel.sales.Order) Test(org.junit.Test)

Example 5 with Order

use of com.haulmont.cuba.testmodel.sales.Order in project cuba by cuba-platform.

the class NonDetachedTest method testSaveNulls_DM.

@Test
public void testSaveNulls_DM() throws Exception {
    Order order = loadChangeAndSave(entity -> {
        PersistenceHelper.makeDetached(entity);
        AppBeans.get(DataManager.class).commit(entity);
    });
    assertNull(order.getAmount());
    assertNotNull(order.getCustomer());
    assertNull(order.getUser());
}
Also used : Order(com.haulmont.cuba.testmodel.sales.Order) Test(org.junit.Test)

Aggregations

Order (com.haulmont.cuba.testmodel.sales.Order)7 Test (org.junit.Test)6 Group (com.haulmont.cuba.security.entity.Group)2 User (com.haulmont.cuba.security.entity.User)2 CascadeEntity (com.haulmont.cuba.testmodel.cascadedelete.CascadeEntity)2 Customer (com.haulmont.cuba.testmodel.sales.Customer)2 Date (java.util.Date)2 Before (org.junit.Before)2 BaseGenericIdEntity (com.haulmont.cuba.core.entity.BaseGenericIdEntity)1 Server (com.haulmont.cuba.core.entity.Server)1 com.haulmont.cuba.core.global (com.haulmont.cuba.core.global)1 TestContainer (com.haulmont.cuba.testsupport.TestContainer)1 TestSupport (com.haulmont.cuba.testsupport.TestSupport)1 BigDecimal (java.math.BigDecimal)1 HashSet (java.util.HashSet)1 DateUtils (org.apache.commons.lang.time.DateUtils)1 After (org.junit.After)1 Assert (org.junit.Assert)1 ClassRule (org.junit.ClassRule)1