/** * *************************************************************************** * Copyright (c) 2010 Qcadoo Limited * Project: Qcadoo Framework * Version: 1.4 * * This file is part of Qcadoo. * * Qcadoo is free software; you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published * by the Free Software Foundation; either version 3 of the License, * or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * *************************************************************************** */ package com.qcadoo.model.internal; import static org.junit.Assert.assertEquals; import static org.mockito.BDDMockito.given; import java.util.ArrayList; import java.util.List; import org.hibernate.Criteria; import org.junit.Test; import org.mockito.Mockito; import com.qcadoo.model.api.search.SearchCriteriaBuilder; import com.qcadoo.model.api.search.SearchResult; import com.qcadoo.model.beans.sample.SampleSimpleDatabaseObject; public class DataAccessServiceFindTest extends DataAccessTest { @Test @SuppressWarnings({ "rawtypes", "unchecked" }) public void shouldReturnValidEntities() throws Exception { // given List<SampleSimpleDatabaseObject> databaseObjects = new ArrayList<SampleSimpleDatabaseObject>(); databaseObjects.add(createDatabaseObject(1L, "name1", 1)); databaseObjects.add(createDatabaseObject(2L, "name2", 2)); databaseObjects.add(createDatabaseObject(3L, "name3", 3)); databaseObjects.add(createDatabaseObject(4L, "name4", 4)); SearchCriteriaBuilder searchCriteriaBuilder = dataDefinition.find().setFirstResult(0).setMaxResults(4); given(hibernateService.getTotalNumberOfEntities(Mockito.any(Criteria.class))).willReturn(4); given(hibernateService.list(Mockito.any(Criteria.class))).willReturn((List) databaseObjects); // when SearchResult resultSet = searchCriteriaBuilder.list(); // then assertEquals(4, resultSet.getTotalNumberOfEntities()); assertEquals(4, resultSet.getEntities().size()); assertEquals(Long.valueOf(1L), resultSet.getEntities().get(0).getId()); assertEquals(Long.valueOf(2L), resultSet.getEntities().get(1).getId()); assertEquals(Long.valueOf(3L), resultSet.getEntities().get(2).getId()); assertEquals(Long.valueOf(4L), resultSet.getEntities().get(3).getId()); } private SampleSimpleDatabaseObject createDatabaseObject(final Long id, final String name, final int age) { SampleSimpleDatabaseObject simpleDatabaseObject = new SampleSimpleDatabaseObject(id); simpleDatabaseObject.setName(name); simpleDatabaseObject.setAge(age); return simpleDatabaseObject; } }