[Jifty-commit] r4010 - in apps/CASPlus/trunk: t
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Wed Aug 29 15:46:31 EDT 2007
Author: sterling
Date: Wed Aug 29 15:46:27 2007
New Revision: 4010
Added:
apps/CASPlus/trunk/t/40-one-to-many_relationships-explicit.t
- copied, changed from r3693, /apps/CASPlus/trunk/t/40-many-to-many_relationships-explicit.t
Modified:
apps/CASPlus/trunk/ (props changed)
Log:
r11066 at riddle: andrew | 2007-08-29 14:44:57 -0500
Adding the many-children/single-parents relationship calculation test.
Copied: apps/CASPlus/trunk/t/40-one-to-many_relationships-explicit.t (from r3693, /apps/CASPlus/trunk/t/40-many-to-many_relationships-explicit.t)
==============================================================================
--- /apps/CASPlus/trunk/t/40-many-to-many_relationships-explicit.t (original)
+++ apps/CASPlus/trunk/t/40-one-to-many_relationships-explicit.t Wed Aug 29 15:46:27 2007
@@ -3,7 +3,7 @@
use warnings;
use List::Util qw/ sum /;
-use Jifty::Test tests => 120;
+use Jifty::Test tests => 129;
my $system_user = CASPlus::CurrentUser->superuser;
@@ -31,11 +31,11 @@
my $ur_relationship = CASPlus::Model::ProfileRelationship->new(current_user => $system_user);
$ur_relationship->create(
name => 'user-role',
- parent_name => 'my_roles',
+ parent_name => 'my_role',
child_name => 'my_users',
relation_parent => $role_profile,
relation_child => $user_profile,
- many_parents => 1,
+ many_parents => 0,
many_children => 1,
roles_propagate_to_children => 1,
);
@@ -44,11 +44,11 @@
my $uo_relationship = CASPlus::Model::ProfileRelationship->new(current_user => $system_user);
$uo_relationship->create(
name => 'user-other',
- parent_name => 'my_others',
+ parent_name => 'my_other',
child_name => 'my_users',
relation_parent => $other_profile,
relation_child => $user_profile,
- many_parents => 1,
+ many_parents => 0,
many_children => 1,
roles_propagate_to_children => 1,
);
@@ -57,11 +57,11 @@
my $rr_relationship = CASPlus::Model::ProfileRelationship->new(current_user => $system_user);
$rr_relationship->create(
name => 'role-role',
- parent_name => 'my_parent_roles',
+ parent_name => 'my_parent_role',
child_name => 'my_child_roles',
relation_parent => $role_profile,
relation_child => $role_profile,
- many_parents => 1,
+ many_parents => 0,
many_children => 1,
roles_propagate_to_children => 1,
);
@@ -70,11 +70,11 @@
my $or_relationship = CASPlus::Model::ProfileRelationship->new(current_user => $system_user);
$or_relationship->create(
name => 'other-role',
- parent_name => 'my_roles',
+ parent_name => 'my_role',
child_name => 'my_others',
relation_parent => $role_profile,
relation_child => $other_profile,
- many_parents => 1,
+ many_parents => 0,
many_children => 1,
roles_propagate_to_children => 1,
);
@@ -241,12 +241,17 @@
$other_obj->load(1);
ok($other_obj->id, 'loaded first <other>');
- my $uo_relationship = $uo_class->new(current_user => $system_user);
- $uo_relationship->create(
- parent => $other_obj,
- child => $user_obj,
+ $user_obj->set_my_other($other_obj);
+
+ $other_obj->load(1);
+ $user_obj->load(2);
+
+ is($user_obj->my_other->id, 1, 'user side of user-2 - first <other> relationship');
+ is_deeply(
+ [ sort map { $_->id } @{ $other_obj->my_users->items_array_ref } ],
+ [ 2 ],
+ 'other side of user-2 - first <other> relationship'
);
- ok($uo_relationship->id, 'created user-2 - first <other> relationship');
}
{ # first <other> - role-2 relationship
@@ -258,12 +263,17 @@
$other_obj->load(1);
ok($other_obj->id, 'loaded first <other>');
- my $or_relationship = $or_class->new(current_user => $system_user);
- $or_relationship->create(
- parent => $role_obj,
- child => $other_obj,
+ $other_obj->set_my_role($role_obj);
+
+ $role_obj->load(2);
+ $other_obj->load(1);
+
+ is($other_obj->my_role->id, 2, 'other side of first <other> - role-2 relationship');
+ is_deeply(
+ [ sort map { $_->id } @{ $role_obj->my_others->items_array_ref } ],
+ [ 1 ],
+ 'role side of first <other> - role-2 relationship'
);
- ok($or_relationship->id, 'created first <other> - role-2 relationship');
}
{ # user-4 - second <other> relationship
@@ -275,12 +285,17 @@
$other_obj->load(2);
ok($other_obj->id, 'loaded second <other>');
- my $uo_relationship = $uo_class->new(current_user => $system_user);
- $uo_relationship->create(
- parent => $other_obj,
- child => $user_obj,
+ $user_obj->set_my_other($other_obj);
+
+ $user_obj->load(4);
+ $other_obj->load(2);
+
+ is($user_obj->my_other->id, 2, 'user side of user-4 - second <other> relationship');
+ is_deeply(
+ [ sort map { $_->id } @{ $other_obj->my_users->items_array_ref } ],
+ [ 4 ],
+ 'other side of user-4 - second <other> relationship'
);
- ok($uo_relationship->id, 'created user-4 - second <other> relationship');
}
{ # role-1 - role-3 relationship
@@ -292,12 +307,17 @@
$child_role_obj->load(1);
ok($child_role_obj->id, 'loaded role-1');
- my $rr_relationship = $rr_class->new(current_user => $system_user);
- $rr_relationship->create(
- parent => $parent_role_obj,
- child => $child_role_obj,
+ $child_role_obj->set_my_parent_role($parent_role_obj);
+
+ $parent_role_obj->load(3);
+ $child_role_obj->load(1);
+
+ is($child_role_obj->my_parent_role->id, 3, 'child side of role-1 - role-3 relationship');
+ is_deeply(
+ [ sort map { $_->id } @{ $parent_role_obj->my_child_roles->items_array_ref } ],
+ [ 1 ],
+ 'parent side of role-1 - role-3 relationship'
);
- ok($rr_relationship->id, 'created role-1 - role-3 relationship');
}
{ # user-3 - role-1 relationship
@@ -309,12 +329,17 @@
$role_obj->load(1);
ok($role_obj->id, 'loaded role-1');
- my $ur_relationship = $ur_class->new(current_user => $system_user);
- $ur_relationship->create(
- parent => $role_obj,
- child => $user_obj,
+ $user_obj->set_my_role($role_obj);
+
+ $user_obj->load(3);
+ $role_obj->load(1);
+
+ is($user_obj->my_role->id, 1, 'user side of user-3 - role-1 relationship');
+ is_deeply(
+ [ sort map { $_->id } @{ $role_obj->my_users->items_array_ref } ],
+ [ 3 ],
+ 'role side of user-3 - role-1 relationship'
);
- ok($ur_relationship->id, 'created user-3 - role-1 relationship');
}
{ # first <other> - role-4 relationship
@@ -326,12 +351,17 @@
$other_obj->load(1);
ok($other_obj->id, 'loaded first <other>');
- my $or_relationship = $or_class->new(current_user => $system_user);
- $or_relationship->create(
- parent => $role_obj,
- child => $other_obj,
+ $other_obj->set_my_role($role_obj);
+
+ $role_obj->load(4);
+ $other_obj->load(1);
+
+ is($other_obj->my_role->id, 4, 'role side of first <other> - role-4 relationship');
+ is_deeply(
+ [ sort map { $_->id } @{ $role_obj->my_others->items_array_ref } ],
+ [ 1 ],
+ 'other side of first <other> - role-4 relationship'
);
- ok($or_relationship->id, 'created first <other> - role-4 relationship');
}
{ # user-1 - role-1 relationship
@@ -343,12 +373,17 @@
$role_obj->load(1);
ok($role_obj->id, 'loaded role-1');
- my $ur_relationship = $ur_class->new(current_user => $system_user);
- $ur_relationship->create(
- parent => $role_obj,
- child => $user_obj,
+ $user_obj->set_my_role($role_obj);
+
+ $role_obj->load(1);
+ $user_obj->load(1);
+
+ is($user_obj->my_role->id, 1, 'user side of user-1 - role-1 relationship');
+ is_deeply(
+ [ sort map { $_->id } @{ $role_obj->my_users->items_array_ref } ],
+ [ 1, 3 ],
+ 'role side of user-1 - role-1 relationship'
);
- ok($ur_relationship->id, 'created user-1 - role-1 relationship');
}
{ # user-3 - first <other> relationship
@@ -360,12 +395,17 @@
$other_obj->load(1);
ok($other_obj->id, 'loaded first <other>');
- my $uo_relationship = $uo_class->new(current_user => $system_user);
- $uo_relationship->create(
- parent => $other_obj,
- child => $user_obj,
+ $user_obj->set_my_other($other_obj);
+
+ $user_obj->load(3);
+ $other_obj->load(1);
+
+ is($user_obj->my_other->id, 1, 'user side of user-3 - first <other> relationship');
+ is_deeply(
+ [ sort map { $_->id } @{ $other_obj->my_users->items_array_ref } ],
+ [ 2, 3 ],
+ 'other side of user-3 - first <other> relationship'
);
- ok($uo_relationship->id, 'created user-3 - first <other> relationship');
}
{ # role-1 - role-2 relationship
@@ -377,12 +417,17 @@
$child_role_obj->load(1);
ok($child_role_obj->id, 'loaded role-1');
- my $rr_relationship = $rr_class->new(current_user => $system_user);
- $rr_relationship->create(
- parent => $parent_role_obj,
- child => $child_role_obj,
+ $child_role_obj->set_my_parent_role($parent_role_obj);
+
+ $parent_role_obj->load(2);
+ $child_role_obj->load(1);
+
+ is($child_role_obj->my_parent_role->id, 2, 'child side of role-1 - role-2 relationship');
+ is_deeply(
+ [ sort map { $_->id } @{ $parent_role_obj->my_child_roles->items_array_ref } ],
+ [ 1 ],
+ 'parent side of role-1 - role-2 relationship'
);
- ok($rr_relationship->id, 'created role-1 - role-2 relationship');
}
# Create the permissions
@@ -507,16 +552,16 @@
my %user_results = (
1 => {
- roles => [ 1, 2, 3 ],
- perms => [ 1, 2, 3, 4, 5, 6, 7 ],
+ roles => [ 1, 2 ],
+ perms => [ 1, 2, 3, 4 ],
},
2 => {
- roles => [ 2, 4 ],
- perms => [ 2, 3, 4, 8, 9, 10 ],
+ roles => [ 4 ],
+ perms => [ 8, 9, 10 ],
},
3 => {
- roles => [ 1, 2, 3, 4 ],
- perms => [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ],
+ roles => [ 1, 2, 4 ],
+ perms => [ 1, 2, 3, 4, 8, 9, 10 ],
},
4 => {
roles => [ ],
@@ -527,33 +572,24 @@
my %role_members = (
'' => [
':5:@2:4:',
- ':4:@4:3:',
':10:@2:6:',
- ':2:@3:7:',
':4:@4:9:',
':8:@2:4:',
':2:@3:3:',
],
- 1 => [
- ':5:@2:4:@4:3:',
- ],
+ 1 => [ ],
2 => [
':8:@1:2:',
],
- 3 => [
- ':8:@1:2:@3:7:',
- ],
+ 3 => [ ],
4 => [
':5:@2:4:@4:9:',
],
5 => [
':1:@1:2:',
],
- 6 => [
- ':1:@1:2:@3:7:',
- ],
+ 6 => [ ],
7 => [
- ':8:@2:4:@4:3:',
':8:@1:2:@3:3:',
],
8 => [
More information about the Jifty-commit
mailing list