# Copyright (c) 2008 bivio Software, Inc. All Rights Reserved. # $Id: user-settings.btest,v 1.9 2011/07/14 23:00:03 moeller Exp $ test_setup('PetShop', 'groupware'); home_page(); my($email, $name) = create_user(); home_page(); follow_link('settings', 'password'); verify_form({ '^current' => undef, }); go_back(); # The name UserSettings also tests root's large page size submit_form({ first => my $first = lc(random_string()), middle => undef, last => 'Zetter', size => 5, }); follow_link('settings'); verify_form({ first => $first, middle => undef, last => 'Zetter', size => 5, }); verify_no_text(qr{[^_]$name[^@]}); $name = "u$name"; login_as('root'); follow_link('all_users'); submit_form(refresh => { _anon => $first, }); follow_link($first); home_page(); follow_link('settings'); verify_form({ email => $email, }); submit_form({ user_id => $name, }); follow_link('settings'); verify_form({ user_id => $name }); do_logout(); login_as($name); follow_link('settings'); test_deviance(); verify_form({ user_id => $name }); test_conformance(); do_logout(); go_back(); go_back(); submit_form({ middle => 'x', }); submit_form({ email => $email, password => default_password(), }); verify_form({ middle => 'x', }); my($email_new) = join('_new@', split('@', $email)); submit_form({ email => $email_new, }); verify_text(qr{verify email address}i); verify_form({ qr{^email}i => $email_new, }); submit_form(qr{verify email}i); verify_text(qr{check your email}i); verify_text($email_new); follow_link('settings'); verify_form({ email => $email, }); visit_uri(extract_uri_from_local_mail($email_new)); verify_text(qr{your email address has been updated}i); verify_form({ email => $email_new, }); do_logout(); login_as('root'); follow_link('all_users'); submit_form(refresh => { _anon => $first, }); follow_link($first); home_page(); follow_link('settings'); verify_form({ email => $email_new, }); submit_form({ email => $email, }); verify_text(qr{your settings have been updated}i); verify_no_text(qr{verify email address}i); verify_no_text($email_new); follow_link('settings'); verify_form({ email => $email, });