|
Lines 17-34
Link Here
|
| 17 |
# You should have received a copy of the GNU General Public License |
17 |
# You should have received a copy of the GNU General Public License |
| 18 |
# along with Koha; if not, see <http://www.gnu.org/licenses>. |
18 |
# along with Koha; if not, see <http://www.gnu.org/licenses>. |
| 19 |
|
19 |
|
| 20 |
use strict; |
20 |
use Modern::Perl; |
| 21 |
use warnings; |
|
|
| 22 |
|
21 |
|
| 23 |
use C4::Context; |
22 |
use C4::Context; |
|
|
23 |
use C4::Charset; |
| 24 |
use C4::AuthoritiesMarc; |
| 25 |
use Koha::Database; |
| 24 |
use Test::More; |
26 |
use Test::More; |
|
|
27 |
use File::Basename; |
| 28 |
use MARC::Batch; |
| 29 |
use MARC::File; |
| 30 |
use IO::File; |
| 25 |
|
31 |
|
| 26 |
BEGIN { |
32 |
BEGIN { |
| 27 |
use_ok('Koha::Authority'); |
33 |
use_ok('Koha::Authority'); |
| 28 |
} |
34 |
} |
| 29 |
|
35 |
|
| 30 |
my $record = MARC::Record->new; |
36 |
my $schema = Koha::Database->new->schema; |
|
|
37 |
$schema->storage->txn_begin; |
| 38 |
|
| 39 |
# TODO Move this part to a t/lib packages |
| 40 |
my $sourcedir = dirname(__FILE__) . "/data"; |
| 41 |
my $input_marc_file = "$sourcedir/marc21/zebraexport/authority/exported_records"; |
| 42 |
|
| 43 |
my $fh = IO::File->new($input_marc_file); |
| 44 |
my $batch = MARC::Batch->new( 'USMARC', $fh ); |
| 45 |
while ( my $record = $batch->next ) { |
| 46 |
C4::Charset::MarcToUTF8Record($record, 'MARC21'); |
| 47 |
AddAuthority($record, '', ''); |
| 48 |
} |
| 31 |
|
49 |
|
|
|
50 |
my $record = MARC::Record->new; |
| 32 |
$record->add_fields( |
51 |
$record->add_fields( |
| 33 |
[ '001', '1234' ], |
52 |
[ '001', '1234' ], |
| 34 |
[ '150', ' ', ' ', a => 'Cooking' ], |
53 |
[ '150', ' ', ' ', a => 'Cooking' ], |
|
Lines 42-69
is($authority->authorized_heading(), 'Cooking', 'Authorized heading was correct'
Link Here
|
| 42 |
|
61 |
|
| 43 |
is_deeply($authority->record, $record, 'Saved record'); |
62 |
is_deeply($authority->record, $record, 'Saved record'); |
| 44 |
|
63 |
|
| 45 |
SKIP: |
64 |
my $dbh = C4::Context->dbh; |
| 46 |
{ |
65 |
my $sth = $dbh->prepare("SELECT authid FROM auth_header LIMIT 1;"); |
| 47 |
my $dbh = C4::Context->dbh; |
66 |
$sth->execute(); |
| 48 |
my $sth = $dbh->prepare("SELECT authid FROM auth_header LIMIT 1;"); |
|
|
| 49 |
$sth->execute(); |
| 50 |
|
67 |
|
| 51 |
my $authid; |
68 |
my $authid; |
| 52 |
for my $row ($sth->fetchrow_hashref) { |
69 |
for my $row ($sth->fetchrow_hashref) { |
| 53 |
$authid = $row->{'authid'}; |
70 |
$authid = $row->{'authid'}; |
| 54 |
} |
71 |
} |
| 55 |
skip 'No authorities', 3 unless $authid; |
72 |
$authority = Koha::Authority->get_from_authid($authid); |
| 56 |
$authority = Koha::Authority->get_from_authid($authid); |
|
|
| 57 |
|
73 |
|
| 58 |
is(ref($authority), 'Koha::Authority', 'Retrieved valid Koha::Authority object'); |
74 |
is(ref($authority), 'Koha::Authority', 'Retrieved valid Koha::Authority object'); |
| 59 |
|
75 |
|
| 60 |
is($authority->authid, $authid, 'Object authid is correct'); |
76 |
is($authority->authid, $authid, 'Object authid is correct'); |
| 61 |
|
77 |
|
| 62 |
is($authority->record->field('001')->data(), $authid, 'Retrieved correct record'); |
78 |
is($authority->record->field('001')->data(), $authid, 'Retrieved correct record'); |
| 63 |
|
79 |
|
| 64 |
$authority = Koha::Authority->get_from_authid('alphabetsoup'); |
80 |
$authority = Koha::Authority->get_from_authid('alphabetsoup'); |
| 65 |
is($authority, undef, 'No invalid record is retrieved'); |
81 |
is($authority, undef, 'No invalid record is retrieved'); |
| 66 |
} |
|
|
| 67 |
|
82 |
|
| 68 |
SKIP: |
83 |
SKIP: |
| 69 |
{ |
84 |
{ |
| 70 |
- |
|
|