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

(-)a/t/db_dependent/Koha/Patron.t (-2 / +89 lines)
Lines 19-25 Link Here
19
19
20
use Modern::Perl;
20
use Modern::Perl;
21
21
22
use Test::More tests => 42;
22
use Test::More tests => 43;
23
use Test::NoWarnings;
23
use Test::NoWarnings;
24
use Test::Exception;
24
use Test::Exception;
25
use Test::Warn;
25
use Test::Warn;
Lines 3118-3120 subtest 'is_anonymous' => sub { Link Here
3118
    $schema->storage->txn_rollback;
3118
    $schema->storage->txn_rollback;
3119
3119
3120
};
3120
};
3121
- 
3121
3122
subtest "create_hold_group, hold_groups, visual_hold_group_id tests" => sub {
3123
3124
    plan tests => 13;
3125
3126
    $schema->storage->txn_begin;
3127
3128
    my $patron = $builder->build_object( { class => 'Koha::Patrons' } );
3129
    my $hold1  = $builder->build_object(
3130
        {
3131
            class => 'Koha::Holds',
3132
            value => { hold_group_id => undef, found => undef, borrowernumber => $patron->borrowernumber }
3133
        }
3134
    );
3135
    my $hold2 = $builder->build_object(
3136
        {
3137
            class => 'Koha::Holds',
3138
            value => { hold_group_id => undef, found => undef, borrowernumber => $patron->borrowernumber }
3139
        }
3140
    );
3141
    my $hold3 = $builder->build_object(
3142
        {
3143
            class => 'Koha::Holds',
3144
            value => { hold_group_id => undef, found => undef, borrowernumber => $patron->borrowernumber }
3145
        }
3146
    );
3147
3148
    my $hold4 = $builder->build_object(
3149
        {
3150
            class => 'Koha::Holds',
3151
            value => { hold_group_id => undef, found => undef, borrowernumber => $patron->borrowernumber }
3152
        }
3153
    );
3154
    my $hold5 = $builder->build_object(
3155
        {
3156
            class => 'Koha::Holds',
3157
            value => { hold_group_id => undef, found => undef, borrowernumber => $patron->borrowernumber }
3158
        }
3159
    );
3160
3161
    my $hold6 = $builder->build_object(
3162
        {
3163
            class => 'Koha::Holds',
3164
            value => { hold_group_id => undef, found => undef, borrowernumber => $patron->borrowernumber }
3165
        }
3166
    );
3167
3168
    my $patron_hold_groups = $patron->hold_groups;
3169
    is( $patron_hold_groups->count, 0, 'Patron does not have any hold groups' );
3170
3171
    # Create 1st hold group
3172
    $patron->create_hold_group( [ $hold1->reserve_id, $hold2->reserve_id, $hold3->reserve_id ] );
3173
    is( $patron_hold_groups->count, 1, 'Patron has one hold group' );
3174
3175
    my $hold_group = $patron->hold_groups->as_list->[0];
3176
    is( $hold_group->visual_hold_group_id, 1,                                       'Visual hold group id is 1' );
3177
    is( $hold_group->hold_group_id,        $hold1->get_from_storage->hold_group_id, 'hold1 added to hold_group' );
3178
    is( $hold_group->hold_group_id,        $hold2->get_from_storage->hold_group_id, 'hold2 added to hold_group' );
3179
    is( $hold_group->hold_group_id,        $hold3->get_from_storage->hold_group_id, 'hold3 added to hold_group' );
3180
3181
    # Create 2nd hold group
3182
    $patron->create_hold_group( [ $hold4->reserve_id, $hold5->reserve_id ] );
3183
    is( $patron_hold_groups->count, 2, 'Patron has two hold groups' );
3184
3185
    my $second_hold_group = $patron->hold_groups->as_list->[1];
3186
    is( $second_hold_group->visual_hold_group_id, 2, 'Visual hold group id is 2' );
3187
    is(
3188
        $second_hold_group->hold_group_id, $hold4->get_from_storage->hold_group_id,
3189
        'hold4 added to second hold_group'
3190
    );
3191
    is(
3192
        $second_hold_group->hold_group_id, $hold5->get_from_storage->hold_group_id,
3193
        'hold5 added to second hold_group'
3194
    );
3195
3196
    $hold3->get_from_storage->fill();
3197
    is( $patron->get_from_storage->hold_groups->count, 1, 'Patron only has one hold group again' );
3198
3199
    $hold4->get_from_storage->cancel();
3200
    is( $patron->get_from_storage->hold_groups->count, 0, 'Patron does not have any hold groups again' );
3201
3202
    # Create 3rd hold group
3203
    $patron->create_hold_group( [ $hold5->reserve_id, $hold6->reserve_id ] );
3204
    my $third_hold_group = $patron->hold_groups->as_list->[0];
3205
    is( $third_hold_group->visual_hold_group_id, 1, 'Visual hold group id is 1' );
3206
3207
    $schema->storage->txn_rollback;
3208
};

Return to bug 40517