Bug 15323: Use fixtures for the active currency
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 30 Mar 2016 10:30:01 +0000 (11:30 +0100)
committerFrédéric Demians <f.demians@tamil.fr>
Wed, 27 Apr 2016 14:15:50 +0000 (16:15 +0200)
  prove t/Prices.t
fails after bug 15084 has been pushed
It's caused by
  commit 1538e9ecf47642c4974693ff499c3e95e4d71977
    Bug 15084: Replace C4::Budgets::GetCurrencies with
    Koha::Acquisition::Currencies->search

Koha::Number::Price->_format_params calls
Koha::Acquisition::Currencies->get_active, which requests the DB.
The currency data should be mocked.

Test plan:
sudo service mysql stop
prove t/Prices.t
 should return green

Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
Patch works as expected and passes the qa-tools tests.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 0a14e22d59343475ed6970b82b474a80e43d8e29)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit c4c7ea475b813d97595a6114ef2e31028ec6efe5)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>

t/Prices.t

index 7ba1cc1..d6bfda2 100644 (file)
@@ -1,11 +1,10 @@
 use Modern::Perl;
-use Test::More tests => 16;
+use Test::More tests => 17;
 use Test::MockModule;
 
 use t::lib::Mocks;
 
 BEGIN {
-    my $context_module = t::lib::Mocks::mock_dbh;
     use_ok('C4::Acquisition');
     use_ok('C4::Bookseller');
     use_ok('C4::Context');
@@ -14,6 +13,23 @@ BEGIN {
 
 t::lib::Mocks::mock_preference( 'gist', '0.02|0.05|0.196' );
 
+use Test::DBIx::Class {
+    schema_class => 'Koha::Schema',
+    connect_info => ['dbi:SQLite:dbname=:memory:','',''],
+    connect_opts => { name_sep => '.', quote_char => '`', },
+    fixture_class => '::Populate',
+}, 'Currency' ;
+
+my $db = Test::MockModule->new('Koha::Database');
+$db->mock( _new_schema => sub { return Schema(); } );
+
+fixtures_ok [
+    Currency => [
+        [ qw/ currency symbol rate active / ],
+        [[ 'my_cur', '€', 1, 1, ]],
+    ],
+], 'add currency fixtures';
+
 my $bookseller_module = Test::MockModule->new('Koha::Acquisition::Bookseller');
 
 my ( $basketno_0_0,  $basketno_1_1,  $basketno_1_0,  $basketno_0_1 );