From 542927ed87c7799fb2a9ded22723f9df8515ad34 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 | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/t/db_dependent/Koha/Patron.t b/t/db_dependent/Koha/Patron.t index e4ab8af65a4..8ac6b343ded 100755 --- a/t/db_dependent/Koha/Patron.t +++ b/t/db_dependent/Koha/Patron.t @@ -806,7 +806,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; @@ -1190,11 +1190,37 @@ subtest 'extended_attributes' => sub { ok( $patron->extended_attributes([]), "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.47.0