refatorando...

master
Kleber Cardoso 2 years ago
parent 1b5bbd02c0
commit 90fe1f1efc

@ -42,7 +42,7 @@ public class PtoAdjustController {
this.equipamentService = equipamentService; 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 // percorre cada relogio, passando o ultimo nsr do relogio ou a ulima data/hora, tratando para nao duplicar os nsr
AtomicReference<Integer> lastNsr = new AtomicReference<>(nsr); AtomicReference<Integer> lastNsr = new AtomicReference<>(nsr);
@ -53,18 +53,21 @@ public class PtoAdjustController {
try { try {
// requisita da API do tangerino os pontos disponiveis, salvando eles na tabela ptoEvento // requisita da API do tangerino os pontos disponiveis, salvando eles na tabela ptoEvento
List<PtoAdjustModel> ptoModels = obterAjustesPorRelogio(map); List<PtoAdjustModel> ptoModels = gePunchTangerinoAPI(map);
lastNsr.set(extrairAjustes(lastNsr.get(), ptoModels)); lastNsr.set(extractAdjustsAndReturnLastNsr(lastNsr.get(), ptoModels));
} catch (JsonProcessingException e) { } catch (JsonProcessingException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
// ao final, atualiza a ptoEquipamento com o ultimoNSR salvo // ao final, atualiza a ptoEquipamento com o ultimoNSR salvo
eq.setLastNsr(lastNsr.get()); eq.setLastNsr(lastNsr.get());
equipamentService.save(eq); equipamentService.save(eq);
}
public String getToken() {
return token;
} }
private Integer extrairAjustes(Integer lastNsr, List<PtoAdjustModel> ptoEventoModels) { public Integer extractAdjustsAndReturnLastNsr(Integer lastNsr, List<PtoAdjustModel> ptoEventoModels) {
AtomicReference<Integer> nsr = new AtomicReference<>(lastNsr); AtomicReference<Integer> nsr = new AtomicReference<>(lastNsr);
ptoEventoModels.stream().sorted(Comparator.comparing(PtoAdjustModel::getNsr)).forEach(x -> { ptoEventoModels.stream().sorted(Comparator.comparing(PtoAdjustModel::getNsr)).forEach(x -> {
if (x.getNsr() > lastNsr) { if (x.getNsr() > lastNsr) {
@ -75,7 +78,7 @@ public class PtoAdjustController {
return nsr.get(); return nsr.get();
} }
public List<PtoAdjustModel> obterAjustesPorRelogio(HashMap<String, Object> filtros) throws JsonProcessingException { public List<PtoAdjustModel> gePunchTangerinoAPI(HashMap<String, Object> filtros) throws JsonProcessingException {
RestTemplate restTemplate = new RestTemplate(); RestTemplate restTemplate = new RestTemplate();

@ -91,7 +91,7 @@ public class PtoExtractRestController {
nsr.set(x.getNsr()); 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 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); PtoAdjustController ajusteController = new PtoAdjustController(equipamentoService, ajusteService);
ajusteController.extrair(equipamentoModel, nsrForEach.get()); ajusteController.extract(equipamentoModel, nsrForEach.get());
} }
nsrForEach.set(x.getNsr()); nsrForEach.set(x.getNsr());
} }

@ -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<String, Object> 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<PtoAdjustModel> 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

@ -19,7 +19,7 @@ import java.util.List;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
class PtoExtractRestControllerTest { class PtoExtractRestControllerMockTest {
@Mock @Mock
PtoExtractRestController controller; PtoExtractRestController controller;
PtoEquipamentModel equipamento01; PtoEquipamentModel equipamento01;
@ -78,14 +78,14 @@ class PtoExtractRestControllerTest {
} }
@Test @Test
void deveExtrairEventosMock() { void mustObteinLastNsrByExtractEventsAndReturnLastNsr() {
when(controller.extractEventsAndReturnLastNsr(evento01.getNsr(), List.of(evento01), equipamento01)).thenReturn(Integer.valueOf("124")); when(controller.extractEventsAndReturnLastNsr(evento01.getNsr(), List.of(evento01), equipamento01)).thenReturn(Integer.valueOf("124"));
Integer lastNsr = controller.extractEventsAndReturnLastNsr(evento01.getNsr(), Arrays.asList(evento01), equipamento01); Integer lastNsr = controller.extractEventsAndReturnLastNsr(evento01.getNsr(), Arrays.asList(evento01), equipamento01);
Assertions.assertEquals(124, lastNsr); Assertions.assertEquals(124, lastNsr);
} }
@Test @Test
void deveObterRelogiosAtivosMock() { void mustObteinWatchesMock() {
when(controller.getWatches(false)).thenReturn(Arrays.asList(equipamento01, equipamento02)); when(controller.getWatches(false)).thenReturn(Arrays.asList(equipamento01, equipamento02));
List<PtoEquipamentModel> ptoEquipamentModels = controller.getWatches(false); List<PtoEquipamentModel> ptoEquipamentModels = controller.getWatches(false);
Assertions.assertNotEquals(null, ptoEquipamentModels); Assertions.assertNotEquals(null, ptoEquipamentModels);
Loading…
Cancel
Save