> 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/proyecto-web/mock.md).

# Mock

En muchas ocasiones necesitamos realizar operaciones en donde asignamos valores a los entity para ejecutar el test con esos datos.

Por ejemplo ingresamos datos al entity Bodega y ejecutamos la operaciòn save() en la colecciòn.

* Al final podemos eliminarlo despues de realizar el test.
* O lo dejamos para otras pruebas y al final lo eliminamos cuando terminamos el proceso.

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

## Ejercicio:

Agregar el test del metodo save() a BodegaTest.java

**Crear un Mock**

```java
            Bodega bodega = new Bodega();
            bodega.setIdbodega("bodega-test");
            bodega.setDireccion("Panama");
            bodega.setTelefono("(507)");
            //User info es una clase que usa el framework para guardar referencias
            //de usuarios
            List<UserInfo> list = new ArrayList<>();
            bodega.setUserInfo(list);
            bodega.setActivo("si");
```

**Implementamos**&#x20;

* **assertEquals()** para verificar si logro guardarlo.

```java
unitTest.assertEquals("save()", true,bodegaRepository.save(bodega));
```

**Mètodo**

```java
 @Test
    private void save() {
        try {
            //Mock
            Bodega bodega = new Bodega();
            bodega.setIdbodega("bodega-test");
            bodega.setDireccion("Panama");
            bodega.setTelefono("(507)");
            //User info es una clase que usa el framework para guardar referencias
            //de usuarios
            List<UserInfo> list = new ArrayList<>();
            bodega.setUserInfo(list);
            bodega.setActivo("si");

            unitTest.assertEquals(nameOfMethod(), true,bodegaRepository.save(bodega));
        } catch (Exception e) {
            System.out.println(nameOfMethod()+" " + e.getLocalizedMessage());
        }

    }
```

## BodegaTest.java

```java
import com.avbravo.ejbjmoordb.pojos.UserInfo;
import com.avbravo.jmoordbunit.anotation.Report;
import com.avbravo.jmoordbunit.anotation.Test;
import com.avbravo.jmoordbunit.test.UnitTest;
import com.avbravo.microtestingejb.entity.Bodega;
import com.avbravo.microtestingejb.repository.BodegaRepository;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.DependsOn;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.inject.Inject;

/**
 *
 * @author avbravo
 */
@Startup
@Singleton
@DependsOn("TestEnvironment")
@Test
@Report(path = "/home/avbravo/Descargas/")
public class BodegaTest {

    @Inject
    UnitTest unitTest;
    @Inject
    BodegaRepository bodegaRepository;

    @PostConstruct
    void init() {
        unitTest.start(BodegaTest.class);
        save();
        findAll();


    }

    @Test
    private void save() {
        try {
            //Mock
            Bodega bodega = new Bodega();
            bodega.setIdbodega("bodega-test");
            bodega.setDireccion("Panama");
            bodega.setTelefono("(507)");
            //User info es una clase que usa el framework para guardar referencias
            //de usuarios
            List<UserInfo> list = new ArrayList<>();
            bodega.setUserInfo(list);
            bodega.setActivo("si");

            unitTest.assertEquals(nameOfMethod(), true,bodegaRepository.save(bodega));
        } catch (Exception e) {
            System.out.println(nameOfMethod()+" " + e.getLocalizedMessage());
        }

    }

    @Test
    private void findAll() {
        unitTest.assertNotEquals(nameOfMethod(), 0, bodegaRepository.findAll().size());

    }

    @PreDestroy
    public void destroy() {
        unitTest.end(BodegaTest.class);
    }
}
```

## Al ejecutar el Test

**Resumen**

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

Clases List: Pasaron todos los test.

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

**Metodos fueron exitosos**

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

## **Si ejecutamos nuevamente el test**

El resumen indica que hay 1 error

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

**Clases List**

Se observa que BodegaTest tiene dos errores

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

Al verificar la clase BodegaTest

Se observa que el metodo que fallo fue el metodo save()

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

Para tener màs detalles sobre los mensajes de error podemos implementar UnitView\.java
