Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / SL / Dev / File.pm
1 package SL::Dev::File;
2
3 use strict;
4 use base qw(Exporter);
5 our @EXPORT_OK = qw(create_scanned create_uploaded create_created);
6 our %EXPORT_TAGS = (ALL => \@EXPORT_OK);
7
8 use SL::DB::File;
9
10 sub create_scanned {
11   my (%params) = @_;
12   $params{source}    = 'scanner1';
13   $params{file_type} = 'document';
14   $params{file_path} = '/var/tmp/'.$params{file_name} if !$params{file_path};
15   open(OUT,"> ".$params{file_path});
16   print OUT $params{file_contents};
17   close(OUT);
18   delete $params{file_contents};
19   my $file = _create_file(%params);
20   unlink($params{file_path});
21   return $file;
22 }
23
24 sub create_uploaded {
25   my (%params) = @_;
26   $params{source}    = 'uploaded';
27   $params{file_type} = 'attachment';
28   return _create_file(%params);
29 }
30
31 sub create_created {
32   my (%params) = @_;
33   $params{source}    = 'created';
34   $params{file_type} = 'document';
35   return _create_file(%params);
36 }
37
38 sub _create_file {
39   my (%params) = @_;
40
41   my $fileobj = SL::File->save(
42     mime_type     => 'text/plain',
43     description   => 'Test File',
44     %params,
45     # file_type     => $params{file_type},
46     # source        => $params{source},
47     # file_name     => $params{file_name},
48     # file_contents => $params{file_contents},
49     # file_path     => $params{file_path}
50   );
51   return $fileobj;
52 }
53
54 1;
55
56 __END__
57
58 =head1 NAME
59
60 SL::Dev::File - create file objects for testing, with minimal defaults
61
62 =head1 FUNCTIONS
63
64 =head2 C<create_scanned %PARAMS>
65
66 =head2 C<create_uploaded %PARAMS>
67
68 =head2 C<create_created %PARAMS>
69
70 =head1 AUTHOR
71
72 Martin Helmling E<lt>martin.helmling@opendynamic.deE<gt>
73
74 =cut