2 use Test::More tests => 14;
 
   7 use Support::TestSetup;
 
  12 Support::TestSetup::login();
 
  14 my $temp_dir    = File::Temp::tempdir("kivi-t-file-filesystem.XXXXXX", TMPDIR => 1, CLEANUP => 1);
 
  15 my $storage_dir = "$temp_dir/storage";
 
  17 mkdir($storage_dir) || die $!;
 
  19 local $::lx_office_conf{paths}->{document_path} = $storage_dir;
 
  20 $::instance_conf->data;
 
  21 local $::instance_conf->{data}{doc_files} = 1;
 
  23 my $scannerfile = "${temp_dir}/f2";
 
  28 my $file1 = SL::Dev::File::create_uploaded( file_name => 'file1', file_contents => 'inhalt1 uploaded' );
 
  29 my $file2 = SL::Dev::File::create_scanned(  file_name => 'file2', file_contents => 'inhalt2 scanned', file_path => $scannerfile );
 
  30 my $file3 = SL::Dev::File::create_created(  file_name => 'file3', file_contents => 'inhalt3 created'    );
 
  31 my $file4 = SL::Dev::File::create_created(  file_name => 'file3', file_contents => 'inhalt3 new version');
 
  33 is( SL::Dev::File->get_all_count(),                    3,"total number of files created is 3");
 
  34 ok( $file1->file_name                        eq 'file1' ,"file has right name");
 
  35 my $content1 = $file1->get_content;
 
  36 ok( $$content1 eq 'inhalt1 uploaded'                    ,"file has right content");
 
  38 is( -f $scannerfile ? 1 : 0,                           0,"scanned document is moved from scanner");
 
  41 is( -f $scannerfile ? 1 : 0,                           1,"scanned document is moved back to scanner");
 
  42 my $content2 = File::Slurp::read_file($scannerfile);
 
  43 ok( $content2 eq 'inhalt2 scanned'                      ,"scanned file has right content");
 
  45 my @file5 = SL::Dev::File->get_all(file_name => 'file3');
 
  46 is(   scalar( @file5),                                 1, "one actual file found");
 
  47 my $content5 = $file5[0]->get_content();
 
  48 ok( $$content5 eq 'inhalt3 new version'                 ,"file has right actual content");
 
  50 my @file6 = SL::Dev::File->get_all_versions(file_name => 'file3');
 
  51 is(   scalar( @file6),                                 2,"two file versions found");
 
  52 $content5 = $file6[0]->get_content;
 
  53 ok( $$content5 eq 'inhalt3 new version'                 ,"file has right actual content");
 
  54 $content5 = $file6[1]->get_content;
 
  55 ok( $$content5 eq 'inhalt3 created'                     ,"file has right old content");
 
  57 #print "\n\nController Test:\n";
 
  59 #$::form->{object_id}  = 1;
 
  60 #$::form->{object_type}= 'sales_order';
 
  61 #$::form->{file_type}  = 'document';
 
  64 open(my $outputFH, '>', \$output) or die; # This shouldn't fail
 
  65 my $oldFH = select $outputFH;
 
  67 $::form->{id}  = $file1->id;
 
  68 use SL::Controller::File;
 
  69 SL::Controller::File->action_download();
 
  73 my @lines = split "\n" , $output;
 
  74 ok($lines[4] eq 'inhalt1 uploaded'                 ,"controller download has correct content");
 
  76 #some controller checks
 
  77 $::form->{object_id}   = 12345678;
 
  78 $::form->{object_type} = undef;
 
  81   SL::Controller::File->check_object_params();
 
  87 $result = substr($result,0,14);
 
  89 ok($result eq "No object type","correct error 'No object type'");
 
  91 $::form->{object_type} ='sales_order';
 
  92 $::form->{file_type} ='';
 
  95   SL::Controller::File->check_object_params();
 
 101 $result = substr($result,0,12);
 
 103 ok($result eq "No file type","correct error 'No file type'");
 
 109   # Cleaning up may fail.
 
 111     SL::Dev::File->delete_all();
 
 112     unlink($scannerfile);