icfnext / prosper

A Spock-based integration testing library for prosperous AEM development.
Other
28 stars 19 forks source link

tagManger.resolve on a pageDecorator page is returning null always #24

Closed ehtulhaq closed 4 years ago

ehtulhaq commented 4 years ago

Please see the code below. The tagManager.resolve() is returning null even though the tag data is created.

setup:
        PageDecorator page = new DefaultPageDecorator(pageManager.getPage('/content/company/blueprint/xy/somePage'))
        TagManager tagManager = page.contentResource.resourceResolver.adaptTo(TagManager)
        tagManager.resolve(page.properties.someStringProperty)

        expect:
        tagManager.resolve(page.properties.someStringProperty) != null

Content

def setupSpec() {
        pageBuilder.content {
            company {
                blueprint {
                    xy {
                        somePage ('someStringProperty': 'ehtulhaq:CODE') {
                        }
                    }
                }
            }
        }
        nodeBuilder.etc {
            tags {
                'ehtulhaq'('sling:resourceType': 'cq/tagging/components/tag') {
                    'CODE'('sling:resourceType': 'cq/tagging/components/tag')
                }
            }
        }
    }

Error

tagManager.resolve(page.properties.someStringProperty) != null
|          |       |    |          |                   |
|          null    |    |          ehtulhaq:CODE       false
|                  |    [someStringProperty:ehtulhaq:CODE, jcr:created:java.util.GregorianCalendar[time=1568828252023,areFieldsSet=true,areAllFieldsSet=true,lenient=false,zone=sun.util.calendar.ZoneInfo[id="GMT-04:00",offset=-14400000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=8,WEEK_OF_YEAR=38,WEEK_OF_MONTH=3,DAY_OF_MONTH=18,DAY_OF_YEAR=261,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=37,SECOND=32,MILLISECOND=23,ZONE_OFFSET=-14400000,DST_OFFSET=0], jcr:createdBy:admin, jcr:primaryType:cq:PageContent]
|                  DefaultPageDecorator{path=/content/company/blueprint/xy/somePage, title=}
<io.wcm.testing.mock.aem.MockTagManager@72e295cc resourceResolver=org.apache.sling.resourceresolver.impl.ResourceResolverImpl@37468787 log=org.slf4j.helpers.NOPLogger(NOP)>
markdaugherty commented 4 years ago

Try creating the tag nodes with the cq:Tag node type.

nodeBuilder.etc {
    tags {
        ehtulhaq("cq:Tag") {
            CODE("cq:Tag")
        }
    }
}
ehtulhaq commented 4 years ago

That worked! Thanks