74 lines
2.2 KiB
Perl
Executable File
74 lines
2.2 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
use Modern::Perl;
|
|
use CGI;
|
|
use Template;
|
|
|
|
use Test::More tests => 1;
|
|
use Test::MockModule;
|
|
|
|
#use Test::NoWarnings;
|
|
use t::lib::TestBuilder;
|
|
use t::lib::Mocks;
|
|
|
|
use C4::Form::MessagingPreferences;
|
|
|
|
my $builder = t::lib::TestBuilder->new;
|
|
my $schema = Koha::Database->new->schema;
|
|
|
|
subtest 'restore_form_values' => sub {
|
|
|
|
plan tests => 2;
|
|
|
|
my $cgi = CGI->new;
|
|
my $template_module = Test::MockModule->new('Template');
|
|
my $vars = {};
|
|
$template_module->mock( 'param', sub { my ( $self, $key, $val ) = @_; $vars->{$key} = $val; } );
|
|
my $template = Template->new( ENCODING => 'UTF-8' );
|
|
|
|
$schema->storage->txn_begin;
|
|
|
|
my $patron = $builder->build_object( { class => 'Koha::Patrons' } );
|
|
t::lib::Mocks::mock_preference( 'EnhancedMessagingPreferences', 1 );
|
|
|
|
C4::Form::MessagingPreferences::set_form_values( { borrowernumber => $patron->id }, $template );
|
|
my $set_form_values_vars = {%$vars};
|
|
$vars = {};
|
|
|
|
C4::Form::MessagingPreferences::restore_form_values( $cgi, $template );
|
|
my $restore_form_values_vars = {%$vars};
|
|
|
|
is_deeply(
|
|
$set_form_values_vars, $restore_form_values_vars,
|
|
"Default messaging preferences don't change when handled with restore_form_values."
|
|
);
|
|
|
|
C4::Members::Messaging::SetMessagingPreference(
|
|
{
|
|
borrowernumber => $patron->id,
|
|
message_transport_types => ['email'],
|
|
message_attribute_id => 2,
|
|
days_in_advance => 10,
|
|
wants_digest => 1
|
|
}
|
|
);
|
|
|
|
C4::Form::MessagingPreferences::set_form_values( { borrowernumber => $patron->id }, $template );
|
|
$set_form_values_vars = {%$vars};
|
|
$vars = {};
|
|
|
|
$cgi->param( -name => '2', -value => 'email' );
|
|
$cgi->param( -name => '2-DAYS', -value => '10' );
|
|
$cgi->param( -name => 'digest', -value => '2' );
|
|
|
|
C4::Form::MessagingPreferences::restore_form_values( $cgi, $template );
|
|
$restore_form_values_vars = {%$vars};
|
|
|
|
is_deeply(
|
|
$set_form_values_vars, $restore_form_values_vars,
|
|
"Patrons messaging preferences don't change when handled with restore_form_values."
|
|
);
|
|
|
|
$schema->storage->txn_rollback;
|
|
};
|