Main Koha release repository
https://koha-community.org
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.7 KiB
67 lines
1.7 KiB
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Test::More tests => 10;
|
|
use Test::Deep;
|
|
|
|
use C4::Context;
|
|
BEGIN {
|
|
use_ok('C4::Csv');
|
|
}
|
|
|
|
my $dbh = C4::Context->dbh;
|
|
$dbh->{AutoCommit} = 0;
|
|
$dbh->{RaiseError} = 1;
|
|
|
|
$dbh->do('DELETE FROM export_format');
|
|
|
|
my $sth = $dbh->prepare(q{
|
|
INSERT INTO export_format (profile, description, content, type)
|
|
VALUES (?, ?, ?, ?)
|
|
});
|
|
$sth->execute('MARC', 'MARC profile', '245$a', 'marc');
|
|
$sth->execute('SQL', 'SQL profile', 'borrowers.surname', 'sql');
|
|
|
|
my $all_profiles = C4::Csv::GetCsvProfiles();
|
|
is(@$all_profiles, 2, 'test getting all CSV profiles');
|
|
|
|
my $sql_profiles = C4::Csv::GetCsvProfiles('sql');
|
|
is(@$sql_profiles, 1, 'test getting SQL CSV profiles');
|
|
is($sql_profiles->[0]->{profile}, 'SQL', '... and got the right one');
|
|
my $marc_profiles = C4::Csv::GetCsvProfiles('marc');
|
|
is(@$marc_profiles, 1, 'test getting MARC CSV profiles');
|
|
is($marc_profiles->[0]->{profile}, 'MARC', '... and got the right one');
|
|
|
|
my $id = C4::Csv::GetCsvProfileId('MARC');
|
|
my $profile = C4::Csv::GetCsvProfile($id);
|
|
is($profile->{profile}, 'MARC', 'retrieved profile by ID');
|
|
|
|
is(C4::Csv::GetCsvProfile(), undef, 'test getting CSV profile but not supplying ID');
|
|
|
|
cmp_deeply(
|
|
C4::Csv::GetCsvProfilesLoop(),
|
|
[
|
|
{
|
|
export_format_id => ignore(),
|
|
profile => 'MARC',
|
|
},
|
|
{
|
|
export_format_id => ignore(),
|
|
profile => 'SQL',
|
|
},
|
|
],
|
|
'test getting profile loop'
|
|
);
|
|
|
|
cmp_deeply(
|
|
C4::Csv::GetCsvProfilesLoop('marc'),
|
|
[
|
|
{
|
|
export_format_id => ignore(),
|
|
profile => 'MARC',
|
|
},
|
|
],
|
|
'test getting profile loop for one type'
|
|
);
|
|
|