# 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.

![](https://119655977-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6ni0R6l7RuGH7f%2F-Lc1WimEKh7cRoxzlSLb%2F-Lc1Wogg6669snVSEPXn%2Fseo.png?generation=1554820587716879\&alt=media)

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

![](https://119655977-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6ni0R6l7RuGH7f%2F-Lc1WimEKh7cRoxzlSLb%2F-Lc1WogiDMZSR5ub_GCF%2Fselect.png?generation=1554820593000315\&alt=media)
