eb90241c79
t::lib::Mocks::Context tried to deal with preferences but did not manage to. This patch removes this module and add 2 routines in t::lib::Mocks in order to mock C4::context->preference and C4::Context->config. To test: ===START t/test.pl=== use Modern::Perl; use t::lib::Mocks; use C4::Context; say "initial value for version: " . C4::Context->preference('Version'); say "initial value for language: " . C4::Context->preference('language'); t::lib::Mocks::mock_preference('Version', "new version for testing"); say "version is mocked with: " . C4::Context->preference('Version'); say "language is not yet mocked: " . C4::Context->preference('language'); t::lib::Mocks::mock_preference('language', 'new langage for testing'); t::lib::Mocks::mock_preference('Version', 'another version for testing'); say "version is mocked with another value: " . C4::Context->preference('Version'); say "language is finally mocked: " . C4::Context->preference('language'); ===END=== Try to execute this file and check that the output is consistent. Signed-off-by: Julian Maurice <julian.maurice@biblibre.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
39 lines
969 B
Perl
39 lines
969 B
Perl
package t::lib::Mocks;
|
|
|
|
use Modern::Perl;
|
|
use C4::Context;
|
|
use Test::MockModule;
|
|
|
|
my %configs;
|
|
sub mock_config {
|
|
my $context = new Test::MockModule('C4::Context');
|
|
my ( $conf, $value ) = @_;
|
|
$configs{$conf} = $value;
|
|
$context->mock('config', sub {
|
|
my ( $self, $conf ) = @_;
|
|
if ( exists $configs{$conf} ) {
|
|
return $configs{$conf}
|
|
} else {
|
|
my $method = $context->original('config');
|
|
return $method->($self, $conf);
|
|
}
|
|
});
|
|
}
|
|
|
|
my %preferences;
|
|
sub mock_preference {
|
|
my $context = new Test::MockModule('C4::Context');
|
|
my ( $pref, $value ) = @_;
|
|
$preferences{$pref} = $value;
|
|
$context->mock('preference', sub {
|
|
my ( $self, $pref ) = @_;
|
|
if ( exists $preferences{$pref} ) {
|
|
return $preferences{$pref}
|
|
} else {
|
|
my $method = $context->original('preference');
|
|
return $method->($self, $pref);
|
|
}
|
|
});
|
|
}
|
|
|
|
1;
|