mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#919 - io.ebean package initial
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
package org.tests.basic;
|
||||
|
||||
import io.ebean.BaseTestCase;
|
||||
import io.ebean.Ebean;
|
||||
import io.ebean.Query;
|
||||
import io.ebean.SqlUpdate;
|
||||
import org.tests.model.basic.MRole;
|
||||
import org.tests.model.basic.MUser;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class TestM2MVanilla extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void testVanilla() {
|
||||
|
||||
SqlUpdate delInt = Ebean.createSqlUpdate("delete from mrole_muser");
|
||||
SqlUpdate delRoles = Ebean.createSqlUpdate("delete from mrole");
|
||||
SqlUpdate delUsers = Ebean.createSqlUpdate("delete from muser");
|
||||
|
||||
Ebean.execute(delInt);
|
||||
Ebean.execute(delRoles);
|
||||
Ebean.execute(delUsers);
|
||||
|
||||
MRole r1 = new MRole();
|
||||
r1.setRoleName("role1");
|
||||
Ebean.save(r1);
|
||||
|
||||
MRole r2 = new MRole();
|
||||
r2.setRoleName("role2");
|
||||
Ebean.save(r2);
|
||||
|
||||
MRole r3 = new MRole();
|
||||
r3.setRoleName("role3");
|
||||
Ebean.save(r3);
|
||||
|
||||
MUser u0 = new MUser();
|
||||
u0.setUserName("something");
|
||||
|
||||
Ebean.save(u0);
|
||||
|
||||
MUser user = Ebean.find(MUser.class, u0.getUserid());
|
||||
|
||||
List<MRole> roleList = new ArrayList<>();
|
||||
roleList.add(r1);
|
||||
roleList.add(r2);
|
||||
|
||||
user.setRoles(roleList);
|
||||
|
||||
Ebean.save(user);
|
||||
// Ebean.saveManyToManyAssociations(user, "roles");
|
||||
|
||||
MUser checkUser = Ebean.find(MUser.class, u0.getUserid());
|
||||
List<MRole> checkRoles = checkUser.getRoles();
|
||||
Assert.assertNotNull(checkRoles);
|
||||
Assert.assertEquals(2, checkRoles.size());
|
||||
|
||||
checkRoles.add(r3);
|
||||
|
||||
Ebean.save(checkUser);
|
||||
// Ebean.saveManyToManyAssociations(checkUser, "roles");
|
||||
|
||||
MUser checkUser2 = Ebean.find(MUser.class, u0.getUserid());
|
||||
List<MRole> checkRoles2 = checkUser2.getRoles();
|
||||
Assert.assertNotNull(checkRoles2);
|
||||
Assert.assertEquals("added a role", 3, checkRoles2.size());
|
||||
|
||||
Query<MUser> rolesQuery0 = Ebean.find(MUser.class).where().eq("roles", r1).query();
|
||||
|
||||
rolesQuery0.findList();
|
||||
|
||||
Query<MUser> rolesQuery = Ebean.find(MUser.class).where().in("roles", roleList).query();
|
||||
|
||||
List<MUser> userInRolesList = rolesQuery.findList();
|
||||
Assert.assertTrue(!userInRolesList.isEmpty());
|
||||
|
||||
List<MUser> list = Ebean.find(MUser.class)
|
||||
.where().in("roles", roleList)
|
||||
.filterMany("roles").eq("roleName", "role1")
|
||||
.findList();
|
||||
|
||||
MUser mUser = list.get(0);
|
||||
List<MRole> roles = mUser.getRoles();
|
||||
Assert.assertEquals(1, roles.size());
|
||||
|
||||
checkRoles2.remove(0);
|
||||
checkRoles2.remove(0);
|
||||
Ebean.save(checkUser2);
|
||||
|
||||
checkUser2 = Ebean.find(MUser.class, u0.getUserid());
|
||||
checkRoles2 = checkUser2.getRoles();
|
||||
Assert.assertNotNull(checkRoles2);
|
||||
Assert.assertEquals("added a role", 1, checkRoles2.size());
|
||||
|
||||
Ebean.delete(checkUser2);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user