|
Lines 12-18
use Koha::ERM::License;
Link Here
|
| 12 |
use C4::Context; |
12 |
use C4::Context; |
| 13 |
|
13 |
|
| 14 |
my $builder = t::lib::TestBuilder->new; |
14 |
my $builder = t::lib::TestBuilder->new; |
| 15 |
my $schema = Koha::Database->schema; |
15 |
my $schema = Koha::Database->schema; |
| 16 |
|
16 |
|
| 17 |
subtest 'set_additional_fields with marcfield_mode = "get"' => sub { |
17 |
subtest 'set_additional_fields with marcfield_mode = "get"' => sub { |
| 18 |
plan tests => 1; |
18 |
plan tests => 1; |
|
Lines 22-30
subtest 'set_additional_fields with marcfield_mode = "get"' => sub {
Link Here
|
| 22 |
my $biblio = $builder->build_sample_biblio(); |
22 |
my $biblio = $builder->build_sample_biblio(); |
| 23 |
my $record = $biblio->record; |
23 |
my $record = $biblio->record; |
| 24 |
$record->append_fields( |
24 |
$record->append_fields( |
| 25 |
MARC::Field->new('998', '', '', 'Z' => 'some value'), |
25 |
MARC::Field->new( '998', '', '', 'Z' => 'some value' ), |
| 26 |
); |
26 |
); |
| 27 |
$biblio->metadata->metadata($record->as_xml_record(C4::Context->preference('marcflavour'))); |
27 |
$biblio->metadata->metadata( $record->as_xml_record( C4::Context->preference('marcflavour') ) ); |
| 28 |
$biblio->metadata->store()->discard_changes(); |
28 |
$biblio->metadata->store()->discard_changes(); |
| 29 |
my $subscription = Koha::Subscription->new( |
29 |
my $subscription = Koha::Subscription->new( |
| 30 |
{ |
30 |
{ |
|
Lines 35-43
subtest 'set_additional_fields with marcfield_mode = "get"' => sub {
Link Here
|
| 35 |
|
35 |
|
| 36 |
my $field = Koha::AdditionalField->new( |
36 |
my $field = Koha::AdditionalField->new( |
| 37 |
{ |
37 |
{ |
| 38 |
tablename => 'subscription', |
38 |
tablename => 'subscription', |
| 39 |
name => random_string('c' x 100), |
39 |
name => random_string( 'c' x 100 ), |
| 40 |
marcfield => '998$Z', |
40 |
marcfield => '998$Z', |
| 41 |
marcfield_mode => 'get', |
41 |
marcfield_mode => 'get', |
| 42 |
} |
42 |
} |
| 43 |
); |
43 |
); |
|
Lines 50-56
subtest 'set_additional_fields with marcfield_mode = "get"' => sub {
Link Here
|
| 50 |
|
50 |
|
| 51 |
my $values = $subscription->additional_field_values()->as_list(); |
51 |
my $values = $subscription->additional_field_values()->as_list(); |
| 52 |
|
52 |
|
| 53 |
is($values->[0]->value, 'some value', 'value was copied from the biblio record to the field'); |
53 |
is( $values->[0]->value, 'some value', 'value was copied from the biblio record to the field' ); |
| 54 |
|
54 |
|
| 55 |
$schema->txn_rollback; |
55 |
$schema->txn_rollback; |
| 56 |
}; |
56 |
}; |
|
Lines 60-66
subtest 'set_additional_fields with marcfield_mode = "set"' => sub {
Link Here
|
| 60 |
|
60 |
|
| 61 |
$schema->txn_begin; |
61 |
$schema->txn_begin; |
| 62 |
|
62 |
|
| 63 |
my $biblio = $builder->build_sample_biblio(); |
63 |
my $biblio = $builder->build_sample_biblio(); |
| 64 |
my $subscription = Koha::Subscription->new( |
64 |
my $subscription = Koha::Subscription->new( |
| 65 |
{ |
65 |
{ |
| 66 |
biblionumber => $biblio->biblionumber, |
66 |
biblionumber => $biblio->biblionumber, |
|
Lines 70-78
subtest 'set_additional_fields with marcfield_mode = "set"' => sub {
Link Here
|
| 70 |
|
70 |
|
| 71 |
my $field = Koha::AdditionalField->new( |
71 |
my $field = Koha::AdditionalField->new( |
| 72 |
{ |
72 |
{ |
| 73 |
tablename => 'subscription', |
73 |
tablename => 'subscription', |
| 74 |
name => random_string('c' x 100), |
74 |
name => random_string( 'c' x 100 ), |
| 75 |
marcfield => '999$Z', |
75 |
marcfield => '999$Z', |
| 76 |
marcfield_mode => 'set', |
76 |
marcfield_mode => 'set', |
| 77 |
} |
77 |
} |
| 78 |
); |
78 |
); |
|
Lines 80-93
subtest 'set_additional_fields with marcfield_mode = "set"' => sub {
Link Here
|
| 80 |
$subscription->set_additional_fields( |
80 |
$subscription->set_additional_fields( |
| 81 |
[ |
81 |
[ |
| 82 |
{ |
82 |
{ |
| 83 |
id => $field->id, |
83 |
id => $field->id, |
| 84 |
value => 'some value', |
84 |
value => 'some value', |
| 85 |
}, |
85 |
}, |
| 86 |
] |
86 |
] |
| 87 |
); |
87 |
); |
| 88 |
|
88 |
|
| 89 |
my $record = $biblio->record; |
89 |
my $record = $biblio->record; |
| 90 |
is($record->subfield('999', 'Z'), 'some value', 'value was copied from the field to the biblio record'); |
90 |
is( $record->subfield( '999', 'Z' ), 'some value', 'value was copied from the field to the biblio record' ); |
| 91 |
|
91 |
|
| 92 |
$schema->txn_rollback; |
92 |
$schema->txn_rollback; |
| 93 |
}; |
93 |
}; |
|
Lines 107-122
subtest 'get_additional_field_values_for_template' => sub {
Link Here
|
| 107 |
|
107 |
|
| 108 |
my $field = Koha::AdditionalField->new( |
108 |
my $field = Koha::AdditionalField->new( |
| 109 |
{ |
109 |
{ |
| 110 |
tablename => 'subscription', |
110 |
tablename => 'subscription', |
| 111 |
name => random_string( 'c' x 100 ) |
111 |
name => random_string( 'c' x 100 ) |
| 112 |
} |
112 |
} |
| 113 |
); |
113 |
); |
| 114 |
$field->store()->discard_changes(); |
114 |
$field->store()->discard_changes(); |
| 115 |
|
115 |
|
| 116 |
my $field2 = Koha::AdditionalField->new( |
116 |
my $field2 = Koha::AdditionalField->new( |
| 117 |
{ |
117 |
{ |
| 118 |
tablename => 'subscription', |
118 |
tablename => 'subscription', |
| 119 |
name => random_string( 'c' x 100 ) |
119 |
name => random_string( 'c' x 100 ) |
| 120 |
} |
120 |
} |
| 121 |
); |
121 |
); |
| 122 |
$field2->store()->discard_changes(); |
122 |
$field2->store()->discard_changes(); |
|
Lines 201-217
subtest 'add_additional_fields' => sub {
Link Here
|
| 201 |
|
201 |
|
| 202 |
$subscription->add_additional_fields( |
202 |
$subscription->add_additional_fields( |
| 203 |
{ |
203 |
{ |
| 204 |
$field2->id => [ |
204 |
$field2->id => ['second field'], |
| 205 |
'second field' |
|
|
| 206 |
], |
| 207 |
}, |
205 |
}, |
| 208 |
'subscription' |
206 |
'subscription' |
| 209 |
); |
207 |
); |
| 210 |
|
208 |
|
| 211 |
my $template_additional_field_values = $subscription->get_additional_field_values_for_template; |
209 |
my $template_additional_field_values = $subscription->get_additional_field_values_for_template; |
| 212 |
|
210 |
|
| 213 |
|
|
|
| 214 |
|
| 215 |
is_deeply( |
211 |
is_deeply( |
| 216 |
$template_additional_field_values, |
212 |
$template_additional_field_values, |
| 217 |
{ $field->id => [ $value . ' 1', $value . ' 2' ], $field2->id => ['second field'] }, |
213 |
{ $field->id => [ $value . ' 1', $value . ' 2' ], $field2->id => ['second field'] }, |
|
Lines 274-286
subtest 'strings_map() tests' => sub {
Link Here
|
| 274 |
'erm_licenses' |
270 |
'erm_licenses' |
| 275 |
); |
271 |
); |
| 276 |
|
272 |
|
| 277 |
|
273 |
my $av_category = Koha::AuthorisedValueCategory->new( { category_name => "AV_CAT_NAME" } ); |
| 278 |
my $av_category = Koha::AuthorisedValueCategory->new( { category_name => "AV_CAT_NAME" } ); |
|
|
| 279 |
$av_category->store()->discard_changes(); |
274 |
$av_category->store()->discard_changes(); |
| 280 |
|
275 |
|
| 281 |
my $av_value = Koha::AuthorisedValue->new( |
276 |
my $av_value = Koha::AuthorisedValue->new( |
| 282 |
{ |
277 |
{ |
| 283 |
category => $av_category->category_name, |
278 |
category => $av_category->category_name, |
| 284 |
authorised_value => 'BOB', |
279 |
authorised_value => 'BOB', |
| 285 |
lib => "Robert" |
280 |
lib => "Robert" |
| 286 |
} |
281 |
} |
|
Lines 295-305
subtest 'strings_map() tests' => sub {
Link Here
|
| 295 |
); |
290 |
); |
| 296 |
$av_field->store()->discard_changes(); |
291 |
$av_field->store()->discard_changes(); |
| 297 |
|
292 |
|
| 298 |
|
|
|
| 299 |
|
| 300 |
$license->add_additional_fields( |
293 |
$license->add_additional_fields( |
| 301 |
{ |
294 |
{ |
| 302 |
$av_field->id => [$av_value->authorised_value], |
295 |
$av_field->id => [ $av_value->authorised_value ], |
| 303 |
}, |
296 |
}, |
| 304 |
'erm_licenses' |
297 |
'erm_licenses' |
| 305 |
); |
298 |
); |
| 306 |
- |
|
|