You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2012/12/17 23:27:27 UTC

svn commit: r1423198 - /rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java

Author: mfranklin
Date: Mon Dec 17 22:27:27 2012
New Revision: 1423198

URL: http://svn.apache.org/viewvc?rev=1423198&view=rev
Log:
Applying Patch from Carol Hansen (RAVE-850)

Modified:
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java?rev=1423198&r1=1423197&r2=1423198&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java Mon Dec 17 22:27:27 2012
@@ -31,8 +31,7 @@ import java.util.List;
 
 import static org.easymock.EasyMock.*;
 import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.*;
 import static org.springframework.data.mongodb.core.query.Criteria.where;
 import static org.springframework.data.mongodb.core.query.Query.query;
 
@@ -50,6 +49,110 @@ public class MongoDbPageRepositoryTest {
     }
 
     @Test
+    public void getAllPages(){
+        Long userId = 1234L;
+        PageType pageType = PageType.USER;
+        User u = new UserImpl(9999L);
+        User u2 = new UserImpl(1234L);
+        PageUser user = new MongoDbPageUser();
+        user.setId(3333L);
+        user.setUser(u);
+        PageUser user2 = new MongoDbPageUser();
+        user2.setId(1234L);
+        user2.setUser(u2);
+        List<Page> pages = Lists.newArrayList();
+        List<PageUser> page_users = Lists.newArrayList();
+        List<PageUser> page2_users = Lists.newArrayList();
+        page_users.add(user);
+        page2_users.add(user2);
+        Page page = new PageImpl();
+        page.setMembers(page_users);
+        Page page2 = new PageImpl();
+        page2.setMembers(page2_users);
+        pages.add(page);
+        pages.add(page2);
+
+        expect(template.find(isA(Query.class))).andReturn(pages);
+        replay(template);
+
+        List<Page> result = repo.getAllPages(userId, pageType);
+        assertNotNull(result);
+
+    }
+
+    @Test
+    public void getType(){
+        Class<? extends Page> result = repo.getType();
+        assertNotNull(result);
+    }
+
+    @Test
+    public void createPageForUser(){
+        Page result = new PageImpl();
+        User user = new UserImpl(2424L);
+        PageTemplate pt = new PageTemplateImpl();
+        PageLayout layout = new PageLayoutImpl();
+        List<PageTemplateRegion> regions = Lists.newArrayList();
+        List<PageTemplateRegion> subRegions = Lists.newArrayList();
+        List<PageTemplateWidget> widgets = Lists.newArrayList();
+        List<PageTemplate> subPageTemplates = Lists.newArrayList();
+
+        PageTemplate sub = new PageTemplateImpl();
+        sub.setName("sub");
+        PageTemplateRegion subRegion = new PageTemplateRegionImpl();
+        subRegion.setRenderSequence(5555L);
+        subRegion.setLocked(true);
+        subRegion.setPageTemplateWidgets(widgets);
+        subRegions.add(subRegion);
+        sub.setPageTemplateRegions(subRegions);
+        sub.setName("sub");
+        sub.setPageType(PageType.SUB_PAGE);
+        sub.setPageLayout(layout);
+        sub.setPageTemplateRegions(subRegions);
+        sub.setRenderSequence(2000L);
+
+        PageTemplateWidget widget = new PageTemplateWidgetImpl();
+        Widget w = new WidgetImpl();
+        widget.setLocked(true);
+        widget.setHideChrome(true);
+        widget.setRenderSeq(2000L);
+        widget.setWidget(w);
+        widgets.add(widget);
+
+        PageTemplateRegion region = new PageTemplateRegionImpl();
+        region.setRenderSequence(1111L);
+        region.setPageTemplateWidgets(widgets);
+        region.setLocked(true);
+        regions.add(region);
+
+        pt.setName("carol");
+        pt.setPageType(PageType.USER);
+        pt.setPageLayout(layout);
+        subPageTemplates.add(sub);
+        pt.setSubPageTemplates(subPageTemplates);
+        pt.setPageTemplateRegions(regions);
+        pt.setRenderSequence(2000L);
+
+        expect(template.save(isA(Page.class))).andReturn(result);
+        replay(template);
+
+        result = repo.createPageForUser(user, pt);
+        assertNotNull(result);
+
+    }
+
+    @Test
+    public void delete(){
+        Page page = new PageImpl(1234L);
+
+        template.remove(query(where("_id").is(1234L)));
+        expectLastCall();
+
+        repo.delete(page);
+
+    }
+
+    @Test
     public void deletePages(){
         int resultCount;
         long userID = 1111L;
@@ -65,15 +168,56 @@ public class MongoDbPageRepositoryTest {
     }
 
     @Test
+    public void hasPersonPage_true(){
+        Long userId = 1234L;
+        User user = new UserImpl(userId);
+        Page page = new PageImpl();
+        page.setPageType(PageType.PERSON_PROFILE);
+        page.setOwner(user);
+
+        expect(template.count(query(where("pageType").is(PageType.PERSON_PROFILE).andOperator(where("ownerId").is(userId))))).andReturn(1L);
+        replay(template);
+
+        boolean result = repo.hasPersonPage(userId);
+        assertTrue(result);
+
+    }
+
+    @Test
+    public void hasPersonPage_false(){
+        Long userId = 1234L;
+
+        expect(template.count(query(where("pageType").is(PageType.PERSON_PROFILE).andOperator(where("ownerId").is(userId))))).andReturn(0L);
+        replay(template);
+
+        boolean result = repo.hasPersonPage(userId);
+        assertFalse(result);
+
+    }
+
+    @Test
     public void getPagesForUser(){
         Page p = new PageImpl();
-        PageUser user1 = new PageUserImpl(1111L);
+        PageUser user1 = new PageUserImpl(2222L);
+        PageUser user3 = new PageUserImpl(2222L);
         User user2 = new UserImpl(2222L);
         user1.setUser(user2);
         List<PageUser> pageUser = Lists.newArrayList();
         pageUser.add(user1);
+        pageUser.add(user3);
         p.setMembers(pageUser);
+
+        Page p2 = new PageImpl();
+        PageUser user4 = new PageUserImpl(2222L);
+        PageUser user5 = new PageUserImpl(2222L);
+        User user6 = new UserImpl(2222L);
+        user4.setUser(user6);
+        List<PageUser> pageUser2 = Lists.newArrayList();
+        pageUser.add(user4);
+        pageUser.add(user5);
+        p2.setMembers(pageUser2);
         List<Page> pages = Lists.newArrayList(p);
+        pages.add(p2);
 
         List<PageUser> result;
         Long userId = 2222L;
@@ -83,12 +227,75 @@ public class MongoDbPageRepositoryTest {
         result = repo.getPagesForUser(userId, PageType.USER);
 
         assertThat(result.get(0).getUser(), is(equalTo(user2)));
-        assertThat(result.size(), is(equalTo(1)));
+        assertThat(result.size(), is(equalTo(2)));
         assertThat(result.get(0).getUser().getId(), is(equalTo(2222L)));
 
     }
 
     @Test
+    public void getPagesForUser_false(){
+        Page p = new PageImpl();
+        PageUser user1 = new PageUserImpl(2222L);
+        PageUser user3 = new PageUserImpl(2222L);
+        user1.setRenderSequence(1L);
+        user3.setRenderSequence(1L);
+        User user2 = new UserImpl(2222L);
+        user1.setUser(user2);
+        List<PageUser> pageUser = Lists.newArrayList();
+        pageUser.add(user1);
+        pageUser.add(user3);
+        p.setMembers(pageUser);
+
+        Page p2 = new PageImpl();
+        PageUser user4 = new PageUserImpl(2222L);
+        PageUser user5 = new PageUserImpl(2222L);
+        user4.setRenderSequence(1L);
+        user5.setRenderSequence(1L);
+        User user6 = new UserImpl(2222L);
+        user4.setUser(user6);
+        List<PageUser> pageUser2 = Lists.newArrayList();
+        pageUser.add(user4);
+        pageUser.add(user5);
+        p2.setMembers(pageUser2);
+        List<Page> pages = Lists.newArrayList(p);
+        pages.add(p2);
+
+        List<PageUser> result;
+        Long userId = 2222L;
+
+        expect(template.find(query(where("members").elemMatch(where("userId").is(userId)).andOperator(where("pageType").is("USER"))))).andReturn(pages);
+        replay(template);
+        result = repo.getPagesForUser(userId, PageType.USER);
+
+        assertThat(result.get(0).getUser(), is(equalTo(user2)));
+        assertThat(result.size(), is(equalTo(2)));
+        assertThat(result.get(0).getUser().getId(), is(equalTo(2222L)));
+
+    }
+
+    @Test
+    public void getPagesForUser_null(){
+        Page p = new PageImpl();
+        PageUser user1 = new PageUserImpl(1111L);
+        User user2 = new UserImpl(2222L);
+        user1.setUser(user2);
+        List<PageUser> pageUser = Lists.newArrayList();
+        pageUser.add(user1);
+        p.setMembers(pageUser);
+        List<Page> pages = Lists.newArrayList(p);
+
+        List<PageUser> result;
+        Long userId = 3333L;
+
+        expect(template.find(query(where("members").elemMatch(where("userId").is(userId)).andOperator(where("pageType").is("USER"))))).andReturn(pages);
+        replay(template);
+
+        result = repo.getPagesForUser(userId, PageType.USER);
+        assertThat(result.size(), is(equalTo(1)));
+
+    }
+
+    @Test
     public void getSingleRecord_valid(){
         Long userId = 1111L;
         Long pageId = 2222L;