Bug 20581: Unit tests for status_alias

This patch adds unit tests for the specific status_alias functionality
added in this bug

- Creation of the ILLSTATUS authorised value
- Illrequest->statusalias accessor
- Illrequest->status overloading to reset status_alias

To test:
1) Apply this patch
2) prove t/db_dependent/Illrequests.t

Signed-off-by: Niamh.Walker-Headon@it-tallaght.ie

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

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This commit is contained in:
Andrew Isherwood 2018-04-17 17:00:32 +01:00 committed by Nick Clemens
parent cc9c773c02
commit 790b365831

View file

@ -22,13 +22,15 @@ use Koha::Database;
use Koha::Illrequestattributes;
use Koha::Illrequest::Config;
use Koha::Patrons;
use Koha::AuthorisedValueCategories;
use Koha::AuthorisedValues;
use t::lib::Mocks;
use t::lib::TestBuilder;
use Test::MockObject;
use Test::MockModule;
use Test::Exception;
use Test::More tests => 10;
use Test::More tests => 11;
my $schema = Koha::Database->new->schema;
my $builder = t::lib::TestBuilder->new;
@ -795,3 +797,56 @@ subtest 'Checking Limits' => sub {
$schema->storage->txn_rollback;
};
subtest 'Custom statuses' => sub {
plan tests => 3;
$schema->storage->txn_begin;
my $cat = Koha::AuthorisedValueCategories->search(
{
category_name => 'ILLSTATUS'
}
);
if ($cat->count == 0) {
$cat = $builder->build_object(
{
class => 'Koha::AuthorisedValueCategory',
value => {
category_name => 'ILLSTATUS'
}
}
);
};
my $av = $builder->build_object(
{
class => 'Koha::AuthorisedValues',
value => {
category => 'ILLSTATUS'
}
}
);
is($av->category, 'ILLSTATUS',
"Successfully created authorised value for custom status");
my $ill_req = $builder->build_object(
{
class => 'Koha::Illrequests',
value => {
status_alias => $av->id
}
}
);
isa_ok($ill_req->statusalias, 'Koha::AuthorisedValue',
"statusalias correctly returning Koha::AuthorisedValue object");
$ill_req->status("COMP");
is($ill_req->statusalias, undef,
"Koha::Illrequest->status overloading resetting status_alias");
$schema->storage->txn_rollback;
};