--- /dev/null
+package Koha::UploadedFile;
+
+# Copyright Rijksmuseum 2016
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use Modern::Perl;
+
+#use Koha::Database;
+
+use parent qw(Koha::Object);
+
+=head1 NAME
+
+Koha::UploadedFile - Koha::Object class for single uploaded file
+
+=head1 SYNOPSIS
+
+use Koha::UploadedFile;
+
+=head1 DESCRIPTION
+
+Description
+
+=head1 METHODS
+
+=head2 INSTANCE METHODS
+
+=head3 delete
+
+Delete uploaded file (to be extended)
+
+=cut
+
+sub delete {
+ my ( $self, $params ) = @_;
+ $self->SUPER::delete( $params );
+}
+
+=head2 CLASS METHODS
+
+=head3 _type
+
+Returns name of corresponding DBIC resultset
+
+=cut
+
+sub _type {
+ return 'UploadedFile';
+}
+
+=head1 AUTHOR
+
+Marcel de Rooy (Rijksmuseum)
+
+Koha Development Team
+
+=cut
+
+1;
--- /dev/null
+package Koha::UploadedFiles;
+
+# Copyright Rijksmuseum 2016
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use Modern::Perl;
+
+#use Koha::Database;
+use Koha::UploadedFile;
+
+use parent qw(Koha::Objects);
+
+=head1 NAME
+
+Koha::UploadedFiles - Koha::Objects class for uploaded files
+
+=head1 SYNOPSIS
+
+use Koha::UploadedFiles;
+
+=head1 DESCRIPTION
+
+Description
+
+=head1 METHODS
+
+=head2 INSTANCE METHODS
+
+=head3 delete
+
+Delete uploaded files
+
+=cut
+
+sub delete {
+ my ( $self, $params ) = @_;
+ $self->SUPER::delete( $params );
+}
+
+=head2 CLASS METHODS
+
+=head3 _type
+
+Returns name of corresponding DBIC resultset
+
+=cut
+
+sub _type {
+ return 'UploadedFile';
+}
+
+=head3 object_class
+
+Returns name of corresponding Koha object class
+
+=cut
+
+sub object_class {
+ return 'Koha::UploadedFile';
+}
+
+=head1 AUTHOR
+
+Marcel de Rooy (Rijksmuseum)
+
+Koha Development Team
+
+=cut
+
+1;
use Modern::Perl;
use File::Temp qw/ tempdir /;
-use Test::More tests => 8;
+use Test::More tests => 9;
use Test::MockModule;
use t::lib::Mocks;
use C4::Context;
use Koha::Database;
use Koha::Upload;
+use Koha::UploadedFiles;
my $schema = Koha::Database->new->schema;
$schema->storage->txn_begin;
1, 'Patron is still allowed to add uploaded files' );
}
+# Additional tests for Koha::UploadedFiles
+# TODO Rearrange the tests after this migration
+subtest 'Some basic CRUD testing' => sub {
+ plan tests => 2;
+
+ # Test find and attribute id, delete and search
+ my $builder = t::lib::TestBuilder->new;
+ my $upload01 = $builder->build({ source => 'UploadedFile' });
+ my $found = Koha::UploadedFiles->find( $upload01->{id} );
+ is( $found->id, $upload01->{id}, 'Koha::Object returns id' );
+ $found->delete;
+ $found = Koha::UploadedFiles->search(
+ { id => $upload01->{id} },
+ );
+ is( $found->count, 0, 'Delete seems successful' );
+};
+
sub newCGI {
my ( $class, $hook ) = @_;
my $read = 0;