use of com.enonic.xp.site.Site in project xp by enonic.
the class PageResolverTest method content_without_Page_and_Template_withoutPage.
@Test
public void content_without_Page_and_Template_withoutPage() {
Site site = Site.create().id(ContentId.from("site-id")).path(ContentPath.from("/site")).displayName("My Site").type(ContentTypeName.from("portal:site")).build();
PageTemplate template = PageTemplate.newPageTemplate().key(PageTemplateKey.from("t-1")).parentPath(site.getPath()).name("my-template").build();
Content content = Content.create().parentPath(site.getPath()).name("my-content").build();
when(pageTemplateService.getDefault(notNull())).thenReturn(template);
PageResolverResult result = pageResolver.resolve(RenderMode.EDIT, content, site);
final Page effectivePage = result.getEffectivePage();
assertNull(effectivePage.getDescriptor());
assertEquals(template.getKey(), effectivePage.getTemplate());
}
use of com.enonic.xp.site.Site in project xp by enonic.
the class PageResolverTest method content_without_Page_and_no_default_template.
@Test
public void content_without_Page_and_no_default_template() {
Site site = Site.create().id(ContentId.from("site-id")).path(ContentPath.from("/site")).displayName("My Site").type(ContentTypeName.from("portal:site")).build();
Content content = Content.create().parentPath(site.getPath()).name("my-content").build();
when(pageTemplateService.getDefault(notNull())).thenReturn(null);
final WebException webExceptionInLive = assertThrows(WebException.class, () -> pageResolver.resolve(RenderMode.LIVE, content, site));
assertEquals(HttpStatus.NOT_FOUND, webExceptionInLive.getStatus());
assertEquals(webExceptionInLive.getMessage(), "No default template found for content");
final WebException webExceptionInInline = assertThrows(WebException.class, () -> pageResolver.resolve(RenderMode.INLINE, content, site));
assertEquals(HttpStatus.IM_A_TEAPOT, webExceptionInInline.getStatus());
final WebException webExceptionInPreview = assertThrows(WebException.class, () -> pageResolver.resolve(RenderMode.PREVIEW, content, site));
assertEquals(HttpStatus.NOT_FOUND, webExceptionInPreview.getStatus());
final PageResolverResult result = pageResolver.resolve(RenderMode.EDIT, content, site);
final Page effectivePage = result.getEffectivePage();
assertNull(effectivePage);
assertNull(result.getController());
}
use of com.enonic.xp.site.Site in project xp by enonic.
the class PageResolverTest method given_Content_with_Page_without_config_then_effective_Page_gets_config_from_Template.
@Test
public void given_Content_with_Page_without_config_then_effective_Page_gets_config_from_Template() {
// setup
Site site = Site.create().id(ContentId.from("site-id")).path(ContentPath.from("/site")).displayName("My Site").type(ContentTypeName.from("portal:site")).build();
PageTemplate template = PageTemplate.newPageTemplate().key(PageTemplateKey.from("t-1")).parentPath(site.getPath()).name("my-template").page(Page.create().descriptor(DescriptorKey.from("myapp:my-descriptor")).config(configA).regions(regionsA).build()).canRender(ContentTypeNames.from(ContentTypeName.templateFolder())).build();
Content content = Content.create().parentPath(site.getPath()).name("my-content").page(Page.create().template(template.getKey()).regions(regionsB).build()).type(ContentTypeName.templateFolder()).build();
when(pageTemplateService.getByKey(template.getKey())).thenReturn(template);
// exercise
PageResolverResult result = pageResolver.resolve(RenderMode.LIVE, content, site);
final Page effectivePage = result.getEffectivePage();
// verify
assertEquals(configA, effectivePage.getConfig());
assertEquals(regionsB, effectivePage.getRegions());
assertEquals(template.getKey(), effectivePage.getTemplate());
assertNull(effectivePage.getDescriptor());
}
use of com.enonic.xp.site.Site in project xp by enonic.
the class PageResolverTest method page_with_own_descriptor.
@Test
public void page_with_own_descriptor() {
Site site = Site.create().id(ContentId.from("site-id")).path(ContentPath.from("/site")).displayName("My Site").type(ContentTypeName.from("portal:site")).build();
final Page page = Page.create().descriptor(DescriptorKey.from("myapp:my-descriptor")).config(configB).build();
Content content = Content.create().parentPath(site.getPath()).name("my-content").page(page).type(ContentTypeName.templateFolder()).build();
PageResolverResult result = pageResolver.resolve(RenderMode.LIVE, content, site);
final Page effectivePage = result.getEffectivePage();
assertSame(page, effectivePage);
assertEquals(DescriptorKey.from("myapp:my-descriptor"), result.getController());
verifyNoInteractions(pageTemplateService);
}
use of com.enonic.xp.site.Site in project xp by enonic.
the class ControllerMappingsResolverTest method testNoDescriptors.
@Test
public void testNoDescriptors() {
final Content content = newContent();
final Site site = newSite();
final ControllerMappingsResolver resolver = new ControllerMappingsResolver(this.siteService);
final Optional<ControllerMappingDescriptor> mapping = resolver.resolve("/landing-page", ImmutableMultimap.of(), content, site.getSiteConfigs());
assertTrue(mapping.isEmpty());
}
Aggregations