| Lines 1-12
          
      
      
        Link Here | 
        
          | 1 | #!/usr/bin/perl | 1 | #!/usr/bin/perl | 
        
          | 2 |  | 2 |  | 
        
          | 3 | use Modern::Perl; | 3 | use Modern::Perl; | 
          
            
              | 4 | use Test::More tests => 5; | 4 | use Test::More tests => 6; | 
        
          | 5 | use t::lib::TestBuilder; | 5 | use t::lib::TestBuilder; | 
        
          | 6 | use String::Random qw(random_string); | 6 | use String::Random qw(random_string); | 
        
          | 7 | use Koha::Database; | 7 | use Koha::Database; | 
        
          | 8 | use Koha::Subscription; | 8 | use Koha::Subscription; | 
        
          | 9 | use Koha::AdditionalField; | 9 | use Koha::AdditionalField; | 
            
              |  |  | 10 | use Koha::AuthorisedValueCategory; | 
            
              | 11 | use Koha::ERM::License; | 
        
          | 10 | use C4::Context; | 12 | use C4::Context; | 
        
          | 11 | use CGI; | 13 | use CGI; | 
        
          | 12 |  | 14 |  | 
  
    | Lines 280-282
          subtest 'prepare_cgi_additional_field_values' => sub {
      
      
        Link Here | 
        
          | 280 |     $schema->txn_rollback; | 282 |     $schema->txn_rollback; | 
        
          | 281 |  | 283 |  | 
        
          | 282 | }; | 284 | }; | 
          
            
              | 283 | -  | 285 |  | 
            
              |  |  | 286 | subtest 'strings_map() tests' => sub { | 
            
              | 287 |     plan tests => 1; | 
            
              | 288 |      $schema->txn_begin; | 
            
              | 289 |      Koha::AdditionalFields->search->delete; | 
            
              | 290 |      my $license = Koha::ERM::License->new( | 
            
              | 291 |         { | 
            
              | 292 |             name   => "license name", | 
            
              | 293 |             type   => "national", | 
            
              | 294 |             status => "in_negotiation", | 
            
              | 295 |  | 
            
              | 296 |         } | 
            
              | 297 |     ); | 
            
              | 298 |     $license->store()->discard_changes(); | 
            
              | 299 |      my $field = Koha::AdditionalField->new( | 
            
              | 300 |         { | 
            
              | 301 |             tablename => 'erm_licenses', | 
            
              | 302 |             name      => 'af_1', | 
            
              | 303 |  | 
            
              | 304 |         } | 
            
              | 305 |     ); | 
            
              | 306 |     $field->store()->discard_changes(); | 
            
              | 307 |      my $field2 = Koha::AdditionalField->new( | 
            
              | 308 |         { | 
            
              | 309 |             tablename => 'erm_licenses', | 
            
              | 310 |             name      => 'af_2', | 
            
              | 311 |  | 
            
              | 312 |         } | 
            
              | 313 |     ); | 
            
              | 314 |     $field2->store()->discard_changes(); | 
            
              | 315 |      my $value = 'some license value'; | 
            
              | 316 |     $license->set_additional_fields( | 
            
              | 317 |         [ | 
            
              | 318 |             { | 
            
              | 319 |                 id    => $field->id, | 
            
              | 320 |                 value => $value . ' 1', | 
            
              | 321 |  | 
            
              | 322 |             }, | 
            
              | 323 |             { | 
            
              | 324 |                 id    => $field->id, | 
            
              | 325 |                 value => $value . ' 2', | 
            
              | 326 |  | 
            
              | 327 |             } | 
            
              | 328 |         ] | 
            
              | 329 |     ); | 
            
              | 330 |      $license->add_additional_fields( | 
            
              | 331 |         { | 
            
              | 332 |             $field2->id => ['second field'], | 
            
              | 333 |  | 
            
              | 334 |         }, | 
            
              | 335 |         'erm_licenses' | 
            
              | 336 |     ); | 
            
              | 337 |       my $av_category = Koha::AuthorisedValueCategory->new( { category_name => "AV_CAT_NAME" } ); | 
            
              | 338 |     $av_category->store()->discard_changes(); | 
            
              | 339 |      my $av_value = Koha::AuthorisedValue->new( | 
            
              | 340 |         { | 
            
              | 341 |             category         => $av_category->category_name, | 
            
              | 342 |             authorised_value => 'BOB', | 
            
              | 343 |             lib              => "Robert" | 
            
              | 344 |         } | 
            
              | 345 |     ); | 
            
              | 346 |      my $av_field = Koha::AdditionalField->new( | 
            
              | 347 |         { | 
            
              | 348 |             tablename                 => "erm_licenses", | 
            
              | 349 |             name                      => "av_field", | 
            
              | 350 |             authorised_value_category => $av_category->category_name, | 
            
              | 351 |  | 
            
              | 352 |         } | 
            
              | 353 |     ); | 
            
              | 354 |     $av_field->store()->discard_changes(); | 
            
              | 355 |        $license->add_additional_fields( | 
            
              | 356 |         { | 
            
              | 357 |             $av_field->id => [ $av_value->authorised_value ], | 
            
              | 358 |  | 
            
              | 359 |         }, | 
            
              | 360 |         'erm_licenses' | 
            
              | 361 |     ); | 
            
              | 362 |      my $values      = $license->get_additional_field_values_for_template; | 
            
              | 363 |      my $strings_map = $license->strings_map; | 
            
              | 364 |     is_deeply( | 
            
              | 365 |         $strings_map, | 
            
              | 366 |         { | 
            
              | 367 |             additional_field_values => [ | 
            
              | 368 |                 { | 
            
              | 369 |                     'field_id'    => $field->id, | 
            
              | 370 |                     'type'        => 'text', | 
            
              | 371 |                     'field_label' => $field->name, | 
            
              | 372 |                     'value_str'   => join( ', ', @{ $values->{ $field->id } } ) | 
            
              | 373 |                 }, | 
            
              | 374 |                 { | 
            
              | 375 |                     'field_id'    => $field2->id, | 
            
              | 376 |                     'type'        => 'text', | 
            
              | 377 |                     'field_label' => $field2->name, | 
            
              | 378 |                     'value_str'   => join( ', ', @{ $values->{ $field2->id } } ) | 
            
              | 379 |                 }, | 
            
              | 380 |                 { | 
            
              | 381 |                     'field_id'    => $av_field->id, | 
            
              | 382 |                     'type'        => 'av', | 
            
              | 383 |                     'field_label' => $av_field->name, | 
            
              | 384 |                     'value_str'   => join( ', ', @{ $values->{ $av_field->id } } ) | 
            
              | 385 |                 } | 
            
              | 386 |             ] | 
            
              | 387 |         }, | 
            
              | 388 |         'strings_map looks good' | 
            
              | 389 |     ); | 
            
              | 390 |      $schema->txn_rollback; | 
            
              | 391 |     ; | 
            
              | 392 | }; |