2 use Test::More tests => 11;
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 my $db = SL::DB::Object->new->db;
20 $db->dbh->do("UPDATE defaults SET doc_files = 't'");
21 $db->dbh->do("UPDATE defaults SET doc_files_rootpath = ?", undef, $storage_dir);
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:\n";
59 #$::form->{object_id} = 1;
60 #$::form->{object_type}= 'sales_order';
61 #$::form->{file_type} = 'document';
62 $::form->{id} = $file1->id;
63 print "id=".$::form->{id}."\n";
64 use SL::Controller::File;
65 SL::Controller::File->action_download();
66 $::form->{object_id} = 12345678;
67 $::form->{object_type} = undef;
69 SL::Controller::File->check_object_params();
74 $::form->{object_type} ='xx';
75 $::form->{file_type} ='yy';
77 SL::Controller::File->check_object_params();
87 # Cleaning up may fail.
89 SL::Dev::File->delete_all();