cancel
Showing results for 
Search instead for 
Did you mean: 

How can i test a dao that contains count parameter in flexibleSearch?

tpizarro93
Explorer
0 Kudos
185

I'm trying to test this method and i have to check the count works fine.

@Override<br>public List<OrderEntryItemModel> findOrderEntriesByStore(final BaseStoreModel store, final Date modifiedTime,<br>                                                         final int batchLines, final int start) {<br>    final FlexibleSearchQuery query;<br>    if (modifiedTime != null) {<br>        query = new FlexibleSearchQuery(FIND_ORDER_ENTRY_ITEMS_BY_STORE_QUERY + MODIFIED_TIME_PARAM_QUERY);<br>        query.addQueryParameter("modifiedtime", modifiedTime);<br>    } else {<br>        query = new FlexibleSearchQuery(FIND_ORDER_ENTRY_ITEMS_BY_STORE_QUERY);<br>    }<br>    query.setCount(batchLines);<br>    query.setNeedTotal(true);<br>    query.addQueryParameter("store", store);<br>    query.setStart(start);<br>    return getFlexibleSearchService().<OrderEntryItemModel>search(query).getResult();<br>}

But it's imposible because always returns 3 items. Any idea for check

@Before<br>public void setUp() throws Exception {<br>    MockitoAnnotations.initMocks(this);<br>    orderEntryItemDao = new DefaultOrderEntryItemDao(flexibleSearchService);<br>    final OrderEntryItemModel oei1 = new OrderEntryItemModel();<br>    final OrderEntryItemModel oei2 = new OrderEntryItemModel();<br>    final OrderEntryItemModel oei3 = new OrderEntryItemModel();<br>    final List<OrderEntryItemModel> orderEntryItems = new ArrayList<>();<br>    orderEntryItems.add(oei1);<br>    orderEntryItems.add(oei2);<br>    orderEntryItems.add(oei3);<br><br>    given(flexibleSearchService.<OrderEntryItemModel>search(isA(FlexibleSearchQuery.class))).willReturn(searchResult);<br>    given(searchResult.getResult()).willReturn(orderEntryItems);<br>}<br><br>@Test<br>public void checkBatchLines(){<br>    final List<OrderEntryItemModel> orderEntries = orderEntryItemDao.findOrderEntriesByStore(new BaseStoreModel(), null, 1, 0);<br>    assertEquals(1, orderEntries.size());<br>}

Accepted Solutions (0)

Answers (1)

Answers (1)

samuelyang
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Tomás,

Please use the following API to get the size of collection without using range.

searchResult.getTotalCount()