@@ -, +, @@ --- Koha/Objects.pm | 15 +++++++++++++++ t/db_dependent/Koha/Objects.t | 19 ++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) --- a/Koha/Objects.pm +++ a/Koha/Objects.pm @@ -335,6 +335,21 @@ sub attributes_from_api { return $self->{_singular_object}->attributes_from_api( $attributes ); } +=head3 from_api_mapping + + my $mapped_attributes_hash = $objects->from_api_mapping; + +Attributes map from the API to DBIC + +=cut + +sub from_api_mapping { + my ( $self ) = @_; + + $self->{_singular_object} ||= $self->object_class->new(); + return $self->{_singular_object}->from_api_mapping; +} + =head3 Koha::Objects->_wrap wraps the DBIC object in a corresponding Koha object --- a/t/db_dependent/Koha/Objects.t +++ a/t/db_dependent/Koha/Objects.t @@ -19,7 +19,7 @@ use Modern::Perl; -use Test::More tests => 19; +use Test::More tests => 20; use Test::Exception; use Test::Warn; @@ -760,3 +760,20 @@ subtest "attributes_from_api() tests" => sub { $schema->storage->txn_rollback; }; + +subtest "from_api_mapping() tests" => sub { + + plan tests => 1; + + $schema->storage->txn_begin; + + my $cities_rs = Koha::Cities->new; + my $city = Koha::City->new; + + is_deeply( + $cities_rs->from_api_mapping, + $city->from_api_mapping + ); + + $schema->storage->txn_rollback; +}; --