Browse Source

Bug 10853: (follow-up) expand unit tests for C4::Csv

To test:

[1] Verify that prove -v t/db_dependent/Csv.t passes.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
new/bootstrap-opac
Galen Charlton 11 years ago
parent
commit
567e86d575
  1. 65
      t/db_dependent/Csv.t

65
t/db_dependent/Csv.t

@ -1,18 +1,67 @@
#!/usr/bin/perl
#
# This Koha test module is a stub!
# Add more tests here!!!
use strict;
use warnings;
use Test::More tests => 4;
use Test::More tests => 10;
use Test::Deep;
use C4::Context;
BEGIN {
use_ok('C4::Csv');
use_ok('C4::Csv');
}
ok(C4::Csv::GetCsvProfiles(), 'test getting csv profiles');
is(C4::Csv::GetCsvProfile(),undef, 'test getting csv profiles');
my $dbh = C4::Context->dbh;
$dbh->{AutoCommit} = 0;
$dbh->{RaiseError} = 1;
ok(C4::Csv::GetCsvProfilesLoop(), 'test getting profile loop');
$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'
);

Loading…
Cancel
Save