Bug 13757: (regression tests) Empty attributes should delete existing

This patch introduces tests for the required functionality.

To test:
- Run:
  $ prove t/db_dependent/Koha/Patron/Modifications.t
=> FAIL: The current code doesn't work like that

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

https://bugs.koha-community.org/show_bug.cgi?id=13737

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
Tomás Cohen Arazi 2017-01-31 12:39:53 -03:00 committed by Kyle M Hall
parent 2811d8555d
commit bb039e0328

View file

@ -132,7 +132,7 @@ subtest 'store( extended_attributes ) tests' => sub {
subtest 'approve tests' => sub {
plan tests => 14;
plan tests => 18;
$schema->storage->txn_begin;
@ -224,6 +224,30 @@ subtest 'approve tests' => sub {
is( $patron_attributes[2]->{attribute},
'None', 'Attribute updated correctly (attribute)' );
my $empty_code_json = '[{"code":"CODE_2","value":""}]';
$verification_token = md5_hex( time() . {} . rand() . {} . $$ );
$patron_modification = Koha::Patron::Modification->new(
{ borrowernumber => $patron->borrowernumber,
extended_attributes => $empty_code_json,
verification_token => $verification_token
}
)->store();
ok( $patron_modification->approve,
'Patron modification correctly approved' );
@patron_attributes
= map { $_->unblessed }
Koha::Patron::Attributes->search(
{ borrowernumber => $patron->borrowernumber } );
is( $patron_attributes[0]->{code},
'CODE_1', 'Untouched attribute type is preserved (code)' );
is( $patron_attributes[0]->{attribute},
'VALUE_1', 'Untouched attribute type is preserved (attribute)' );
my $count = Koha::Patron::Attributes->search({ borrowernumber => $patron->borrowernumber, code => 'CODE_2' })->count;
is( $count, 0, 'Attributes deleted when modification contained an empty one');
$schema->storage->txn_rollback;
};