/* * * Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved. * * This file is part of Entando software. * Entando is a free software; * You can redistribute it and/or modify it * under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; version 2. * * See the file License for the specific language governing permissions * and limitations under the License * * * * Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved. * */ package com.agiletec.plugins.jpmyportalplus.aps.system.services.config; import com.agiletec.aps.system.SystemConstants; import com.agiletec.aps.system.services.page.IPage; import com.agiletec.aps.system.services.page.IPageManager; import com.agiletec.aps.system.services.page.Widget; import com.agiletec.aps.system.services.user.UserDetails; import com.agiletec.plugins.jpmyportalplus.aps.ApsPluginBaseTestCase; import com.agiletec.plugins.jpmyportalplus.aps.system.JpmyportalplusSystemConstants; import com.agiletec.plugins.jpmyportalplus.aps.system.services.userconfig.IPageUserConfigManager; import com.agiletec.plugins.jpmyportalplus.aps.system.services.userconfig.model.CustomPageConfig; import com.agiletec.plugins.jpmyportalplus.aps.system.services.userconfig.model.PageUserConfigBean; /** * @author E.Santoboni */ public class TestMyPortalConfigManager extends ApsPluginBaseTestCase { @Override protected void setUp() throws Exception { super.setUp(); this.init(); } public void testGetUserConfig() throws Throwable { UserDetails user = this.getUser("editorCustomers"); PageUserConfigBean config = this._pageUserConfigManager.getUserConfig(user); assertNotNull(config); assertEquals(1, config.getConfig().size()); CustomPageConfig pageConfig = config.getConfig().get("jpmyportalplus_testpage"); assertNotNull(pageConfig); Widget[] showlets = pageConfig.getConfig(); Integer[] status = pageConfig.getStatus(); assertEquals(8, status.length); assertEquals(showlets.length, status.length); assertNull(status[0]); assertEquals(new Integer(0), status[1]); assertEquals(new Integer(1), status[2]); assertEquals(new Integer(0), status[3]); assertNull(status[4]); assertNull(status[5]); assertEquals(new Integer(1), status[6]); assertNull(status[7]); assertNull(showlets[0]); assertEquals("jpmyportalplus_void", showlets[1].getType().getCode()); assertEquals("jpmyportalplus_test_widget_1", showlets[2].getType().getCode()); assertEquals("jpmyportalplus_sample_widget", showlets[3].getType().getCode()); assertNull(showlets[4]); assertNull(showlets[5]); assertEquals("jpmyportalplus_test_widget_3", showlets[6].getType().getCode()); assertNull(showlets[7]); } public void testGetShowletToRender() throws Throwable { UserDetails user = this.getUser("editorCustomers"); PageUserConfigBean config = this._pageUserConfigManager.getUserConfig(user); IPage page = this._pageManager.getPage("jpmyportalplus_testpage"); CustomPageConfig pageConfig = config.getConfig().get("jpmyportalplus_testpage"); Widget[] showlets = this._pageUserConfigManager.getShowletsToRender(page, pageConfig.getConfig()); assertEquals(8, showlets.length); assertEquals("login_form", showlets[0].getType().getCode()); assertEquals("jpmyportalplus_void", showlets[1].getType().getCode()); assertEquals("jpmyportalplus_test_widget_1", showlets[2].getType().getCode()); assertEquals("jpmyportalplus_sample_widget", showlets[3].getType().getCode()); assertEquals("jpmyportalplus_test_widget_3", showlets[4].getType().getCode()); assertNull(showlets[5]); assertEquals("jpmyportalplus_test_widget_3", showlets[6].getType().getCode()); assertNull(showlets[7]); } private void init() throws Exception { try { this._pageUserConfigManager = (IPageUserConfigManager) this.getService(JpmyportalplusSystemConstants.PAGE_USER_CONFIG_MANAGER); this._pageManager = (IPageManager) this.getService(SystemConstants.PAGE_MANAGER); } catch (Throwable e) { throw new Exception(e); } } protected IPageManager _pageManager; protected IPageUserConfigManager _pageUserConfigManager; }