View | Details | Raw Unified | Return to bug 27837
Collapse All | Expand All

(-)a/t/db_dependent/Items.t (-3 / +39 lines)
Lines 1038-1044 subtest 'ModItemFromMarc' => sub { Link Here
1038
    };
1038
    };
1039
1039
1040
    subtest 'permanent_location' => sub {
1040
    subtest 'permanent_location' => sub {
1041
        plan tests => 6;
1041
        plan tests => 10;
1042
1042
1043
        # Make sure items.permanent_location is not mapped
1043
        # Make sure items.permanent_location is not mapped
1044
        Koha::MarcSubfieldStructures->search(
1044
        Koha::MarcSubfieldStructures->search(
Lines 1047-1052 subtest 'ModItemFromMarc' => sub { Link Here
1047
                kohafield     => 'items.permanent_location',
1047
                kohafield     => 'items.permanent_location',
1048
            }
1048
            }
1049
        )->delete;
1049
        )->delete;
1050
        Koha::MarcSubfieldStructures->search(
1051
            {
1052
                frameworkcode => q{},
1053
                tagfield     => '952',
1054
                tagsubfield     => 'C',
1055
            }
1056
        )->delete;
1050
        Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" );
1057
        Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" );
1051
1058
1052
        my $item = $builder->build_sample_item;
1059
        my $item = $builder->build_sample_item;
Lines 1072-1078 subtest 'ModItemFromMarc' => sub { Link Here
1072
                tagfield      => '952',
1079
                tagfield      => '952',
1073
                tagsubfield   => 'C',
1080
                tagsubfield   => 'C',
1074
                kohafield     => 'items.permanent_location',
1081
                kohafield     => 'items.permanent_location',
1075
                repeatable    => 0
1082
                repeatable    => 0,
1083
                tab           => 10,
1084
                hidden        => 0,
1076
            }
1085
            }
1077
        )->store;
1086
        )->store;
1078
        Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" );
1087
        Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" );
Lines 1085-1090 subtest 'ModItemFromMarc' => sub { Link Here
1085
        $item = $item->get_from_storage;
1094
        $item = $item->get_from_storage;
1086
        is( $item->location, 'C', 'next new location set as expected' );
1095
        is( $item->location, 'C', 'next new location set as expected' );
1087
        is( $item->permanent_location, 'B', 'permanent location remains unchanged as expected' );
1096
        is( $item->permanent_location, 'B', 'permanent location remains unchanged as expected' );
1097
1098
        $item->permanent_location(undef)->more_subfields_xml(undef)->store;
1099
        # Clear values from the DB
1100
        $item = $item->get_from_storage;
1101
1102
        # Update the location
1103
        $item->location('D');
1104
        $marc = C4::Items::Item2Marc( $item->unblessed, $item->biblionumber );
1105
        # Remove the permanent_location field from the form 
1106
        $marc->field('952')->delete_subfield("C");
1107
        ModItemFromMarc( $marc, $item->biblionumber, $item->itemnumber );
1108
        $item = $item->get_from_storage;
1109
        is( $item->location, 'D', 'next new location set as expected' );
1110
        is( $item->permanent_location, 'D', 'permanent location is updated if not previously set and no value passed' );
1111
1112
        # Clear values from the DB
1113
        $item->permanent_location(undef)->more_subfields_xml(undef)->store;
1114
        $item = $item->get_from_storage;
1115
1116
        # This time nothing is set, but we pass an emty string
1117
        $item->permanent_location("");
1118
        $item->location('E');
1119
        $marc = C4::Items::Item2Marc( $item->unblessed, $item->biblionumber );
1120
        ModItemFromMarc( $marc, $item->biblionumber, $item->itemnumber );
1121
        $item = $item->get_from_storage;
1122
        is( $item->location, 'E', 'next new location set as expected' );
1123
        is( $item->permanent_location, undef, 'permanent location is not updated if previously set as blank string' );
1124
1088
    };
1125
    };
1089
1126
1090
    $schema->storage->txn_rollback;
1127
    $schema->storage->txn_rollback;
1091
- 

Return to bug 27837