]> wagnertech.de Git - mfinanz.git/blobdiff - t/file/filesystem.t
LaTeX-Vorlagen: ~ escapen
[mfinanz.git] / t / file / filesystem.t
index aa19ac7147f378b68abe04321e09dd39593c2521..8797a1cda48220e6f534708655746dc4d4e75d69 100644 (file)
@@ -1,5 +1,5 @@
 use strict;
-use Test::More tests => 11;
+use Test::More tests => 14;
 
 use lib 't';
 
@@ -7,7 +7,8 @@ use File::Temp;
 use Support::TestSetup;
 use Test::Exception;
 use SL::File;
-use SL::Dev::File;
+use SL::Dev::File qw(create_uploaded create_scanned create_created);
+
 
 Support::TestSetup::login();
 
@@ -15,22 +16,22 @@ my $temp_dir    = File::Temp::tempdir("kivi-t-file-filesystem.XXXXXX", TMPDIR =>
 my $storage_dir = "$temp_dir/storage";
 
 mkdir($storage_dir) || die $!;
-
-my $db = SL::DB::Object->new->db;
-$db->dbh->do("UPDATE defaults SET doc_files = 't'");
-$db->dbh->do("UPDATE defaults SET doc_files_rootpath = ?", undef, $storage_dir);
+{
+local $::lx_office_conf{paths}->{document_path} = $storage_dir;
+$::instance_conf->data;
+local $::instance_conf->{data}{doc_files} = 1;
 
 my $scannerfile = "${temp_dir}/f2";
 
 clear_up();
 reset_state();
 
-my $file1 = SL::Dev::File::create_uploaded( file_name => 'file1', file_contents => 'inhalt1 uploaded' );
-my $file2 = SL::Dev::File::create_scanned(  file_name => 'file2', file_contents => 'inhalt2 scanned', file_path => $scannerfile );
-my $file3 = SL::Dev::File::create_created(  file_name => 'file3', file_contents => 'inhalt3 created'    );
-my $file4 = SL::Dev::File::create_created(  file_name => 'file3', file_contents => 'inhalt3 new version');
+my $file1 = create_uploaded( file_name => 'file1', file_contents => 'inhalt1 uploaded' );
+my $file2 = create_scanned(  file_name => 'file2', file_contents => 'inhalt2 scanned', file_path => $scannerfile );
+my $file3 = create_created(  file_name => 'file3', file_contents => 'inhalt3 created'    );
+my $file4 = create_created(  file_name => 'file3', file_contents => 'inhalt3 new version');
 
-is( SL::Dev::File->get_all_count(),                    3,"total number of files created is 3");
+is( SL::Dev::File::get_all_count(),                    3,"total number of files created is 3");
 ok( $file1->file_name                        eq 'file1' ,"file has right name");
 my $content1 = $file1->get_content;
 ok( $$content1 eq 'inhalt1 uploaded'                    ,"file has right content");
@@ -42,43 +43,65 @@ is( -f $scannerfile ? 1 : 0,                           1,"scanned document is mo
 my $content2 = File::Slurp::read_file($scannerfile);
 ok( $content2 eq 'inhalt2 scanned'                      ,"scanned file has right content");
 
-my @file5 = SL::Dev::File->get_all(file_name => 'file3');
+my @file5 = SL::Dev::File::get_all(file_name => 'file3');
 is(   scalar( @file5),                                 1, "one actual file found");
 my $content5 = $file5[0]->get_content();
 ok( $$content5 eq 'inhalt3 new version'                 ,"file has right actual content");
 
-my @file6 = SL::Dev::File->get_all_versions(file_name => 'file3');
+my @file6 = SL::Dev::File::get_all_versions(file_name => 'file3');
 is(   scalar( @file6),                                 2,"two file versions found");
 $content5 = $file6[0]->get_content;
 ok( $$content5 eq 'inhalt3 new version'                 ,"file has right actual content");
 $content5 = $file6[1]->get_content;
 ok( $$content5 eq 'inhalt3 created'                     ,"file has right old content");
 
-print "\n\nController:\n";
+#print "\n\nController Test:\n";
 # now test controller
 #$::form->{object_id}  = 1;
 #$::form->{object_type}= 'sales_order';
 #$::form->{file_type}  = 'document';
+
+my $output;
+open(my $outputFH, '>', \$output) or die; # This shouldn't fail
+my $oldFH = select $outputFH;
+
 $::form->{id}  = $file1->id;
-print "id=".$::form->{id}."\n";
 use SL::Controller::File;
 SL::Controller::File->action_download();
+
+select $oldFH;
+close $outputFH;
+my @lines = split "\n" , $output;
+ok($lines[4] eq 'inhalt1 uploaded'                 ,"controller download has correct content");
+
+#some controller checks
 $::form->{object_id}   = 12345678;
 $::form->{object_type} = undef;
+my $result='xx1';
 eval {
   SL::Controller::File->check_object_params();
+  $result='yy1';
   1;
 } or do {
-    print $@;
+  $result=$@;
 };
-$::form->{object_type} ='xx';
-$::form->{file_type} ='yy';
+$result = substr($result,0,14);
+#print $result."\n";
+ok($result eq "No object type","correct error 'No object type'");
+
+$::form->{object_type} ='sales_order';
+$::form->{file_type} ='';
+$result='xx2';
 eval {
   SL::Controller::File->check_object_params();
+  $result='yy2';
   1;
 } or do {
-    print $@;
+  $result=$@;
 };
+$result = substr($result,0,12);
+#print $result."\n";
+ok($result eq "No file type","correct error 'No file type'");
 
 clear_up();
 done_testing;
@@ -86,11 +109,13 @@ done_testing;
 sub clear_up {
   # Cleaning up may fail.
   eval {
-    SL::Dev::File->delete_all();
+    SL::Dev::File::delete_all();
     unlink($scannerfile);
   };
 }
 
+}
+
 sub reset_state {
   my %params = @_;