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

(-)a/t/db_dependent/Koha/Patron/Attribute.t (-3 / +72 lines)
Lines 409-415 subtest 'merge_and_replace_with' => sub { Link Here
409
};
409
};
410
410
411
subtest 'action log tests' => sub {
411
subtest 'action log tests' => sub {
412
    plan tests => 9;
412
    plan tests => 11;
413
    my $schema = Koha::Database->new->schema;
413
    my $schema = Koha::Database->new->schema;
414
    $schema->storage->txn_begin;
414
    $schema->storage->txn_begin;
415
415
Lines 421-427 subtest 'action log tests' => sub { Link Here
421
        };
421
        };
422
        if ($repeatable) {
422
        if ($repeatable) {
423
            while (my ($k, $v) = each %{$change}) {
423
            while (my ($k, $v) = each %{$change}) {
424
                $change->{$k} = $v ? [$v] : [];
424
                if (ref $v eq 'ARRAY') {
425
                    $change->{$k} = [sort @{$v}];
426
                }
427
                else {
428
                    $change->{$k} = $v ? [$v] : [];
429
                }
425
            }
430
            }
426
        }
431
        }
427
        return  "Patron attribute " . $code . ": " . to_json($change, { pretty => 1, canonical => 1 });
432
        return  "Patron attribute " . $code . ": " . to_json($change, { pretty => 1, canonical => 1 });
Lines 557-562 subtest 'action log tests' => sub { Link Here
557
        );
562
        );
558
    }
563
    }
559
564
565
    $attributes = [
566
        {
567
            attribute => 'Foo',
568
            code => $attribute_type->code,
569
        },
570
        {
571
            attribute => 'Bar',
572
            code => $attribute_type->code,
573
        }
574
    ];
575
    $patron->extended_attributes($attributes);
576
577
    $info = $get_info->([], ['Foo', 'Bar'], $attribute_type->code, 1);
578
    use Data::Dumper;
579
    print Dumper($info);
580
    $action_logs = Koha::ActionLogs->search(
581
        {
582
            module => "MEMBERS",
583
            action => "MODIFY",
584
            object => $patron->borrowernumber,
585
            info => $info
586
        }
587
    );
588
    is(
589
        $action_logs->count,
590
        1,
591
        "New action log entry has been created when updating repeatable patron attribute with multiple values"
592
    );
593
594
    $attributes = [
595
        {
596
            attribute => 'Foo',
597
            code => $attribute_type->code,
598
        },
599
        {
600
            attribute => 'Bar',
601
            code => $attribute_type->code,
602
        },
603
        {
604
            attribute => 'Baz',
605
            code => $attribute_type->code,
606
        }
607
    ];
608
    $patron->extended_attributes($attributes);
609
610
    $info = $get_info->(
611
        ['Foo', 'Bar'],
612
        ['Foo', 'Bar', 'Baz'],
613
        $attribute_type->code,
614
        1
615
    );
616
    $action_logs = Koha::ActionLogs->search(
617
        {
618
            module => "MEMBERS",
619
            action => "MODIFY",
620
            object => $patron->borrowernumber,
621
            info => $info
622
        }
623
    );
624
    is(
625
        $action_logs->count,
626
        1,
627
        "New action log entry has been created when updating repeatable patron attribute with existing multiple values with multiple values"
628
    );
629
560
    $schema->storage->txn_rollback;
630
    $schema->storage->txn_rollback;
561
};
631
};
562
632
563
- 

Return to bug 26744