Skip to content

Commit 129c207

Browse files
committed
test: add regression test for #35
Test that findItemByLabel returns the additional chip.
1 parent 9aa2600 commit 129c207

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

src/test/java/com/flowingcode/vaadin/addons/chipfield/integration/IntegrationView.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
*/
2020
package com.flowingcode.vaadin.addons.chipfield.integration;
2121

22+
import java.lang.reflect.Method;
2223
import java.util.Arrays;
24+
import java.util.Optional;
2325

2426
import com.flowingcode.vaadin.addons.chipfield.ChipField;
2527
import com.flowingcode.vaadin.addons.chipfield.integration.rpc.JsonArrayList;
@@ -97,4 +99,16 @@ public JsonArrayList<String> getValue() {
9799
return JsonArrayList.createArray(field.getValue(), Json::create);
98100
}
99101

102+
@Override
103+
@ClientCallable
104+
public boolean hasItemWithLabel(String label) {
105+
try {
106+
Method method = ChipField.class.getDeclaredMethod("findItemByLabel", String.class);
107+
method.setAccessible(true);
108+
return ((Optional<?>) method.invoke(field, label)).isPresent();
109+
} catch (Exception e) {
110+
throw new RuntimeException();
111+
}
112+
}
113+
100114
}

src/test/java/com/flowingcode/vaadin/addons/chipfield/integration/IntegrationViewCallables.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,6 @@ public interface IntegrationViewCallables {
3939

4040
void removeSelectedItem(String itemToRemove);
4141

42+
boolean hasItemWithLabel(String label);
43+
4244
}

src/test/java/com/flowingcode/vaadin/addons/chipfield/integration/ViewIT.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import static org.hamcrest.MatcherAssert.assertThat;
2323
import static org.junit.Assert.assertThrows;
24+
import static org.junit.Assert.assertTrue;
2425

2526
import java.util.Arrays;
2627
import java.util.Collection;
@@ -184,4 +185,15 @@ public void testRemoveSelectedItem() {
184185
assertThat($server.getValue(), isEqualTo(IPSUM));
185186
}
186187

188+
/**
189+
* Test that findItemByLabel returns the additional chip
190+
*
191+
* @see https://github.com/FlowingCode/ChipFieldAddon/issues/35
192+
*/
193+
@Test
194+
public void testFindItemByLabel() {
195+
$server.useNewItemHandler(true);
196+
chipfield.sendKeys(ADDITIONAL, Keys.ENTER);
197+
assertTrue("Additional item was not returned by findItemByLabel", $server.hasItemWithLabel(ADDITIONAL));
198+
}
187199
}

0 commit comments

Comments
 (0)