]> wagnertech.de Git - mfinanz.git/blobdiff - t/Support/TestSetup.pm
Test-Run-Script ohne Harness
[mfinanz.git] / t / Support / TestSetup.pm
index f7b43cd0df07297232db67de1918f683b2c71267..d74e66a7b423cf2389e185a1b11cccc11211e991 100644 (file)
@@ -16,6 +16,9 @@ use SL::InstanceConfiguration;
 use SL::Request;
 
 sub login {
+  $Data::Dumper::Sortkeys = 1;
+  $Data::Dumper::Indent   = 2;
+
   SL::LxOfficeConf->read;
 
   my $client = 'Unit-Tests';
@@ -27,7 +30,7 @@ sub login {
   $::lxdebug->disable_sub_tracing;
   $::locale        = Locale->new($::lx_office_conf{system}->{language});
   $::form          = Form->new;
-  $::auth          = SL::Auth->new;
+  $::auth          = SL::Auth->new(unit_tests_database => 1);
   die "Cannot find client with ID or name '$client'" if !$::auth->set_client($client);
 
   $::instance_conf = SL::InstanceConfiguration->new;
@@ -41,14 +44,16 @@ sub login {
 
   die "cannot find user $login"            unless %::myconfig = $::auth->read_user(login => $login);
 
-  $::form->{login} = $login; # normaly implicit at login
-
   die "cannot find locale for user $login" unless $::locale   = Locale->new($::myconfig{countrycode});
 
-  $::instance_conf->init;
-
   $SIG{__DIE__} = sub { Carp::confess( @_ ) } if $::lx_office_conf{debug}->{backtrace_on_die};
 
+  # Always use English locale for messages from the database during
+  # tests.
+  my $query = qq|SET lc_messages = 'en_US.UTF-8'|;
+  SL::DB->auth->dbh->do($query)   || die 'Cannot set database locale to en_US.UTF-8 for auth database';
+  SL::DB->client->dbh->do($query) || die 'Cannot set database locale to en_US.UTF-8 for main database';
+
   return 1;
 }