X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Ftext_tradition_user.t;h=bce5cb1e3411aeb03846410a4c1cc11a2b254a6c;hb=d1906a56713cd28fa8f7e617e34700c5bb515240;hp=62520de09140d92f5cb6e39e58e5a4ec37928edf;hpb=fefeeedaa6092a3c13a221130fa75561124c7a1a;p=scpubgit%2Fstemmatology.git diff --git a/t/text_tradition_user.t b/t/text_tradition_user.t index 62520de..bce5cb1 100644 --- a/t/text_tradition_user.t +++ b/t/text_tradition_user.t @@ -49,6 +49,7 @@ ok($changed->check_password('passbloggs'), 'Modified & retrieved with correct ne my $d_user = $user_store->deactivate_user({ username => 'testactive' }); is($d_user->active, 0, 'Deactivated user'); + is($user_store->find_user({ username => 'testactive' }), undef, 'Deactivated user not returned by find_user'); ## TODO - add test where user has traditions to start with } @@ -59,11 +60,12 @@ ok($changed->check_password('passbloggs'), 'Modified & retrieved with correct ne my $user = $user_store->add_user({ username => 'testinactive', password => 'imaninactiveuser' }); - my $d_user = $user_store->deactivate_user({ username => 'testactive' }); + my $d_user = $user_store->deactivate_user({ username => 'testinactive' }); ok(!$d_user->active, 'Deactivate test user starts active'); my $a_user = $user_store->reactivate_user({ username => 'testinactive' }); is($a_user->active, 1, 'Re-activated user'); + ok($user_store->find_user({ username => 'testinactive' }), 'Re-activated user returned by find_user again'); } { @@ -92,11 +94,37 @@ ok($changed->check_password('passbloggs'), 'Modified & retrieved with correct ne 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'); + my @tlist = $user_store->traditionlist($user); + is($tlist[0]->{name}, $t->name, 'Traditionlist returns same named user->tradition'); + is($tlist[0]->{id}, $uuid, 'Traditionlist returns actual tradition with same uuid we put in earlier'); +} + +{ +## remove_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 => 'testremove', + password => 'testingtraditions' }); + $user->add_tradition($t); + $user_store->update($user); + + $user->remove_tradition($t); + $user_store->update($user); + my $changed_t = $user_store->tradition($uuid); + + is( scalar @{$user->traditions}, 0, 'Added and removed one tradition'); + ok(!$changed_t->has_user, 'Removed user from tradition'); + + my @tlist = $user_store->traditionlist($user); + is(scalar @tlist, 0, 'Traditionlist now empty'); }