[Jifty-commit] r3555 - in apps/CASPlus/trunk: t

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Tue Jun 26 09:14:56 EDT 2007


Author: sterling
Date: Tue Jun 26 09:14:56 2007
New Revision: 3555

Added:
   apps/CASPlus/trunk/t/10-model-RoleMemberPathCache.t
Modified:
   apps/CASPlus/trunk/   (props changed)

Log:
 r7648 at dynpc145:  andrew | 2007-06-16 08:37:16 -0500
 Added the role member path cache model.


Added: apps/CASPlus/trunk/t/10-model-RoleMemberPathCache.t
==============================================================================
--- (empty file)
+++ apps/CASPlus/trunk/t/10-model-RoleMemberPathCache.t	Tue Jun 26 09:14:56 2007
@@ -0,0 +1,78 @@
+#!/usr/bin/env perl
+use warnings;
+use strict;
+
+=head1 DESCRIPTION
+
+A basic test harness for the RoleMemberPathCache model.
+
+=cut
+
+use Jifty::Test tests => 11;
+
+# Make sure we can load the model
+use_ok('CASPlus::Model::RoleMemberPathCache');
+
+# Grab a system user
+my $system_user = CASPlus::CurrentUser->superuser;
+ok($system_user, "Found a system user");
+
+# Create a test user
+my $user = CASPlus::Model::User->new(current_user => $system_user);
+$user->create(
+    username => 'PC-Test',
+    passowrd => 'test',
+);
+ok($user->id, 'created a test user');
+
+# Create a test role
+my $role = CASPlus::Model::Role->new(current_user => $system_user);
+$role->create(
+    name => 'foo'
+);
+ok($role->id, 'created a test role');
+
+# Create a test role member
+my $role_member = CASPlus::Model::RoleMember->new(current_user => $system_user);
+$role_member->create(
+    the_user => $user,
+    the_role => $role,
+);
+ok($role_member->id, 'create a test role membership');
+
+# Try testing a create
+my $o = CASPlus::Model::RoleMemberPathCache->new(current_user => $system_user);
+my ($id) = $o->create(
+    role_member => $role_member,
+    cache_path  => '1:@1:1',
+);
+ok($id, "RoleMemberPathCache create returned success");
+ok($o->id, "New RoleMemberPathCache has valid id set");
+is($o->id, $id, "Create returned the right id");
+
+# And another
+$o->create(
+    role_member => $role_member,
+    cache_path  => '2:@2:2',
+);
+ok($o->id, "RoleMemberPathCache create returned another value");
+isnt($o->id, $id, "And it is different from the previous one");
+
+# Searches in general
+my $collection =  CASPlus::Model::RoleMemberPathCacheCollection->new(current_user => $system_user);
+$collection->unlimit;
+is($collection->count, 2, "Finds two records");
+
+# Searches in specific
+$collection->limit(column => 'id', value => $o->id);
+is($collection->count, 1, "Finds one record with specific id");
+
+# Delete one of them
+$o->delete;
+$collection->redo_search;
+is($collection->count, 0, "Deleted row is gone");
+
+# And the other one is still there
+$collection->unlimit;
+is($collection->count, 1, "Still one left");
+


More information about the Jifty-commit mailing list