From fe64cda187b41c050d9476ab862a836922f763fa Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Tue, 16 Jul 2024 16:43:53 +0100 Subject: [PATCH] Bug 30657: Unit tests This patch adds some basic unit tests for dynamically added accessors based on extended patron attributes. --- t/db_dependent/Koha/Patron.t | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Koha/Patron.t b/t/db_dependent/Koha/Patron.t index f1ea69f0468..07cbbc3edea 100755 --- a/t/db_dependent/Koha/Patron.t +++ b/t/db_dependent/Koha/Patron.t @@ -800,7 +800,7 @@ subtest 'is_superlibrarian() tests' => sub { subtest 'extended_attributes' => sub { - plan tests => 16; + plan tests => 17; my $schema = Koha::Database->new->schema; $schema->storage->txn_begin; @@ -1193,8 +1193,33 @@ subtest 'extended_attributes' => sub { "We can set no attributes, mandatory attribute for other category not required" ); + $schema->storage->txn_rollback; }; + subtest 'attribute accessor tests' => sub { + plan tests => 2; + + $schema->storage->txn_begin; + + Koha::Patron::Attribute::Types->search->delete; + + my $attribute_type_1 = $builder->build_object( + { + class => 'Koha::Patron::Attribute::Types', + value => { code => 'smartnumber', repeatable => 0 } + } + ); + + my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); + + is( $patron->smartnumber, undef, 'smartnumber accessor returns undef when not set' ); + + $patron->extended_attributes( [ { code => 'smartnumber', attribute => 'SM1234' } ] ); + + is( $patron->smartnumber, 'SM1234', 'smartnumber accessor returns value when set' ); + + $schema->storage->txn_rollback; + }; }; subtest 'can_log_into() tests' => sub { -- 2.48.1