> For the complete documentation index, see [llms.txt](https://avbravo-2.gitbook.io/jmoordbunit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://avbravo-2.gitbook.io/jmoordbunit/testing-con-unitview/selectonemenu.md).

# SelectOneMenu

En muchos test generalmente necesitamos componentes como selectOneMenu, UnitView, ofrece mètodos para generar selct de manera muy sencilla.

Utilizamos panelAddSelectOneMenu para agrerar la lista de objetos de tipo SelectOneMenu , que utilizan dos parametros

la etiqueta para el componente y un ArrayList de tipo Item.

![](/files/-Lc1Wogg6669snVSEPXn)

Cargamos un List de Items y lo pasamos como parametros al componente SelectOneMenu(label, List\<Item>);

```java
            List<Color> colorList = colorRepository.findAll();
            List<Item> itemList = new ArrayList<>();
            colorList.stream().map((c) -> new Item(c.getIdcolor(), c.getIdcolor(), c.getIdcolor())).forEachOrdered((item) -> {
                itemList.add(item);
            });
            unitView.panelAddSelectOneMenu(
                    Arrays.asList(new SelectOneMenu("color", itemList)));
```

Se pueden pasar multiples SelecteOneMenu al componente. Por ejemplo podriamos cargar un List\<Item> de la clase bodega

```java
List<Bodega> bodegaList = bodegaRepository.findAll();
            List<Item> itemBodegaList = new ArrayList<>();
bodegaList.stream().map((c) -> new Item(c.getIdbodega())).forEachOrdered((item) -> {
                itemBodegaList.add(item);
            });


unitTest.panelAddSelectOneMenu(
                    Arrays.asList(new SelectOneMenu("color", itemList)
                                  new SelectOneMenu("bodega", itemBodegaList)
                    ));
```

## Segmento de Codigo

```java
@Test
    public String panelSelectOneMenu() {
        try {

            List<Color> colorList = colorRepository.findAll();
            Boolean found = unitTest.assertFalse("panelSelectOneMenu()", colorList.isEmpty());
            if (found) {
                /*
            Dibuja la interfaz
                 */

                unitTest.form();
              unitTest.formTitle("panelSelectOneMenu()");
               unitTest.panel();

                //-----------------------------
                List<Item> itemList = new ArrayList<>();
                colorList.stream().map((c) -> new Item(c.getIdcolor(), c.getIdcolor(), c.getIdcolor())).forEachOrdered((item) -> {
                    itemList.add(item);
                });
               unitTest.panelAddSelectOneMenu(
                        Arrays.asList(new SelectOneMenu("color", itemList)));

             unitTest.panelClose();

                unitTest.formClose();
            } else {
               unitTest.errorMessage("No tiene registros");
            }

        } catch (Exception e) {
            System.out.println(nameOfMethod()+" " + e.getLocalizedMessage());
        }

        return "";
    }
```

Salida Genera SelectOneMenu

![](/files/-Lc1WogiDMZSR5ub_GCF)
