From 77571a8ccf77951ac8e33cc2be902cd4943b972d Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi <tomascohen@theke.io>
Date: Sat, 31 Oct 2015 12:29:09 -0300
Subject: [PATCH] Bug 15081: Take transaction handling out from TestBuilder

This patch removes transaction handling code from TestBuilder.
It fixes the TestBuilder.t to handle the transaction on its own.

Verify that t/db_dependent/TestBuilder.t passes.
---
 t/db_dependent/TestBuilder.t |  9 +++++++++
 t/lib/TestBuilder.pm         | 13 +------------
 2 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/t/db_dependent/TestBuilder.t b/t/db_dependent/TestBuilder.t
index 70aa7cd..0602912 100644
--- a/t/db_dependent/TestBuilder.t
+++ b/t/db_dependent/TestBuilder.t
@@ -18,12 +18,17 @@
 # along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 use Modern::Perl;
+
 use Test::More tests => 41;
 
+use Koha::Database;
+
 BEGIN {
     use_ok('t::lib::TestBuilder');
 }
 
+my $schema  = Koha::Database->new->schema;
+$schema->storage->txn_begin;
 
 my $builder = t::lib::TestBuilder->new();
 
@@ -251,3 +256,7 @@ $bookseller = $builder->build({
 delete $bookseller->{_fk};
 $bookseller_from_db = $rs_aqbookseller->find($bookseller);
 is( $bookseller_from_db->in_storage, 1, 'build with only_fk = 0 stores the entry correctly' );
+
+$schema->storage->txn_rollback;
+
+1;
diff --git a/t/lib/TestBuilder.pm b/t/lib/TestBuilder.pm
index 7d6d971..254af61 100644
--- a/t/lib/TestBuilder.pm
+++ b/t/lib/TestBuilder.pm
@@ -72,10 +72,8 @@ sub new {
     bless( $self, $class );
 
     $self->schema( Koha::Database->new()->schema );
-    eval {
-        $self->schema->txn_begin();
-    };
     $self->schema->storage->sql_maker->quote_char('`');
+
     return $self;
 }
 
@@ -356,15 +354,6 @@ sub _gen_blob {
     return 'b';
 }
 
-
-sub DESTROY {
-    my $self = shift;
-    eval {
-        $self->schema->txn_rollback();
-    };
-}
-
-
 =head1 NAME
 
 t::lib::TestBuilder.pm - Koha module to simplify the writing of tests
-- 
2.6.2