}
@Test
public void getDefaultPersonPage_valid(){
// get default page template
PageTemplate pt = pageTemplateRepository.getDefaultPage(PageType.PERSON_PROFILE);
// default page tests
assertNotNull(pt);
assertEquals("Template for person profile pages", pt.getDescription());
assertEquals("Person Profile", pt.getName());
assertEquals(PageType.PERSON_PROFILE, 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
PageTemplate subPage1 = pt.getSubPageTemplates().get(0);
PageTemplate subPage2 = 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, 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, 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
PageTemplateRegion ptRegion1 = 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(ptw1.getPageTemplateRegion().getEntityId(), ptRegion1.getEntityId());
assertEquals(0, ptw1.getRenderSeq());
assertNotNull(ptw1.getWidget());
assertTrue(ptw1.isLocked());
// parent page region widget 2 tests
PageTemplateWidget ptw2 = ptRegion1.getPageTemplateWidgets().get(1);
assertEquals(ptw2.getPageTemplateRegion().getEntityId(), ptRegion1.getEntityId());
assertEquals(1, ptw2.getRenderSeq());
assertNotNull(ptw2.getWidget());
assertTrue(ptw2.isLocked());
// sub page 1 region 1 tests
PageTemplateRegion sp1Region1 = 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(spw1.getPageTemplateRegion().getEntityId(), sp1Region1.getEntityId());
assertEquals(0, spw1.getRenderSeq());
assertNotNull(spw1.getWidget());
assertTrue(spw1.isLocked());
// sub page 1 region 1 widget 2 tests
PageTemplateWidget spw2 = sp1Region1.getPageTemplateWidgets().get(1);
assertEquals(spw2.getPageTemplateRegion().getEntityId(), sp1Region1.getEntityId());
assertEquals(1, spw2.getRenderSeq());
assertNotNull(spw2.getWidget());
assertTrue(spw2.isLocked());
// sub page 2 region tests
PageTemplateRegion sp2Region1 = 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);