Docs for Text::Tradition::User
[scpubgit/stemmatology.git] / t / text_tradition_user.t
CommitLineData
2006bd3f 1#!/usr/bin/perl
2
3use strict;
4use warnings;
5
6use Test::More 'no_plan';
d1ba091f 7# use KiokuX::Model;
2006bd3f 8use File::Temp;
9
10use_ok('Text::Tradition::UserStore');
11
12my $fh = File::Temp->new();
13my $file = $fh->filename;
14$fh->close;
15my $dsn = "dbi:SQLite:dbname=$file";
2006bd3f 16
ef02228c 17my $user_store = Text::Tradition::UserStore->new('dsn' => $dsn,
18 'extra_args' => { 'create' => 1 } );
19
20## passwords
21my $shortpass = 'bloggs';
22ok(!$user_store->validate_password($shortpass), '"bloggs" is too short for a password');
2006bd3f 23
d1ba091f 24## create user
ef02228c 25my $new_user = $user_store->add_user({ username => 'fred',
26 password => 'bloggspass'});
2006bd3f 27isa_ok($new_user, 'Text::Tradition::User');
28
d1ba091f 29## find user
30my $find_user = $user_store->find_user({ username => 'fred'});
31isa_ok($find_user, 'Text::Tradition::User');
ef02228c 32ok($find_user->check_password('bloggspass'), 'Stored & retrieved with correct password');
33
34## modify user
35my $changed_user = $user_store->modify_user({ username => 'fred',
36 password => 'passbloggs' });
37isa_ok($changed_user, 'Text::Tradition::User');
38my $changed = $user_store->find_user({ username => 'fred'});
39ok($changed->check_password('passbloggs'), 'Modified & retrieved with correct new password');
d1ba091f 40
41