parent
2364272122
commit
ffb59ad652
4 changed files with 149 additions and 0 deletions
@ -0,0 +1,29 @@ |
|||||||
|
#!/usr/bin/env perl |
||||||
|
use MJB::Web::Test; |
||||||
|
|
||||||
|
#== |
||||||
|
# This test ensures that the profile page displays the user's name and email |
||||||
|
# address. |
||||||
|
# |
||||||
|
# 1. Create user and login. |
||||||
|
# 2. Go to the profile page |
||||||
|
# 3. Confirm the form fields contain the correct information |
||||||
|
#== |
||||||
|
|
||||||
|
my $t = Test::Mojo::MJB->new('MJB::Web'); |
||||||
|
|
||||||
|
my $blog_id = $t->create_user |
||||||
|
->get_ok( '/profile' ) |
||||||
|
->status_is( 200 ) |
||||||
|
->code_block(sub { |
||||||
|
my $self = shift; |
||||||
|
|
||||||
|
|
||||||
|
ok exists $self->stash->{form}->{name}, 'Name exists in profile form.'; |
||||||
|
ok exists $self->stash->{form}->{email}, 'Email address exists in profile form.'; |
||||||
|
|
||||||
|
is $self->stash->{form}->{name}, $self->stash->{person}->name, "Name is set correctly."; |
||||||
|
is $self->stash->{form}->{email}, $self->stash->{person}->email, "Email is set correctly."; |
||||||
|
}); |
||||||
|
|
||||||
|
done_testing; |
||||||
@ -0,0 +1,53 @@ |
|||||||
|
#!/usr/bin/env perl |
||||||
|
use MJB::Web::Test; |
||||||
|
|
||||||
|
#== |
||||||
|
# This test ensures that the profile page displays the user's name and email |
||||||
|
# address. |
||||||
|
# |
||||||
|
# 1. Create user and login. |
||||||
|
# 2. Go to the profile page |
||||||
|
# 3. Confirm the form fields contain the correct information |
||||||
|
# 4. Change the username and email |
||||||
|
# 5. Get the profile again and confirm the changes. |
||||||
|
#== |
||||||
|
|
||||||
|
my $t = Test::Mojo::MJB->new('MJB::Web'); |
||||||
|
|
||||||
|
# Create user and confirm profile |
||||||
|
$t->create_user |
||||||
|
->get_ok( '/profile' ) |
||||||
|
->status_is( 200 ) |
||||||
|
->code_block(sub { |
||||||
|
my $self = shift; |
||||||
|
|
||||||
|
|
||||||
|
ok exists $self->stash->{form}->{name}, 'Name exists in profile form.'; |
||||||
|
ok exists $self->stash->{form}->{email}, 'Email address exists in profile form.'; |
||||||
|
|
||||||
|
is $self->stash->{form}->{name}, $self->stash->{person}->name, "Name is set correctly."; |
||||||
|
is $self->stash->{form}->{email}, $self->stash->{person}->email, "Email is set correctly."; |
||||||
|
}); |
||||||
|
|
||||||
|
# Update the name/email and confirm. |
||||||
|
$t->post_ok( '/profile', form => { |
||||||
|
name => 'Test Name', |
||||||
|
email => 'test@test.com', |
||||||
|
password => $t->stash->{person}->name, |
||||||
|
}) |
||||||
|
->status_is( 302 ) |
||||||
|
->header_is( location => '/profile' ) |
||||||
|
->get_ok( '/profile' ) |
||||||
|
->status_is( 200 ) |
||||||
|
->code_block(sub { |
||||||
|
my $self = shift; |
||||||
|
|
||||||
|
|
||||||
|
ok exists $self->stash->{form}->{name}, 'Name exists in profile form.'; |
||||||
|
ok exists $self->stash->{form}->{email}, 'Email address exists in profile form.'; |
||||||
|
|
||||||
|
is $self->stash->{form}->{name}, 'Test Name', "Name was changed"; |
||||||
|
is $self->stash->{form}->{email}, 'test@test.com', "Email was changed"; |
||||||
|
}); |
||||||
|
|
||||||
|
done_testing; |
||||||
@ -0,0 +1,17 @@ |
|||||||
|
#!/usr/bin/env perl |
||||||
|
use MJB::Web::Test; |
||||||
|
|
||||||
|
#== |
||||||
|
# This test ensures that the password change page exists. |
||||||
|
# |
||||||
|
# 1. Create user and login. |
||||||
|
# 2. Go to the password page and confirm it exists. |
||||||
|
#== |
||||||
|
|
||||||
|
my $t = Test::Mojo::MJB->new('MJB::Web'); |
||||||
|
|
||||||
|
$t->create_user |
||||||
|
->get_ok( '/password' ) |
||||||
|
->status_is( 200 ); |
||||||
|
|
||||||
|
done_testing; |
||||||
@ -0,0 +1,50 @@ |
|||||||
|
#!/usr/bin/env perl |
||||||
|
use MJB::Web::Test; |
||||||
|
|
||||||
|
#== |
||||||
|
# This test ensures that the password change page works as expected. |
||||||
|
# |
||||||
|
# 1. Create user and login. |
||||||
|
# 2. Go to the password page and confirm it exists. |
||||||
|
# 3. Change the password for the user account |
||||||
|
# 4. Logout and confirm being logged out. |
||||||
|
# 5. Login with the new credentials and confirm being logged in. |
||||||
|
#== |
||||||
|
|
||||||
|
my $t = Test::Mojo::MJB->new('MJB::Web'); |
||||||
|
|
||||||
|
# Create a user and confirm the password page exists. |
||||||
|
$t->create_user |
||||||
|
->get_ok( '/password' ) |
||||||
|
->status_is( 200 ); |
||||||
|
|
||||||
|
# Change the password. |
||||||
|
$t->post_ok( '/password', form => { |
||||||
|
password => $t->stash->{person}->name, |
||||||
|
new_password => 'Test-Password', |
||||||
|
password_confirm => 'Test-Password', |
||||||
|
}) |
||||||
|
->status_is( 302 ) |
||||||
|
->header_is( location => '/password' ); |
||||||
|
|
||||||
|
# Grab the email we'll use for logging back in. |
||||||
|
my $email = $t->stash->{person}->email; |
||||||
|
|
||||||
|
# Logout |
||||||
|
$t->get_ok( '/logout' ); |
||||||
|
|
||||||
|
$t->get_ok( '/dashboard' ) |
||||||
|
->status_is( 302 ) |
||||||
|
->header_is( location => '/login', "User is logged out." ); |
||||||
|
|
||||||
|
# Try to login with the new password. |
||||||
|
$t->post_ok( '/login', form => { |
||||||
|
email => $email, |
||||||
|
password => 'Test-Password', |
||||||
|
})->status_is( 302 |
||||||
|
)->header_is( location => '/dashboard', 'Login redirected to dashboard' ) |
||||||
|
->code_block( sub { |
||||||
|
is( scalar(@{shift->stash->{errors}}), 0, 'No errors' ); |
||||||
|
}); |
||||||
|
|
||||||
|
done_testing; |
||||||
Loading…
Reference in new issue