5 use Test::More tests => 2;
6 use String::Random qw(random_string);
8 use Koha::AuthorisedValueCategory;
11 use_ok('Koha::AdditionalField');
14 my $schema = Koha::Database->schema;
16 subtest 'effective_authorised_value_category' => sub {
21 my $av_category_name = random_string('C' x 32);
22 my $av_category = Koha::AuthorisedValueCategory->new({ category_name => $av_category_name });
23 $av_category->store()->discard_changes();
25 my $field = Koha::AdditionalField->new(
27 tablename => random_string('c' x 100),
28 name => random_string('c' x 100),
31 $field->store()->discard_changes();
33 is($field->effective_authorised_value_category, undef, 'no default category');
35 $field = Koha::AdditionalField->new(
37 tablename => random_string('c' x 100),
38 name => random_string('c' x 100),
39 authorised_value_category => $av_category_name,
42 $field->store()->discard_changes();
44 is($field->effective_authorised_value_category, $av_category_name, 'returns authorised_value_category if set');
46 my $mss = Koha::MarcSubfieldStructure->new(
51 authorised_value => $av_category_name,
55 $field = Koha::AdditionalField->new(
57 tablename => random_string('c' x 100),
58 name => random_string('c' x 100),
62 $field->store()->discard_changes();
64 is($field->effective_authorised_value_category, $av_category_name, 'returns MARC subfield authorised value category if set');
66 my $av2_category_name = random_string('C' x 32);
67 my $av2_category = Koha::AuthorisedValueCategory->new({ category_name => $av2_category_name });
68 $av2_category->store()->discard_changes();
69 $field = Koha::AdditionalField->new(
71 tablename => random_string('c' x 100),
72 name => random_string('c' x 100),
73 authorised_value_category => $av2_category_name,
77 $field->store()->discard_changes();
79 is($field->effective_authorised_value_category, $av2_category_name, 'returns authorised_value_category if both authorised_value_category and marcfield are set');
81 $schema->txn_rollback;