mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
WhoCreated, WhoModified on OneToMany connections. (#942)
* WhoCreated, WhoModified on OneToMany connections. * PostgreSQL table name fix in tests.
This commit is contained in:
@@ -5,9 +5,12 @@ 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 {
|
||||
|
||||
@@ -17,7 +20,7 @@ public class TestGeneratedWho extends BaseTestCase {
|
||||
EWhoProps bean = new EWhoProps();
|
||||
bean.setName("one");
|
||||
|
||||
MyCurrentUserProvider.setUserId("INSERT_WHO_1");
|
||||
MyCurrentUserProvider.setUser("INSERT_WHO_1");
|
||||
Ebean.save(bean);
|
||||
|
||||
assertEquals("one", bean.getName());
|
||||
@@ -26,7 +29,7 @@ public class TestGeneratedWho extends BaseTestCase {
|
||||
assertNotNull(bean.getWhenCreated());
|
||||
assertNotNull(bean.getWhenModified());
|
||||
|
||||
MyCurrentUserProvider.setUserId("UPDATE_WHO_1");
|
||||
MyCurrentUserProvider.setUser("UPDATE_WHO_1");
|
||||
bean.setName("two");
|
||||
Ebean.save(bean);
|
||||
|
||||
@@ -34,7 +37,7 @@ public class TestGeneratedWho extends BaseTestCase {
|
||||
assertEquals("INSERT_WHO_1", bean.getWhoCreated());
|
||||
assertEquals("UPDATE_WHO_1", bean.getWhoModified());
|
||||
|
||||
MyCurrentUserProvider.setUserId("UPDATE_WHO_2");
|
||||
MyCurrentUserProvider.setUser("UPDATE_WHO_2");
|
||||
bean.setName("three");
|
||||
Ebean.save(bean);
|
||||
|
||||
@@ -43,4 +46,60 @@ public class TestGeneratedWho extends BaseTestCase {
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user