Change to using the merged Directory as the User store
[scpubgit/stemmatology.git] / t / text_tradition_user.t
index 38773a0..62520de 100644 (file)
@@ -4,19 +4,20 @@ use strict;
 use warnings;
 
 use Test::More 'no_plan';
-# use KiokuX::Model;
 use File::Temp;
 
-use_ok('Text::Tradition::UserStore');
+use_ok('Text::Tradition::Directory');
 
 my $fh = File::Temp->new();
 my $file = $fh->filename;
 $fh->close;
 my $dsn = "dbi:SQLite:dbname=$file";
 
-my $user_store = Text::Tradition::UserStore->new('dsn' => $dsn,
+my $user_store = Text::Tradition::Directory->new('dsn' => $dsn,
                                                  'extra_args' => { 'create' => 1 } );
 
+my $scope = $user_store->new_scope;
+
 ## passwords
 my $shortpass = 'bloggs';
 ok(!$user_store->validate_password($shortpass), '"bloggs" is too short for a password');
@@ -77,3 +78,25 @@ ok($changed->check_password('passbloggs'), 'Modified & retrieved with correct ne
     ok($gone && !$d_user, 'Deleted user completely from store');
 }
 
+{
+## add_tradition
+    use Text::Tradition;
+    my $t = Text::Tradition->new( 
+        'name'  => 'inline', 
+        'input' => 'Tabular',
+        'file'  => 't/data/simple.txt',
+       );
+
+    my $uuid = $user_store->save($t);
+    my $user = $user_store->add_user({ username => 'testadd',
+                                       password => 'testingtraditions' });
+    $user->add_tradition($t);
+    $user_store->update($user);
+#     $userstore->update($t);
+
+    is( scalar @{$user->traditions}, 1, 'Added one tradition');
+
+    my @tlist = $user_store->traditionlist($user->kiokudb_object_id);
+    is($tlist[0]->name, $t->name, 'Traditionlist returns stored user->tradition');
+}
+