}
@Test
public void getDefaultPersonPage_valid(){
// get default page template
JpaPageTemplate pt = (JpaPageTemplate)pageTemplateRepository.getDefaultPage(PageType.PERSON_PROFILE.toString().toUpperCase());
// default page tests
assertNotNull(pt);
assertEquals("Template for person profile pages", pt.getDescription());
assertEquals("Person Profile", pt.getName());
assertEquals(PageType.PERSON_PROFILE.toString().toUpperCase(), pt.getPageType());
assertEquals(0, pt.getRenderSequence());
assertTrue(pt.isDefaultTemplate());
assertEquals("# of regions for parent page", 1, pt.getPageTemplateRegions().size());
assertEquals("person_profile", pt.getPageLayout().getCode());
assertEquals("# of widgets on parent page region", 2, pt.getPageTemplateRegions().get(0).getPageTemplateWidgets().size());
assertEquals("# of sub pages for parent page",2, pt.getSubPageTemplates().size());
// get default page sub pages
JpaPageTemplate subPage1 = (JpaPageTemplate)pt.getSubPageTemplates().get(0);
JpaPageTemplate subPage2 = (JpaPageTemplate)pt.getSubPageTemplates().get(1);
// sub page 1 tests
assertNotNull(subPage1);
assertEquals("Template for the About sub page for the person profile", subPage1.getDescription());
assertEquals("About", subPage1.getName());
assertEquals(PageType.SUB_PAGE.toString().toUpperCase(), subPage1.getPageType());
assertEquals(0, subPage1.getRenderSequence());
assertFalse(subPage1.isDefaultTemplate());
assertEquals("# of regions for sub page 1", 1, subPage1.getPageTemplateRegions().size());
assertEquals("columns_1", subPage1.getPageLayout().getCode());
assertEquals("# of widgets on sub page 1 region 1", 2, subPage1.getPageTemplateRegions().get(0).getPageTemplateWidgets().size());
assertEquals("# of sub pages for sub page 1", 0, subPage1.getSubPageTemplates().size());
// sub page 2 tests
assertNotNull(subPage2);
assertEquals("Template for the My Activity sub page for the person profile", subPage2.getDescription());
assertEquals("My Activity", subPage2.getName());
assertEquals(PageType.SUB_PAGE.toString().toUpperCase(), subPage2.getPageType());
assertEquals(1, subPage2.getRenderSequence());
assertFalse(subPage2.isDefaultTemplate());
assertEquals("# of regions for sub page 2", 1, subPage2.getPageTemplateRegions().size());
assertEquals("columns_1", subPage2.getPageLayout().getCode());
assertEquals("# of widgets on sub page 2 region 1", 1, subPage2.getPageTemplateRegions().get(0).getPageTemplateWidgets().size());
assertEquals("# of sub pages for sub page 2", 0, subPage2.getSubPageTemplates().size());
// parent page region tests
JpaPageTemplateRegion ptRegion1 = (JpaPageTemplateRegion)pt.getPageTemplateRegions().get(0);
assertEquals(pt.getEntityId(), ptRegion1.getPageTemplate().getEntityId());
assertEquals(0, ptRegion1.getRenderSequence());
assertEquals(2, ptRegion1.getPageTemplateWidgets().size());
assertTrue(ptRegion1.isLocked());
// parent page region 1 widget 1 tests
PageTemplateWidget ptw1 = ptRegion1.getPageTemplateWidgets().get(0);
assertEquals(((JpaPageTemplateRegion)ptw1.getPageTemplateRegion()).getEntityId(), ptRegion1.getEntityId());
assertEquals(0, ptw1.getRenderSeq());
assertNotNull(ptw1.getWidgetId());
assertTrue(ptw1.isLocked());
// parent page region widget 2 tests
PageTemplateWidget ptw2 = ptRegion1.getPageTemplateWidgets().get(1);
assertEquals(((JpaPageTemplateRegion)ptw2.getPageTemplateRegion()).getEntityId(), ptRegion1.getEntityId());
assertEquals(1, ptw2.getRenderSeq());
assertNotNull(ptw2.getWidgetId());
assertTrue(ptw2.isLocked());
// sub page 1 region 1 tests
JpaPageTemplateRegion sp1Region1 = (JpaPageTemplateRegion)subPage1.getPageTemplateRegions().get(0);
assertEquals(subPage1.getEntityId(), sp1Region1.getPageTemplate().getEntityId());
assertEquals(0, sp1Region1.getRenderSequence());
assertEquals(2, sp1Region1.getPageTemplateWidgets().size());
assertTrue(sp1Region1.isLocked());
// sub page 1 region 1 widget 1 tests
PageTemplateWidget spw1 = sp1Region1.getPageTemplateWidgets().get(0);
assertEquals(((JpaPageTemplateRegion)spw1.getPageTemplateRegion()).getEntityId(), sp1Region1.getEntityId());
assertEquals(0, spw1.getRenderSeq());
assertNotNull(spw1.getWidgetId());
assertTrue(spw1.isLocked());
// sub page 1 region 1 widget 2 tests
PageTemplateWidget spw2 = sp1Region1.getPageTemplateWidgets().get(1);
assertEquals(((JpaPageTemplateRegion)spw2.getPageTemplateRegion()).getEntityId(), sp1Region1.getEntityId());
assertEquals(1, spw2.getRenderSeq());
assertNotNull(spw2.getWidgetId());
assertTrue(spw2.isLocked());
// sub page 2 region tests
JpaPageTemplateRegion sp2Region1 = (JpaPageTemplateRegion)subPage2.getPageTemplateRegions().get(0);
assertEquals(subPage2.getEntityId(), sp2Region1.getPageTemplate().getEntityId());
assertEquals(0, sp2Region1.getRenderSequence());
assertEquals(1, sp2Region1.getPageTemplateWidgets().size());
assertTrue(sp2Region1.isLocked());
// sub page 2 region widget 1 tests
PageTemplateWidget sp2w1 = sp2Region1.getPageTemplateWidgets().get(0);