mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
65 lines
2.0 KiB
Java
65 lines
2.0 KiB
Java
package com.avaje.tests.m2m;
|
|
|
|
import java.util.HashSet;
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
|
|
import org.junit.Assert;
|
|
import org.junit.Test;
|
|
|
|
import com.avaje.ebean.BaseTestCase;
|
|
import com.avaje.ebean.Ebean;
|
|
import com.avaje.tests.model.m2m.Permission;
|
|
import com.avaje.tests.model.m2m.Role;
|
|
import com.avaje.tests.model.m2m.Tenant;
|
|
|
|
public class TestM2MDeleteObjectWithCascadeToM2m extends BaseTestCase {
|
|
|
|
@Test
|
|
public void test() {
|
|
|
|
Ebean.createUpdate(Permission.class, "delete from Permission").execute();
|
|
Ebean.createUpdate(Tenant.class, "delete from Tenant").execute();
|
|
Ebean.createUpdate(Role.class, "delete from Role").execute();
|
|
|
|
Tenant tenant1 = new Tenant("Tenant");
|
|
Ebean.save(tenant1);
|
|
|
|
Permission p1 = new Permission("p1");
|
|
Permission p2 = new Permission("p2");
|
|
Ebean.save(p1);
|
|
Ebean.save(p2);
|
|
|
|
Role role1 = new Role("RoleOne");
|
|
role1.setTenant(tenant1);
|
|
|
|
Set<Permission> permissions = new HashSet<Permission>();
|
|
List<Permission> permsList = Ebean.find(Permission.class).findList();
|
|
permissions.addAll(permsList);
|
|
|
|
role1.setPermissions(permissions);
|
|
|
|
Ebean.save(role1);
|
|
|
|
|
|
List<Tenant> tenantList = Ebean.find(Tenant.class).fetch("roles").findList();
|
|
List<Role> roleList = Ebean.find(Role.class).fetch("permissions").findList();
|
|
List<Permission> permissionList = Ebean.find(Permission.class).fetch("roles").findList();
|
|
|
|
Assert.assertEquals(1, tenantList.size());
|
|
Assert.assertEquals(2, permissionList.size());
|
|
Assert.assertEquals(1, roleList.size());
|
|
|
|
Ebean.delete(tenant1);
|
|
|
|
List<Tenant> tenantList2 = Ebean.find(Tenant.class).fetch("roles").findList();
|
|
List<Role> roleList2 = Ebean.find(Role.class).fetch("permissions").findList();
|
|
List<Permission> permissionList2 = Ebean.find(Permission.class).fetch("roles").findList();
|
|
|
|
Assert.assertEquals(0, tenantList2.size());
|
|
Assert.assertEquals(0, roleList2.size());
|
|
Assert.assertEquals(2, permissionList2.size());
|
|
|
|
}
|
|
}
|