Search in sources :

Example 11 with ComponentUsageEntity

use of org.entando.entando.web.component.ComponentUsageEntity in project entando-core by entando.

the class PageModelServiceTest method getPageModelUsageTest.

@Test
public void getPageModelUsageTest() {
    String managerName = "PageManager";
    PageModel pageModel = PageMockHelper.mockServicePageModel();
    PageDto pageDto = PageMockHelper.mockPageDto();
    Map<String, Object> pageModelServiceUtilizerMap = new HashMap<>();
    pageModelServiceUtilizerMap.put(managerName, pageModelServiceUtilizer);
    when(pageModelManager.getPageModel(Mockito.anyString())).thenReturn(pageModel);
    when(applicationContext.getBeansOfType(any())).thenReturn(pageModelServiceUtilizerMap);
    when(pageModelServiceUtilizer.getManagerName()).thenReturn(managerName);
    when(pageModelServiceUtilizer.getPageModelUtilizer(Mockito.anyString())).thenReturn(Collections.singletonList(pageDto));
    RestListRequest restListRequest = new RestListRequest();
    restListRequest.setPageSize(1);
    List<ComponentUsageEntity> componentUsageEntityList = Arrays.asList(new ComponentUsageEntity(ComponentUsageEntity.TYPE_PAGE, PageMockHelper.PAGE_CODE, IPageService.STATUS_ONLINE));
    PagedMetadata pagedMetadata = new PagedMetadata(restListRequest, componentUsageEntityList, 1);
    pagedMetadata.setPageSize(1);
    pagedMetadata.setPage(1);
    pagedMetadata.imposeLimits();
    when(pagedMetadataMapper.getPagedResult(any(), any())).thenReturn(pagedMetadata);
    PagedMetadata<ComponentUsageEntity> usageDetails = pageModelService.getComponentUsageDetails(pageModel.getCode(), new PageSearchRequest(pageModel.getCode()));
    PageModelAssertionHelper.assertUsageDetails(usageDetails);
}
Also used : PageSearchRequest(org.entando.entando.web.page.model.PageSearchRequest) PageDto(org.entando.entando.aps.system.services.page.model.PageDto) ComponentUsageEntity(org.entando.entando.web.component.ComponentUsageEntity)

Example 12 with ComponentUsageEntity

use of org.entando.entando.web.component.ComponentUsageEntity in project entando-core by entando.

the class PageServiceTest method testSinglePageUsageDetails.

/**
 * contains generic code to test a single paged page usage details
 *
 * @param pageDto
 * @throws Exception
 */
private void testSinglePageUsageDetails(PageDto pageDto) {
    Page page = PageMockHelper.mockTestPage(PageMockHelper.PAGE_CODE);
    mockForSinglePage(page, pageDto, PageMockHelper.UTILIZERS);
    PagedMetadata<ComponentUsageEntity> pageUsageDetails = pageService.getComponentUsageDetails(PageMockHelper.PAGE_CODE, new PageSearchRequest(PageMockHelper.PAGE_CODE));
    PageAssertionHelper.assertUsageDetails(pageUsageDetails, pageDto.getStatus());
}
Also used : PageSearchRequest(org.entando.entando.web.page.model.PageSearchRequest) Page(com.agiletec.aps.system.services.page.Page) IPage(com.agiletec.aps.system.services.page.IPage) ComponentUsageEntity(org.entando.entando.web.component.ComponentUsageEntity)

Example 13 with ComponentUsageEntity

use of org.entando.entando.web.component.ComponentUsageEntity in project entando-core by entando.

the class PageControllerIntegrationTest method testPageUsageDetailsWithUnpublishedPageShouldNOTBeIncluded.

@Test
public void testPageUsageDetailsWithUnpublishedPageShouldNOTBeIncluded() throws Exception {
    List<ComponentUsageEntity> expectedResult = Arrays.asList(new ComponentUsageEntity(ComponentUsageEntity.TYPE_PAGE, PageRequestMockHelper.ADD_FIRST_CHILD_PAGE_CODE, IPageService.STATUS_UNPUBLISHED));
    this.execPageUsageDetailsTest(false, expectedResult);
}
Also used : ComponentUsageEntity(org.entando.entando.web.component.ComponentUsageEntity) Test(org.junit.Test) AbstractControllerIntegrationTest(org.entando.entando.web.AbstractControllerIntegrationTest)

Example 14 with ComponentUsageEntity

use of org.entando.entando.web.component.ComponentUsageEntity in project entando-core by entando.

the class PageControllerIntegrationTest method testPageUsageDetailsWithPublishedPageShouldBeIncluded.

@Test
public void testPageUsageDetailsWithPublishedPageShouldBeIncluded() throws Exception {
    List<ComponentUsageEntity> expectedResult = Arrays.asList(new ComponentUsageEntity(ComponentUsageEntity.TYPE_PAGE, PageRequestMockHelper.ADD_FIRST_CHILD_PAGE_CODE, IPageService.STATUS_UNPUBLISHED), new ComponentUsageEntity(ComponentUsageEntity.TYPE_PAGE, PageRequestMockHelper.ADD_PAGE_CODE, IPageService.STATUS_ONLINE));
    this.execPageUsageDetailsTest(true, expectedResult);
}
Also used : ComponentUsageEntity(org.entando.entando.web.component.ComponentUsageEntity) Test(org.junit.Test) AbstractControllerIntegrationTest(org.entando.entando.web.AbstractControllerIntegrationTest)

Example 15 with ComponentUsageEntity

use of org.entando.entando.web.component.ComponentUsageEntity in project entando-core by entando.

the class GuiFragmentService method getComponentUsageDetails.

@Override
public PagedMetadata<ComponentUsageEntity> getComponentUsageDetails(String componentCode, RestListRequest restListRequest) {
    List<ComponentUsageEntity> componentUsageEntityList = new ArrayList<>();
    GuiFragmentDto fragmentDto = this.getGuiFragment(componentCode);
    if (null != fragmentDto.getWidgetType()) {
        componentUsageEntityList.add(new ComponentUsageEntity(ComponentUsageEntity.TYPE_WIDGET, fragmentDto.getWidgetTypeCode()));
    }
    if (null != fragmentDto.getFragments()) {
        List<ComponentUsageEntity> fragmentList = fragmentDto.getFragments().stream().map(fragmentRef -> new ComponentUsageEntity(ComponentUsageEntity.TYPE_FRAGMENT, fragmentRef.getCode())).collect(Collectors.toList());
        componentUsageEntityList.addAll(fragmentList);
    }
    if (null != fragmentDto.getPageModels()) {
        List<ComponentUsageEntity> pageModelList = fragmentDto.getPageModels().stream().map(pageModelRef -> new ComponentUsageEntity(ComponentUsageEntity.TYPE_PAGE_TEMPLATE, pageModelRef.getCode())).collect(Collectors.toList());
        componentUsageEntityList.addAll(pageModelList);
    }
    return pagedMetadataMapper.getPagedResult(restListRequest, componentUsageEntityList);
}
Also used : ResourceNotFoundException(org.entando.entando.aps.system.exception.ResourceNotFoundException) java.util(java.util) Logger(org.slf4j.Logger) ApsSystemException(com.agiletec.aps.system.exception.ApsSystemException) LoggerFactory(org.slf4j.LoggerFactory) ComponentUsageEntity(org.entando.entando.web.component.ComponentUsageEntity) Autowired(org.springframework.beans.factory.annotation.Autowired) Collectors(java.util.stream.Collectors) GuiFragmentDtoSmall(org.entando.entando.aps.system.services.guifragment.model.GuiFragmentDtoSmall) RestListRequest(org.entando.entando.web.common.model.RestListRequest) RestServerError(org.entando.entando.aps.system.exception.RestServerError) SearcherDaoPaginatedResult(com.agiletec.aps.system.common.model.dao.SearcherDaoPaginatedResult) PagedMetadata(org.entando.entando.web.common.model.PagedMetadata) GuiFragmentValidator(org.entando.entando.web.guifragment.validator.GuiFragmentValidator) PagedMetadataMapper(org.entando.entando.web.common.assembler.PagedMetadataMapper) ValidationGenericException(org.entando.entando.web.common.exceptions.ValidationGenericException) BeanPropertyBindingResult(org.springframework.validation.BeanPropertyBindingResult) IDtoBuilder(org.entando.entando.aps.system.services.IDtoBuilder) GuiFragmentDto(org.entando.entando.aps.system.services.guifragment.model.GuiFragmentDto) GuiFragmentRequestBody(org.entando.entando.web.guifragment.model.GuiFragmentRequestBody) ComponentUsageEntity(org.entando.entando.web.component.ComponentUsageEntity) GuiFragmentDto(org.entando.entando.aps.system.services.guifragment.model.GuiFragmentDto)

Aggregations

ComponentUsageEntity (org.entando.entando.web.component.ComponentUsageEntity)18 PageSearchRequest (org.entando.entando.web.page.model.PageSearchRequest)12 Test (org.junit.Test)9 IPage (com.agiletec.aps.system.services.page.IPage)7 PageDto (org.entando.entando.aps.system.services.page.model.PageDto)7 Page (com.agiletec.aps.system.services.page.Page)6 Collectors (java.util.stream.Collectors)6 PagedMetadataMapper (org.entando.entando.web.common.assembler.PagedMetadataMapper)6 PagedMetadata (org.entando.entando.web.common.model.PagedMetadata)6 ResourceNotFoundException (org.entando.entando.aps.system.exception.ResourceNotFoundException)5 RestListRequest (org.entando.entando.web.common.model.RestListRequest)5 ApsSystemException (com.agiletec.aps.system.exception.ApsSystemException)4 IGroupManager (com.agiletec.aps.system.services.group.IGroupManager)4 IPageManager (com.agiletec.aps.system.services.page.IPageManager)4 java.util (java.util)4 IDtoBuilder (org.entando.entando.aps.system.services.IDtoBuilder)4 PageSearchDto (org.entando.entando.aps.system.services.page.model.PageSearchDto)4 SearcherDaoPaginatedResult (com.agiletec.aps.system.common.model.dao.SearcherDaoPaginatedResult)3 Group (com.agiletec.aps.system.services.group.Group)3 RestServerError (org.entando.entando.aps.system.exception.RestServerError)3