Register test
[scpubgit/stemmaweb.git] / t / 05register.t
1 use warnings;
2 use strict;
3
4 use FindBin;
5 use lib ("$FindBin::Bin/lib");
6
7 use stemmaweb::Test::Common;
8
9 use stemmaweb;
10 use LWP::Protocol::PSGI;
11 use Test::WWW::Mechanize;
12
13 use Test::More;
14 use HTML::TreeBuilder;
15 use Data::Dumper;
16
17 use stemmaweb::Test::DB;
18
19 stemmaweb::Test::DB->new_db;
20
21 LWP::Protocol::PSGI->register(stemmaweb->psgi_app);
22
23 my $ua = Test::WWW::Mechanize->new;
24
25 $ua->get_ok('http://localhost/register');
26
27 my $response = $ua->submit_form(
28     fields => {
29         username         => 'user2@example.org',
30         password         => 'UserPass',
31         confirm_password => 'UserPass',
32     });
33
34 $ua->content_contains('You are now registered.', 'Registration worked');
35
36 $ua->get('/');
37 $ua->content_contains('Hello! user2@example.org', 'We are logged in.');
38
39 $ua->get('/logout');
40
41 $ua->get_ok('http://localhost/login');
42 $response = $ua->submit_form(
43     fields => {
44         username    => 'user2@example.org',
45         password    => 'UserPass'
46     });
47
48 $ua->content_contains('Stemmaweb - Logged in', 'Log in with new account works');
49
50 $ua->get('/');
51 $ua->content_contains('Hello! user2@example.org', 'We are logged in with new account');
52
53 $ua->get('/logout');
54
55 $ua->get_ok('http://localhost/register');
56
57 $response = $ua->submit_form(
58     fields => {
59         username         => 'user2@example.org',
60         password         => 'UserPass',
61         confirm_password => 'UserPass',
62     });
63
64 $ua->content_contains('That username already exists.', 'We cannot register an already
65     existing username');
66
67
68 done_testing;