From 0569072fc1db2f4af731d5377c654ae7ef76e15a Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 5 Jun 2020 15:44:39 -0300 Subject: [PATCH] Bug 25638: Add tests for JSON conversion vs DBD::mysql We have the situation of needing to cast numbers so they are not confused in JSON with strings by DBD::mysql returning them with the wrong internal flags. We have also recently removed the cast, and adding it back now. This test could help us detect this situation in case we make changes in the area, and even on specific libraries versions. Signed-off-by: Tomas Cohen Arazi Signed-off-by: Jonathan Druart --- t/db_dependent/Koha/Object.t | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Koha/Object.t b/t/db_dependent/Koha/Object.t index c23f023cd4..919472e874 100755 --- a/t/db_dependent/Koha/Object.t +++ b/t/db_dependent/Koha/Object.t @@ -27,11 +27,14 @@ use C4::Circulation; # AddIssue use C4::Biblio; # AddBiblio use Koha::Database; + +use Koha::Acquisition::Orders; use Koha::DateUtils qw( dt_from_string ); use Koha::Libraries; use Koha::Patrons; use Koha::ApiKeys; +use JSON; use Scalar::Util qw( isvstring ); use Try::Tiny; @@ -164,7 +167,7 @@ subtest 'discard_changes' => sub { subtest 'TO_JSON tests' => sub { - plan tests => 8; + plan tests => 9; $schema->storage->txn_begin; @@ -210,6 +213,11 @@ subtest 'TO_JSON tests' => sub { like( $updated_on, $rfc3999_regex, "Date-time $updated_on formatted correctly"); like( $lastseen, $rfc3999_regex, "Date-time $updated_on formatted correctly"); + # Test JSON doesn't receive strings + my $order = $builder->build_object({ class => 'Koha::Acquisition::Orders' }); + $order = Koha::Acquisition::Orders->find( $order->ordernumber ); + is_deeply( $order->TO_JSON, decode_json( encode_json( $order->TO_JSON ) ), 'Orders are similar' ); + $schema->storage->txn_rollback; }; -- 2.39.2