Bug 34776: Add unit tests for sub restore_form_values
Test that input values don't change when send to the sub restore_form_values. To test prove t/Form_MessagingPreferences.t Sponsored-by: Koha-Suomi Oy Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> (cherry picked from commit2c4a89801e) Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de> (cherry picked from commita57bd07127) Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
4e591a268e
commit
27262c0058
|
|
@ -141,7 +141,7 @@ sub set_form_values {
|
|||
|
||||
=head2 restore_form_values
|
||||
|
||||
C4::Form::MessagingPreferences::restore_form_values({ borrowernumber => 51 }, $template, $input);
|
||||
C4::Form::MessagingPreferences::restore_form_values( $input, $template );
|
||||
|
||||
Restores patron message preferences if error occurs while creating a patron.
|
||||
|
||||
|
|
|
|||
|
|
@ -6,21 +6,68 @@ 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;
|
||||
|
||||
subtest 'restore_values' => sub {
|
||||
plan tests => 1;
|
||||
my $cgi = CGI->new;
|
||||
my $template_module = Test::MockModule->new( 'Template' );
|
||||
my $vars = {};
|
||||
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' );
|
||||
|
||||
C4::Form::MessagingPreferences::restore_form_values( $cgi, $template );
|
||||
require Data::Dumper; warn Data::Dumper::Dumper( $vars ); #FIXME Remove debugging
|
||||
# TODO Add some checking on $vars->{messaging_preferences} here
|
||||
$schema->storage->txn_begin;
|
||||
|
||||
ok(1); # FIXME Replace
|
||||
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;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue