[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