Missed things re: custom pvs

This commit is contained in:
2023-02-23 13:19:13 -06:00
parent 8440536d35
commit ea795ed701
6 changed files with 166 additions and 12 deletions

View File

@ -224,6 +224,82 @@ class SearchPossibleValueSourceActionTest extends BaseTest
/*******************************************************************************
**
*******************************************************************************/
@Test
void testSearchPvsAction_customSearchTermFound() throws QException
{
SearchPossibleValueSourceOutput output = getSearchPossibleValueSourceOutput("Custom[3]", TestUtils.POSSIBLE_VALUE_SOURCE_CUSTOM);
assertEquals(1, output.getResults().size());
assertThat(output.getResults()).anyMatch(pv -> pv.getId().equals("3") && pv.getLabel().equals("Custom[3]"));
}
/*******************************************************************************
**
*******************************************************************************/
@Test
void testSearchPvsAction_customSearchTermNotFound() throws QException
{
SearchPossibleValueSourceOutput output = getSearchPossibleValueSourceOutput("Foo", TestUtils.POSSIBLE_VALUE_SOURCE_CUSTOM);
assertEquals(0, output.getResults().size());
}
/*******************************************************************************
**
*******************************************************************************/
@Test
void testSearchPvsAction_customSearchTermManyFound() throws QException
{
SearchPossibleValueSourceOutput output = getSearchPossibleValueSourceOutput("Custom", TestUtils.POSSIBLE_VALUE_SOURCE_CUSTOM);
assertEquals(10, output.getResults().size());
assertThat(output.getResults()).allMatch(pv -> pv.getLabel().startsWith("Custom["));
}
/*******************************************************************************
**
*******************************************************************************/
@Test
void testSearchPvsAction_customIdFound() throws QException
{
SearchPossibleValueSourceOutput output = getSearchPossibleValueSourceOutputById("4", TestUtils.POSSIBLE_VALUE_SOURCE_CUSTOM);
assertEquals(1, output.getResults().size());
assertThat(output.getResults()).anyMatch(pv -> pv.getId().equals("4") && pv.getLabel().equals("Custom[4]"));
}
/*******************************************************************************
**
*******************************************************************************/
@Test
void testSearchPvsAction_customIdFoundDifferentType() throws QException
{
SearchPossibleValueSourceOutput output = getSearchPossibleValueSourceOutputById(5, TestUtils.POSSIBLE_VALUE_SOURCE_CUSTOM);
assertEquals(1, output.getResults().size());
assertThat(output.getResults()).anyMatch(pv -> pv.getId().equals("5") && pv.getLabel().equals("Custom[5]"));
}
/*******************************************************************************
**
*******************************************************************************/
@Test
void testSearchPvsAction_customIdNotFound() throws QException
{
SearchPossibleValueSourceOutput output = getSearchPossibleValueSourceOutputById(-1, TestUtils.POSSIBLE_VALUE_SOURCE_CUSTOM);
assertEquals(0, output.getResults().size());
}
/*******************************************************************************
**
*******************************************************************************/

View File

@ -1083,16 +1083,16 @@ public class TestUtils
/*******************************************************************************
**
*******************************************************************************/
public static class CustomPossibleValueSource implements QCustomPossibleValueProvider
public static class CustomPossibleValueSource implements QCustomPossibleValueProvider<String>
{
/*******************************************************************************
**
*******************************************************************************/
@Override
public QPossibleValue<?> getPossibleValue(Serializable idValue)
public QPossibleValue<String> getPossibleValue(Serializable idValue)
{
return (new QPossibleValue<>(idValue, "Custom[" + idValue + "]"));
return (new QPossibleValue<>(ValueUtils.getValueAsString(idValue), "Custom[" + idValue + "]"));
}
@ -1101,9 +1101,19 @@ public class TestUtils
**
*******************************************************************************/
@Override
public List<QPossibleValue<?>> search(SearchPossibleValueSourceInput input)
public List<QPossibleValue<String>> search(SearchPossibleValueSourceInput input)
{
return (new ArrayList<>());
List<QPossibleValue<String>> rs = new ArrayList<>();
for(int i = 0; i < 10; i++)
{
QPossibleValue<String> possibleValue = getPossibleValue(i);
List<String> idsInType = convertInputIdsToIdType(String.class, input.getIdList());
if(doesPossibleValueMatchSearchInput(idsInType, possibleValue, input))
{
rs.add(possibleValue);
}
}
return (rs);
}
}