1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
# --
# Copyright (C) 2021 Znuny GmbH, https://znuny.org/
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --
use strict;
use warnings;
use utf8;
use vars (qw($Self));
use Kernel::System::VariableCheck qw(:all);
$Kernel::OM->ObjectParamAdd(
'Kernel::System::UnitTest::Helper' => {
RestoreDatabase => 1,
UseTmpArticleDir => 1,
},
);
my $HelperObject = $Kernel::OM->Get('Kernel::System::UnitTest::Helper');
my $LayoutObject = $Kernel::OM->Get('Kernel::Output::HTML::Layout');
my $MainObject = $Kernel::OM->Get('Kernel::System::Main');
my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
$MainObject->Require('Kernel::Modules::AdminProcessManagementTransitionAction');
my $TestModule = Kernel::Modules::AdminProcessManagementTransitionAction->new();
# define variables
my $RandomID = $HelperObject->GetRandomID();
#
# Create the config for testing
#
# add config
$ConfigObject->Set(
Key => 'ProcessManagement::TransitionAction::DefaultParameters###001-Framework',
Value => {
TicketCreate => {
Body => $RandomID,
From => 'Znuny',
UserID => 123,
},
TicketCustomerSet => {
CustomerID => 'client123',
CustomerUserID => 'client-user-123',
},
TicketLockSet => {
Lock => '(Lock|Unlock)',
LockID => '(1|2)',
},
}
);
$ConfigObject->Set(
Key => 'ProcessManagement::TransitionAction::DefaultParameters###001-Custom',
Value => {
NewTransitionAction => {
Body => $RandomID,
UserID => 1,
NewKey => 1,
},
}
);
# add tests
my @ParameterTestConfigs = (
{
Name => 'TicketCreate',
ActionModule => 'Kernel::System::ProcessManagement::TransitionAction::TicketCreate',
Result => {
Body => $RandomID,
From => 'Znuny',
UserID => 123,
},
},
{
Name => 'TicketCustomerSet',
ActionModule => 'Kernel::System::ProcessManagement::TransitionAction::TicketCustomerSet',
Result => {
CustomerID => 'client123',
CustomerUserID => 'client-user-123',
},
},
{
Name => 'UnknownConfig',
ActionModule => $RandomID,
Result => {},
},
{
Name => 'EmptyConfig',
ActionModule => '',
Result => {},
},
{
Name => 'NewTransitionAction',
ActionModule => 'Kernel::System::ProcessManagement::TransitionAction::NewTransitionAction',
Result => {
Body => $RandomID,
UserID => 1,
NewKey => 1,
},
},
);
for my $Test (@ParameterTestConfigs) {
# run module
my %Result = $TestModule->_GetDefaultConfigParameters(
Module => $Test->{ActionModule},
);
$Self->IsDeeply(
\%Result,
$Test->{Result},
$Test->{Name} . ' - Result is equal to the expectation.',
);
}
1;
|