X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Ftext_tradition_user.t;h=bf36587507a97e913e843b161905cd26e9ecf19a;hb=10ef765302eb2d8ed7bdd23f63a2b9703cd1df59;hp=5297df423b9bebd79db1bb068b39d2e3f7172e48;hpb=59acd833609a5c50cf17d1cc680781d8d9501451;p=scpubgit%2Fstemmatology.git diff --git a/t/text_tradition_user.t b/t/text_tradition_user.t index 5297df4..bf36587 100644 --- a/t/text_tradition_user.t +++ b/t/text_tradition_user.t @@ -27,6 +27,7 @@ my $new_user = $user_store->add_user({ username => 'fred', password => 'bloggspass'}); isa_ok($new_user, 'Text::Tradition::User'); is($new_user->active, 1, 'New user created and active'); +is($new_user->display, 'fred', 'Display value set to username'); ok(!$new_user->is_admin, 'New user is not an admin'); ## find user @@ -207,3 +208,54 @@ TODO: { is(scalar @admin_tlist, scalar @tlist, 'Got all traditions for admin user'); } + +{ + ## Add/find simple openid user with OpenIDish parameters: + + my $openid_user = $user_store->create_user({ + url => 'http://username.myopenid.com', + display => 'username.myopenid.com', + }); + ok($openid_user, 'Created user from OpenID params'); + + my $get_openid_user = $user_store->find_user({ + url => 'http://username.myopenid.com', + display => 'username.myopenid.com', + }); + + ok($openid_user == $get_openid_user, 'Found OpenID user again'); + is($get_openid_user->id, 'http://username.myopenid.com', 'Set id to unique url from openid'); + is($get_openid_user->display, 'username.myopenid.com', 'Kept original display value'); +} + +{ + ## Add/find openid user with email attribute: + my $openid_user = $user_store->create_user({ + url => 'http://blahblah.com/foo/bar/baz/lotsofjunk', + display => 'http://blahblah.com/foo/bar/baz/lotsofjunk', + extensions => { + 'http://openid.net/srv/ax/1.0' => { + 'value.email' => 'fredbloggs@blahblah.com', + 'type.email' => 'http://axschema.org/contact/email', + 'mode' => 'fetch_response', + }, + }, + }); + ok($openid_user, 'Created user from OpenID params'); + + my $get_openid_user = $user_store->find_user({ + url => 'http://blahblah.com/foo/bar/baz/lotsofjunk', + display => 'http://blahblah.com/foo/bar/baz/lotsofjunk', + extensions => { + 'http://openid.net/srv/ax/1.0' => { + 'value.email' => 'fredbloggs@blahblah.com', + 'type.email' => 'http://axschema.org/contact/email', + 'mode' => 'fetch_response', + }, + }, + }); + + ok($openid_user == $get_openid_user, 'Found OpenID user again'); + is($get_openid_user->id, 'http://blahblah.com/foo/bar/baz/lotsofjunk', 'Set id to unique url from openid'); + is($get_openid_user->display, 'fredbloggs@blahblah.com', 'Set display value to email from extension'); +}