/* * Copyright (c) 2011 Lockheed Martin Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.eurekastreams.server.persistence; import static org.junit.Assert.assertEquals; import java.util.List; import org.eurekastreams.server.domain.dto.GalleryTabTemplateDTO; import org.junit.Before; import org.junit.Test; /** * Test for GalleryTabTemplateMapper. * */ public class GalleryTabTemplateMapperTest extends DomainEntityMapperTest { /** * System under test. */ private GalleryTabTemplateMapper sut = new GalleryTabTemplateMapper(null); /** * Set up. */ @Before public void setup() { sut.setEntityManager(getEntityManager()); } /** * Test. */ @Test public void testFindSortedByRecent() { List<GalleryTabTemplateDTO> result = sut.findSortedByRecent(0, 5).getPagedSet(); assertEquals(2, result.size()); assertEquals("2", result.get(0).getId().toString()); assertEquals("1", result.get(1).getId().toString()); } /** * Test. */ @Test public void testFindForCategorySortedByRecent() { List<GalleryTabTemplateDTO> result = sut.findForCategorySortedByRecent("tc1", 0, 5).getPagedSet(); assertEquals(1, result.size()); assertEquals("1", result.get(0).getId().toString()); } /** * Test. */ @Test public void testFindSortedByPopular() { // null out galleryTabTemplate ids and then set only 1 getEntityManager().createQuery("update TabTemplate set galleryTabTemplateId = null").executeUpdate(); getEntityManager().createQuery("update TabTemplate set galleryTabTemplateId = 2 where id = 1097") .executeUpdate(); // verify that it's correct. List<GalleryTabTemplateDTO> result = sut.findSortedByPopularity(0, 5).getPagedSet(); assertEquals(2, result.size()); assertEquals("2", result.get(0).getId().toString()); assertEquals("1", result.get(0).getChildTabTemplateCount().toString()); assertEquals("1", result.get(1).getId().toString()); assertEquals("1", result.get(0).getChildTabTemplateCount().toString()); assertEquals("0", result.get(1).getChildTabTemplateCount().toString()); // now do same, but swap galleryTabTemplate ids to verify it wasn't just default db ordering. getEntityManager().createQuery("update TabTemplate set galleryTabTemplateId = null").executeUpdate(); getEntityManager().createQuery("update TabTemplate set galleryTabTemplateId = 1 where id = 1097") .executeUpdate(); result = sut.findSortedByPopularity(0, 5).getPagedSet(); assertEquals(2, result.size()); assertEquals("1", result.get(0).getId().toString()); assertEquals("2", result.get(1).getId().toString()); assertEquals("1", result.get(0).getChildTabTemplateCount().toString()); assertEquals("0", result.get(1).getChildTabTemplateCount().toString()); } /** * Test. */ @Test public void testFindForCategorySortedByPopular() { List<GalleryTabTemplateDTO> result = sut.findForCategorySortedByPopularity("tc1", 0, 5).getPagedSet(); assertEquals(1, result.size()); assertEquals("1", result.get(0).getId().toString()); } /** * Test. */ @Test(expected = UnsupportedOperationException.class) public void testGetDomainEntityName() { sut.getDomainEntityName(); } /** * Test. */ @Test(expected = UnsupportedOperationException.class) public void testFindByUrl() { sut.findByUrl(null); } /** * Test. */ @Test(expected = UnsupportedOperationException.class) public void testInsert() { sut.insert(null); } /** * Test. */ @Test(expected = UnsupportedOperationException.class) public void testRefresh() { sut.refresh(null); } /** * Test. */ @Test(expected = UnsupportedOperationException.class) public void testFindByIdInt() { sut.findById(5); } /** * Test. */ @Test(expected = UnsupportedOperationException.class) public void testFindByIdLong() { sut.findById(5L); } }