Skip to content

Commit

Permalink
Issue #2804: Included df set in EditFieldValueGet unit test.
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanhaerter committed Jan 10, 2024
1 parent 4cb6600 commit 396c084
Showing 1 changed file with 156 additions and 1 deletion.
157 changes: 156 additions & 1 deletion scripts/test/DynamicField/EditFieldValueGet.t
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# OTOBO is a web-based ticketing system for service organisations.
# --
# Copyright (C) 2001-2020 OTRS AG, https://otrs.com/
# Copyright (C) 2019-2023 Rother OSS GmbH, https://otobo.de/
# Copyright (C) 2019-2024 Rother OSS GmbH, https://otobo.de/
# --
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
Expand Down Expand Up @@ -43,6 +43,7 @@ my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
my $CustomerCompanyObject = $Kernel::OM->Get('Kernel::System::CustomerCompany');
my $CustomerUserObject = $Kernel::OM->Get('Kernel::System::CustomerUser');
my $DFBackendObject = $Kernel::OM->Get('Kernel::System::DynamicField::Backend');
my $DynamicFieldObject = $Kernel::OM->Get('Kernel::System::DynamicField');
my $ParamObject = $Kernel::OM->Get('Kernel::System::Web::Request');
my $TicketObject = $Kernel::OM->Get('Kernel::System::Ticket');
my $UserObject = $Kernel::OM->Get('Kernel::System::User');
Expand Down Expand Up @@ -163,6 +164,83 @@ my $SecondReferenceTicketID = $TicketObject->TicketCreate(
);
ok($SecondReferenceTicketID);

# prepare dynamic fields to include in set
my @IncludeDFConfigs = (

# Fields to include in SetOfAgentsAndTexts
{
Name => 'Text5' . $RandomID,
Label => 'Text5',
LabelEscaped => 'Text5',
FieldOrder => 123,
FieldType => 'Text',
ObjectType => 'Ticket',
Config => {
MultiValue => 0,
Tooltip => '',
},
ValidID => 1,
UserID => $UserID,
},
{
Name => 'Text6' . $RandomID,
Label => 'Text6',
LabelEscaped => 'Text6',
FieldOrder => 123,
FieldType => 'Text',
ObjectType => 'Ticket',
Config => {
MultiValue => 1,
Tooltip => '',
},
ValidID => 1,
UserID => $UserID,
},
{
Name => 'Agent1' . $RandomID,
Label => 'Agent1',
LabelEscaped => 'Agent1',
FieldOrder => 123,
FieldType => 'Agent',
ObjectType => 'Ticket',
Config => {
PossibleNone => 1,
Multiselect => 0,
MultiValue => 0,
GroupFilter => [],
Tooltip => '',
},
ValidID => 1,
UserID => $UserID,
},
{
Name => 'Agent2' . $RandomID,
Label => 'Agent2',
LabelEscaped => 'Agent2',
FieldOrder => 123,
FieldType => 'Agent',
ObjectType => 'Ticket',
Config => {
PossibleNone => 1,
Multiselect => 0,
MultiValue => 1,
GroupFilter => [],
Tooltip => '',
},
ValidID => 1,
UserID => $UserID,
},
);

for my $IncludeDFConfig (@IncludeDFConfigs) {

my $Success = $DynamicFieldObject->DynamicFieldAdd(
$IncludeDFConfig->%*,
);

ok( $Success, 'Creation of set-included dynamic field ' . $IncludeDFConfig->{Name} );
}

# theres is not really needed to add the dynamic fields for this test, we can define a static
# set of configurations
my %DynamicFieldConfigs = (
Expand Down Expand Up @@ -512,6 +590,29 @@ my %DynamicFieldConfigs = (
CreateTime => '2023-02-08 15:08:00',
ChangeTime => '2023-06-11 17:22:00',
},
SetOfAgentsAndTexts => {
ID => 123,
InternalField => 0,
Name => 'SetOfAgentsAndTexts',
Label => 'Set of agents and texts',
FieldOrder => 123,
FieldType => 'Set',
ObjectType => 'Ticket',
Config => {
MultiValue => 0,
Tooltip => '',
Include => [
{ DF => 'Text5' . $RandomID },
{ DF => 'Text6' . $RandomID },
{ DF => 'Agent1' . $RandomID },
{ DF => 'Agent2' . $RandomID },
],
},
ValidID => 1,
UserID => $UserID,
CreateTime => '2023-02-08 15:08:00',
ChangeTime => '2023-06-11 17:22:00',
},
);

# define tests
Expand Down Expand Up @@ -3767,6 +3868,60 @@ my @Tests = (
},
Success => 1,
},

# Set
{
Name => 'Set: Correct value structure',
Config => {
DynamicFieldConfig => $DynamicFieldConfigs{SetOfAgentsAndTexts},
Template => {},
ParamObject => $ParamObject,
CGIParam => {
SetIndex_SetOfAgentsAndTexts => [
[],
],
'DynamicField_Text5' . $RandomID . '_0' => 'Text3: 🏔 - U+1F3D4 - SNOW CAPPED MOUNTAIN',
'DynamicField_Text6' . $RandomID . '_0' => [
'Text3: 🏔 - U+1F3D4 - SNOW CAPPED MOUNTAIN',
'Text4: 🏔 - U+1F3D4 - SNOW CAPPED MOUNTAIN',
undef,

],
'DynamicField_Agent1' . $RandomID . '_0' => $FirstUserID,
'DynamicField_Agent2' . $RandomID . '_0' => [
$FirstUserID,
$SecondUserID,
undef,
],
},
TransformDates => 0,
ReturnValueStructure => 0,
ReturnTemplateStructure => 1,
},
ExpectedResults => [
[
{
'DynamicField_Text5' . $RandomID . '_0' => 'Text3: 🏔 - U+1F3D4 - SNOW CAPPED MOUNTAIN'
},
{
'DynamicField_Text6' . $RandomID . '_0' => [
'Text3: 🏔 - U+1F3D4 - SNOW CAPPED MOUNTAIN',
'Text4: 🏔 - U+1F3D4 - SNOW CAPPED MOUNTAIN',
],
},
{
'DynamicField_Agent1' . $RandomID . '_0' => [$FirstUserID],
},
{
'DynamicField_Agent2' . $RandomID . '_0' => [
$FirstUserID,
$SecondUserID,
],
},
],
],
Success => 1,
},
);

# execute tests
Expand Down

0 comments on commit 396c084

Please sign in to comment.