diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustController.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustController.java index 59b1f80..ee9df81 100644 --- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustController.java +++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustController.java @@ -42,7 +42,7 @@ public class PtoAdjustController { this.equipamentService = equipamentService; } - public void extrair(PtoEquipamentModel eq, Integer nsr) { + public void extract(PtoEquipamentModel eq, Integer nsr) { // percorre cada relogio, passando o ultimo nsr do relogio ou a ulima data/hora, tratando para nao duplicar os nsr AtomicReference lastNsr = new AtomicReference<>(nsr); @@ -53,18 +53,21 @@ public class PtoAdjustController { try { // requisita da API do tangerino os pontos disponiveis, salvando eles na tabela ptoEvento - List ptoModels = obterAjustesPorRelogio(map); - lastNsr.set(extrairAjustes(lastNsr.get(), ptoModels)); + List ptoModels = gePunchTangerinoAPI(map); + lastNsr.set(extractAdjustsAndReturnLastNsr(lastNsr.get(), ptoModels)); } catch (JsonProcessingException e) { throw new RuntimeException(e); } // ao final, atualiza a ptoEquipamento com o ultimoNSR salvo eq.setLastNsr(lastNsr.get()); equipamentService.save(eq); + } + public String getToken() { + return token; } - private Integer extrairAjustes(Integer lastNsr, List ptoEventoModels) { + public Integer extractAdjustsAndReturnLastNsr(Integer lastNsr, List ptoEventoModels) { AtomicReference nsr = new AtomicReference<>(lastNsr); ptoEventoModels.stream().sorted(Comparator.comparing(PtoAdjustModel::getNsr)).forEach(x -> { if (x.getNsr() > lastNsr) { @@ -75,7 +78,7 @@ public class PtoAdjustController { return nsr.get(); } - public List obterAjustesPorRelogio(HashMap filtros) throws JsonProcessingException { + public List gePunchTangerinoAPI(HashMap filtros) throws JsonProcessingException { RestTemplate restTemplate = new RestTemplate(); diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestController.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestController.java index 63f03db..d6c5d7d 100644 --- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestController.java +++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestController.java @@ -91,7 +91,7 @@ public class PtoExtractRestController { nsr.set(x.getNsr()); if(x.getNsr() - nsrForEach.get() > 1){ //se a diferença entre o ultimo nsr e o atual for maior que um, chamará o Ajustes PtoAdjustController ajusteController = new PtoAdjustController(equipamentoService, ajusteService); - ajusteController.extrair(equipamentoModel, nsrForEach.get()); + ajusteController.extract(equipamentoModel, nsrForEach.get()); } nsrForEach.set(x.getNsr()); } diff --git a/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustsControllerMockTest.java b/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustsControllerMockTest.java new file mode 100644 index 0000000..5f663ed --- /dev/null +++ b/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustsControllerMockTest.java @@ -0,0 +1,84 @@ +package br.com.ae3tecnologia.ms.tangerino.controller; + +import br.com.ae3tecnologia.ms.tangerino.model.PtoAdjustModel; +import br.com.ae3tecnologia.ms.tangerino.model.PtoEquipamentModel; +import com.fasterxml.jackson.core.JsonProcessingException; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import java.time.LocalDate; +import java.time.LocalTime; +import java.util.Arrays; +import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.List; + +import static org.mockito.Mockito.when; + +class PtoAdjustsControllerMockTest { + @Mock + PtoAdjustController controller; + PtoEquipamentModel equipamento01; + PtoEquipamentModel equipamento02; + PtoAdjustModel evento01; + + @BeforeEach + void setUp() { + equipamento01 = new PtoEquipamentModel( + 123, + "00004004340003529", + 1, + 1, + GregorianCalendar.getInstance().getTime(), + null, + "default", + true + ); + equipamento02 = new PtoEquipamentModel( + 124, + "00004004330063478", + 1, + 1, + GregorianCalendar.getInstance().getTime(), + null, + "default", + true + ); + evento01 = new PtoAdjustModel( + 123, + 123, + 4, + LocalDate.now(), + LocalDate.now(), + LocalTime.now().minusHours(10), + LocalTime.now(), + 1, + "202304" + ); + MockitoAnnotations.openMocks(this); + } + + @Test + void mustObteinPunchTangerinoAPIMock() throws JsonProcessingException { + HashMap map = new HashMap<>(); + map.put("serialNumber", equipamento01.getSerialNumber()); + map.put("page", 1); + map.put("size", 50); + when(controller.getToken()).thenReturn("1231231231313"); + when(controller.gePunchTangerinoAPI(map)).thenReturn(Arrays.asList(evento01)); + List model = controller.gePunchTangerinoAPI(map); + Assertions.assertTrue(model.size() > 0); + } + + @Test + void mustObteinLastNsrByExtractEventsAndReturnLastNsr() { + when(controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), List.of(evento01))).thenReturn(Integer.valueOf("124")); + Integer lastNsr = controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), Arrays.asList(evento01)); + Assertions.assertEquals(124, lastNsr); + } +} + +//Generated with love by TestMe :) Please report issues and submit feature requests at: http://weirddev.com/forum#!/testme \ No newline at end of file diff --git a/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestControllerTest.java b/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestControllerMockTest.java similarity index 94% rename from src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestControllerTest.java rename to src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestControllerMockTest.java index 6b06a7a..506ba7d 100644 --- a/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestControllerTest.java +++ b/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestControllerMockTest.java @@ -19,7 +19,7 @@ import java.util.List; import static org.mockito.Mockito.when; -class PtoExtractRestControllerTest { +class PtoExtractRestControllerMockTest { @Mock PtoExtractRestController controller; PtoEquipamentModel equipamento01; @@ -78,14 +78,14 @@ class PtoExtractRestControllerTest { } @Test - void deveExtrairEventosMock() { + void mustObteinLastNsrByExtractEventsAndReturnLastNsr() { when(controller.extractEventsAndReturnLastNsr(evento01.getNsr(), List.of(evento01), equipamento01)).thenReturn(Integer.valueOf("124")); Integer lastNsr = controller.extractEventsAndReturnLastNsr(evento01.getNsr(), Arrays.asList(evento01), equipamento01); Assertions.assertEquals(124, lastNsr); } @Test - void deveObterRelogiosAtivosMock() { + void mustObteinWatchesMock() { when(controller.getWatches(false)).thenReturn(Arrays.asList(equipamento01, equipamento02)); List ptoEquipamentModels = controller.getWatches(false); Assertions.assertNotEquals(null, ptoEquipamentModels);