<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 07:44:40 CET 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Magnolia - Issue tracker</title>
    <link>https://jira.magnolia-cms.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-uk</language>    <build-info>
        <version>9.4.2</version>
        <build-number>940002</build-number>
        <build-date>19-01-2023</build-date>
    </build-info>


<item>
            <title>[MGNLTEST-10] Form page object can handle multi-fields</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLTEST-10</link>
                <project id="17084" key="MGNLTEST">Magnolia Test Framework</project>
                    <description>&lt;p&gt;Provide a possibility which enables the input of values into complex fields with multiple fields where some of the fields may not have a label.&lt;/p&gt;

&lt;p&gt;Entails providing Form APIs for:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;multi-fields: user wants to add/remove entries, and fill entries by position&lt;/li&gt;
	&lt;li&gt;&lt;del&gt;composite-fields: user wants to fill a field by a certain caption&lt;/del&gt; (extracted to &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLTEST-100&quot; title=&quot;Form page object can handle composite fields&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLTEST-100&quot;&gt;&lt;del&gt;MGNLTEST-100&lt;/del&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Use cases:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Related categories in Categories App&lt;/li&gt;
	&lt;li&gt;Add &lt;del&gt;trait&lt;/del&gt; segments in audience of p13n&#160;&lt;/li&gt;
	&lt;li&gt;Select tours field in Tour Carousel component&lt;/li&gt;
&lt;/ul&gt;


&lt;hr /&gt;
&lt;p&gt;DEV note:&lt;br/&gt;
 there is info.magnolia.test.selenium.pageobjects.MultiField already, just Form PO needs to be adjusted accordingly (see ContentEditor)&lt;/p&gt;</description>
                <environment></environment>
        <key id="80703">MGNLTEST-10</key>
            <summary>Form page object can handle multi-fields</summary>
                <type id="3" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10898&amp;avatarType=issuetype">Task</type>
                                            <priority id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/neutral.gif">Neutral</priority>
                        <status id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="mdivilek">Milan Divilek</assignee>
                                    <reporter username="cmeier">Christoph Meier</reporter>
                        <labels>
                            <label>QA&amp;amp;Testing</label>
                            <label>form-element</label>
                            <label>ui-test-fwk</label>
                    </labels>
                <created>Thu, 24 Oct 2019 12:42:34 +0200</created>
                <updated>Wed, 30 Jun 2021 09:14:21 +0200</updated>
                            <resolved>Wed, 28 Apr 2021 08:18:31 +0200</resolved>
                                    <version>1.1.0</version>
                                    <fixVersion>1.2.0</fixVersion>
                                        <due></due>
                            <votes>1</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="246118" author="asiska" created="Tue, 12 Jan 2021 13:52:09 +0100"  >&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
    /**
     * &amp;lt;pre&amp;gt;
     * Scenario: Add related category within category
     *   Given user &lt;span class=&quot;code-quote&quot;&gt;&quot;Paige&quot;&lt;/span&gt; opens the Categories app
     *   When user &lt;span class=&quot;code-quote&quot;&gt;&quot;Paige&quot;&lt;/span&gt; click on &lt;span class=&quot;code-quote&quot;&gt;&quot;TestCategory&quot;&lt;/span&gt; item
     *   And hits the action &lt;span class=&quot;code-quote&quot;&gt;&quot;Edit category&quot;&lt;/span&gt;,
     *   And add &lt;span class=&quot;code-quote&quot;&gt;&quot;TestCategoriesFolder/cat&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;TestCategoriesFolder/ego&quot;&lt;/span&gt; and &lt;span class=&quot;code-quote&quot;&gt;&quot;TestCategoriesFolder/ry&quot;&lt;/span&gt; to &lt;span class=&quot;code-quote&quot;&gt;&quot;Related categories&quot;&lt;/span&gt; field.
     *   And saves the form.
     *   Then &lt;span class=&quot;code-quote&quot;&gt;&quot;TestCategoriesFolder/cat&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;TestCategoriesFolder/ego&quot;&lt;/span&gt; and &lt;span class=&quot;code-quote&quot;&gt;&quot;TestCategoriesFolder/ry&quot;&lt;/span&gt; are stored as related in &lt;span class=&quot;code-quote&quot;&gt;&quot;TestCategory&quot;&lt;/span&gt;.
     * &amp;lt;/pre&amp;gt;
     */
    @Test
    @Fixture(fixtureFile = &lt;span class=&quot;code-quote&quot;&gt;&quot;category.TestCategory.yaml&quot;&lt;/span&gt;, repository = &lt;span class=&quot;code-quote&quot;&gt;&quot;category&quot;&lt;/span&gt;)
    @Fixture(fixtureFile = &lt;span class=&quot;code-quote&quot;&gt;&quot;category.TestCategoriesFolder.yaml&quot;&lt;/span&gt;, repository = &lt;span class=&quot;code-quote&quot;&gt;&quot;category&quot;&lt;/span&gt;)
    @Cleanup(value = &lt;span class=&quot;code-quote&quot;&gt;&quot;category:/TestCategory&quot;&lt;/span&gt;)
    @Cleanup(value = &lt;span class=&quot;code-quote&quot;&gt;&quot;category:/TestCategoriesFolder&quot;&lt;/span&gt;)
    void addRelatedCategories(PageObjects expect) {
        categoriesApp.clickRow(&lt;span class=&quot;code-quote&quot;&gt;&quot;TestCategory&quot;&lt;/span&gt;)
                .hitAction(&lt;span class=&quot;code-quote&quot;&gt;&quot;Edit category&quot;&lt;/span&gt;);        expect.form()
                .addMultiFieldItem(&lt;span class=&quot;code-quote&quot;&gt;&quot;Related Categories&quot;&lt;/span&gt;)
                .setMultiFieldValueItemAt(&lt;span class=&quot;code-quote&quot;&gt;&quot;Related Categories&quot;&lt;/span&gt;, 0, &lt;span class=&quot;code-quote&quot;&gt;&quot;/TestCategoriesFolder/cat&quot;&lt;/span&gt;)
                .addMultiFieldItem(&lt;span class=&quot;code-quote&quot;&gt;&quot;Related Categories&quot;&lt;/span&gt;)
                .addMultiFieldItem(&lt;span class=&quot;code-quote&quot;&gt;&quot;Related Categories&quot;&lt;/span&gt;)
                .setMultiFieldValueItemAt(&lt;span class=&quot;code-quote&quot;&gt;&quot;Related Categories&quot;&lt;/span&gt;, 1, &lt;span class=&quot;code-quote&quot;&gt;&quot;/TestCategoriesFolder/ego&quot;&lt;/span&gt;)
                .setMultiFieldValueItemAt(&lt;span class=&quot;code-quote&quot;&gt;&quot;Related Categories&quot;&lt;/span&gt;, 2, &lt;span class=&quot;code-quote&quot;&gt;&quot;/TestCategoriesFolder/ry&quot;&lt;/span&gt;)
                .save();        categoriesApp.hitAction(&lt;span class=&quot;code-quote&quot;&gt;&quot;Edit category&quot;&lt;/span&gt;);
        assertEquals(&lt;span class=&quot;code-quote&quot;&gt;&quot;/TestCategoriesFolder/cat&quot;&lt;/span&gt;, expect.form().getMultiFieldValueItemAt(&lt;span class=&quot;code-quote&quot;&gt;&quot;Related Categories&quot;&lt;/span&gt;, 0));
        assertEquals(&lt;span class=&quot;code-quote&quot;&gt;&quot;/TestCategoriesFolder/ego&quot;&lt;/span&gt;, expect.form().getMultiFieldValueItemAt(&lt;span class=&quot;code-quote&quot;&gt;&quot;Related Categories&quot;&lt;/span&gt;, 1));
        assertEquals(&lt;span class=&quot;code-quote&quot;&gt;&quot;/TestCategoriesFolder/ry&quot;&lt;/span&gt;, expect.form().getMultiFieldValueItemAt(&lt;span class=&quot;code-quote&quot;&gt;&quot;Related Categories&quot;&lt;/span&gt;, 2));
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="252520" author="cmeier" created="Mon, 1 Mar 2021 13:04:50 +0100"  >&lt;p&gt;Work is actually done. &quot;Only&quot; needs a review.&lt;/p&gt;</comment>
                            <comment id="258832" author="mdivilek" created="Tue, 20 Apr 2021 14:55:52 +0200"  >&lt;p&gt;&lt;a href=&quot;https://git.magnolia-cms.com/projects/PLATFORM/repos/test-framework/pull-requests/77&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.magnolia-cms.com/projects/PLATFORM/repos/test-framework/pull-requests/77&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PR above adds basic support for MultiField into form it allows add/remove/move items in MultiField. It also adds support for set/getValues from multified composed from single text and link field.&lt;br/&gt;
It allows to cover &quot;Related categories in Categories App&quot; and &quot;Select tours field in Tour Carousel component&quot; use cases.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;The &quot;Add trait segments in audience of p13n&quot; will need additional work&lt;/p&gt;

&lt;p&gt;&quot;Segments&quot; multifield is based on single ComboBox which should be relatively simple to fix(add support).&lt;/p&gt;

&lt;p&gt;&quot;Choose traits of audience&quot; multifield there are two issues:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;The chooser dialog is custom and is composed from radio select field instead of grid (tree/list)&lt;/li&gt;
	&lt;li&gt;Item can have different field inside:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
	&lt;li&gt;Country trait - contains ComboBox&lt;/li&gt;
	&lt;li&gt;Date trait - contains two DateFields&lt;/li&gt;
	&lt;li&gt;Visitor and Cookie traits - contais radio select field&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This will probably need some custom implementation&lt;/p&gt;

</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10030">
                    <name>Cloners</name>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="91015">MGNLTEST-100</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10460">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="98383">MGNLTEST-162</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                            <outwardlinks description="depends upon">
                                        <issuelink>
            <issuekey id="87015">MGNLTEST-4</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is depended upon by">
                                        <issuelink>
            <issuekey id="86141">MGNLCE-227</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="95342">MGNLEE-633</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="98384">MGNLCE-273</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                            <outwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="80701">MGNLTEST-8</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="76872" name="add-related-category_MULTIFIELD.png" size="41050" author="cmeier" created="Mon, 1 Mar 2021 04:14:30 +0100"/>
                            <attachment id="64132" name="choose-audience-complex-field.png" size="93283" author="cmeier" created="Tue, 7 Apr 2020 08:10:27 +0200"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_14166" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Acceptance criteria</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10111" key="com.atlassian.jira.toolkit:reporterdomain">
                        <customfieldname>Company</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>magnolia-cms.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 12 Jan 2021 13:52:09 +0100</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_12730" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14151" key="com.atlassian.jira.toolkit:message">
                        <customfieldname>Docu info</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10061" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comm is not jira-dev</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>false</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>asiska</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 42 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>asiska</customfieldvalue>
            <customfieldvalue>cmeier</customfieldvalue>
            <customfieldvalue>mdivilek</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzzxnu:0w49</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10242" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_14167" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Task DoR</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_14145" key="com.intenso.jira.issue-templates:issue-templates-customfield">
                        <customfieldname>Template</customfieldname>
                        <customfieldvalues>
                            


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_15131" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Time in Discovery</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>