mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
* WhoCreated, WhoModified on OneToMany connections. * PostgreSQL table name fix in tests.
106 lines
2.9 KiB
Java
106 lines
2.9 KiB
Java
package org.tests.generated;
|
|
|
|
import io.ebean.BaseTestCase;
|
|
import io.ebean.Ebean;
|
|
import io.ebean.MyCurrentUserProvider;
|
|
import org.tests.model.EWhoProps;
|
|
import org.junit.Test;
|
|
import org.tests.model.generated.User;
|
|
import org.tests.model.generated.WhoPropsOneToMany;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertNotNull;
|
|
import static org.junit.Assert.assertNull;
|
|
|
|
public class TestGeneratedWho extends BaseTestCase {
|
|
|
|
@Test
|
|
public void insertUpdate() {
|
|
|
|
EWhoProps bean = new EWhoProps();
|
|
bean.setName("one");
|
|
|
|
MyCurrentUserProvider.setUser("INSERT_WHO_1");
|
|
Ebean.save(bean);
|
|
|
|
assertEquals("one", bean.getName());
|
|
assertEquals("INSERT_WHO_1", bean.getWhoCreated());
|
|
assertEquals("INSERT_WHO_1", bean.getWhoModified());
|
|
assertNotNull(bean.getWhenCreated());
|
|
assertNotNull(bean.getWhenModified());
|
|
|
|
MyCurrentUserProvider.setUser("UPDATE_WHO_1");
|
|
bean.setName("two");
|
|
Ebean.save(bean);
|
|
|
|
assertEquals("two", bean.getName());
|
|
assertEquals("INSERT_WHO_1", bean.getWhoCreated());
|
|
assertEquals("UPDATE_WHO_1", bean.getWhoModified());
|
|
|
|
MyCurrentUserProvider.setUser("UPDATE_WHO_2");
|
|
bean.setName("three");
|
|
Ebean.save(bean);
|
|
|
|
assertEquals("INSERT_WHO_1", bean.getWhoCreated());
|
|
assertEquals("UPDATE_WHO_2", bean.getWhoModified());
|
|
|
|
MyCurrentUserProvider.resetToDefault();
|
|
}
|
|
|
|
@Test
|
|
public void insertOneToManyWhoCreated() {
|
|
User creator = new User("jack");
|
|
User maintainer01 = new User("jill");
|
|
User maintainer02 = new User("joe");
|
|
Ebean.save(creator);
|
|
Ebean.save(maintainer01);
|
|
Ebean.save(maintainer02);
|
|
|
|
WhoPropsOneToMany bean = new WhoPropsOneToMany();
|
|
bean.setName("one");
|
|
|
|
MyCurrentUserProvider.setUser(creator);
|
|
Ebean.save(bean);
|
|
|
|
assertNotNull(bean.getWhoCreated());
|
|
assertEquals(creator.getId(), bean.getWhoCreated().getId());
|
|
assertEquals(creator.getId(), bean.getWhoModified().getId());
|
|
|
|
MyCurrentUserProvider.setUser(maintainer01);
|
|
bean.setName("two");
|
|
Ebean.save(bean);
|
|
|
|
assertEquals("two", bean.getName());
|
|
assertEquals(creator.getId(), bean.getWhoCreated().getId());
|
|
assertEquals(maintainer01.getId(), bean.getWhoModified().getId());
|
|
|
|
MyCurrentUserProvider.setUser(maintainer02);
|
|
bean.setName("three");
|
|
Ebean.save(bean);
|
|
|
|
assertEquals(creator.getId(), bean.getWhoCreated().getId());
|
|
assertEquals(maintainer02.getId(), bean.getWhoModified().getId());
|
|
|
|
MyCurrentUserProvider.resetToDefault();
|
|
}
|
|
|
|
@Test
|
|
public void insertNullIntoOneToManyWhoCreated() {
|
|
User creator = new User("jack");
|
|
Ebean.save(creator);
|
|
|
|
WhoPropsOneToMany bean = new WhoPropsOneToMany();
|
|
bean.setName("one");
|
|
bean.setWhoCreated(creator);
|
|
bean.setWhoModified(creator);
|
|
|
|
MyCurrentUserProvider.setUser(null);
|
|
Ebean.save(bean);
|
|
|
|
assertNull(bean.getWhoCreated());
|
|
assertNull(bean.getWhoModified());
|
|
|
|
MyCurrentUserProvider.resetToDefault();
|
|
}
|
|
}
|