Koha/t/Members_Attributes.t
Jesse Weaver 09d153d85a Remove diagnostic output from t/Members_Attributes.t
While this might be useful for developers, is mostly pointless
otherwise. Should be replaced with a true test of these four
functions.
2009-12-20 14:31:39 +01:00

104 lines
4.2 KiB
Perl
Executable file

#!/usr/bin/perl
#
#
use strict;
use warnings;
use Test::More tests => 11;
BEGIN {
use_ok('C4::Members::Attributes', qw(:all));
}
INIT {
$C4::Members::Attributes::AttributeTypes = {
'grade' => {
'opac_display' => '1',
'staff_searchable' => '1',
'description' => 'Grade level',
'password_allowed' => '0',
'authorised_value_category' => '',
'repeatable' => '0',
'code' => 'grade',
'unique_id' => '0'
},
'deanslist' => {
'opac_display' => '0',
'staff_searchable' => '1',
'description' => 'Deans List (annual)',
'password_allowed' => '0',
'authorised_value_category' => '',
'repeatable' => '1',
'code' => 'deanslist',
'unique_id' => '0'
},
'somedata' => {
'opac_display' => '0',
'staff_searchable' => '0',
'description' => 'Some Ext. Attribute',
'password_allowed' => '0',
'authorised_value_category' => '',
'repeatable' => '0',
'code' => 'somedata',
'unique_id' => '0'
},
'extradata' => {
'opac_display' => '0',
'staff_searchable' => '0',
'description' => 'Another Ext. Attribute',
'password_allowed' => '0',
'authorised_value_category' => '',
'repeatable' => '0',
'code' => 'extradata',
'unique_id' => '0'
},
'school_id' => {
'opac_display' => '1',
'staff_searchable' => '1',
'description' => 'School ID Number',
'password_allowed' => '0',
'authorised_value_category' => '',
'repeatable' => '0',
'code' => 'school_id',
'unique_id' => '1'
},
'homeroom' => {
'opac_display' => '1',
'staff_searchable' => '1',
'description' => 'Homeroom',
'password_allowed' => '0',
'authorised_value_category' => '',
'repeatable' => '0',
'code' => 'homeroom',
'unique_id' => '0'
}
}; # This is important to prevent extended_attributes_merge from touching DB.
}
my @merge_tests = (
{
line1 => "homeroom:501",
line2 => "grade:01",
merge => "homeroom:501,grade:01",
},
{
line1 => "homeroom:224,grade:04,deanslist:2008,deanslist:2007,somedata:xxx",
line2 => "homeroom:115,grade:05,deanslist:2009,extradata:foobar",
merge => "homeroom:115,grade:05,deanslist:2008,deanslist:2007,deanslist:2009,extradata:foobar,somedata:xxx",
},
);
can_ok('C4::Members::Attributes', qw(extended_attributes_merge extended_attributes_code_value_arrayref));
ok(ref($C4::Members::Attributes::AttributeTypes) eq 'HASH', '$C4::Members::Attributes::AttributeTypes is a hashref');
foreach my $test (@merge_tests) {
my ($old, $new, $merged);
ok($old = extended_attributes_code_value_arrayref($test->{line1}), "extended_attributes_code_value_arrayref('$test->{line1}')");
ok($new = extended_attributes_code_value_arrayref($test->{line2}), "extended_attributes_code_value_arrayref('$test->{line2}')");
ok($merged = extended_attributes_merge($old, $new), "extended_attributes_merge(\$old, \$new)");
ok($merged = extended_attributes_merge($old, $new, 1), "extended_attributes_merge(\$old, \$new, 1)");
}