Bug 15084: Add tests for Koha::Acquisition::Currenc[y|ies]
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 29 Oct 2015 14:54:40 +0000 (14:54 +0000)
committerBrendan A Gallagher <brendan@bywatersolutions.com>
Thu, 3 Mar 2016 20:39:01 +0000 (20:39 +0000)
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
t/db_dependent/Koha/Acquisition/Currencies.t [new file with mode: 0644]

diff --git a/t/db_dependent/Koha/Acquisition/Currencies.t b/t/db_dependent/Koha/Acquisition/Currencies.t
new file mode 100644 (file)
index 0000000..2abf992
--- /dev/null
@@ -0,0 +1,58 @@
+#!/usr/bin/perl
+
+# Copyright 2015 Koha Development team
+#
+# This file is part of Koha
+#
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
+
+use Modern::Perl;
+use Test::More tests => 6;
+use Koha::Acquisition::Currency;
+use Koha::Acquisition::Currencies;
+use t::lib::TestBuilder;
+
+my $builder = t::lib::TestBuilder->new;
+my $nb_of_currencies = Koha::Acquisition::Currencies->search->count;
+my $new_currency_1 = Koha::Acquisition::Currency->new({
+    currency => 'my_cur_1',
+    symbol => 'symb1',
+    isocode => 'isoc1',
+    rate => 1,
+    active => 1,
+})->store;
+
+my $retrieved_currency_1 = Koha::Acquisition::Currencies->find( $new_currency_1->currency );
+is( $retrieved_currency_1->active, 1, 'Active should have been set to 1' );
+
+my $new_currency_2 = Koha::Acquisition::Currency->new({
+    currency => 'my_cur_2',
+    symbol => 'symb2',
+    isocode => 'isoc2',
+    rate => 2,
+    active => 1,
+})->store;
+
+is( Koha::Acquisition::Currencies->search->count, $nb_of_currencies + 2, 'The 2 currencies should have been added' );
+my $retrieved_currency_2 = Koha::Acquisition::Currencies->find( $new_currency_2->currency );
+is( $retrieved_currency_2->active, 1, 'Active should have been set to 1' );
+
+my $active_currency = Koha::Acquisition::Currencies->get_active;
+is ( $active_currency->currency, $retrieved_currency_2->currency, 'The active currency should be the last one marked as active' );
+
+my $nb_of_active_currencies = Koha::Acquisition::Currencies->search({active => 1})->count;
+is ( $nb_of_active_currencies, 1, 'Only 1 currency should be marked as active' );
+
+$retrieved_currency_1->delete;
+is( Koha::Acquisition::Currencies->search->count, $nb_of_currencies + 1, 'Delete should have deleted the currency' );