- Reversed lists

- MORE TESTS
This commit is contained in:
Индекс Зиро 2025-02-19 17:40:12 +03:00
parent bfe859b08b
commit 0e5ab92a4a
3 changed files with 97 additions and 12 deletions

View File

@ -41,17 +41,22 @@ public class EmployeeServiceImpl implements EmployeeService {
try {
if (codeRepository.existsByValue(Long.valueOf(code))) {
Employee employee = employeeRepository.findByLogin(auth.getName());
Entrance entrance = new Entrance();
if(employee.getIsQREnabled()) {
Entrance entrance = new Entrance();
entrance.setVisitTime(LocalDateTime.now());
entrance.setReader(codeRepository.findByValue(code));
entrance.setType("smartphone");
entrance.setEmployee(employee);
entrance.setVisitTime(LocalDateTime.now());
entrance.setReader(codeRepository.findByValue(code));
entrance.setType("smartphone");
entrance.setEmployee(employee);
entranceRepository.save(entrance);
entranceRepository.save(entrance);
return new ResponseEntity<>(HttpStatus.OK);
return new ResponseEntity<>(HttpStatus.OK);
}
else {
return new ResponseEntity<>(HttpStatus.UNAUTHORIZED);
}
}
else {
return new ResponseEntity<>(HttpStatus.UNAUTHORIZED);

View File

@ -32,7 +32,7 @@ public class EntranceServiceImpl implements EntranceService {
public ResponseEntity<Page<EntranceDTO>> getEmployeeEntrances(Pageable pageable, Authentication auth) {
Employee employee = employeeRepository.findByLogin(auth.getName());
System.out.println(employee.getEntrances().stream().map(EntranceMapper::convertToDTO).collect(Collectors.toList()));
List<EntranceDTO> entrances = employee.getEntrances().stream().map(EntranceMapper::convertToDTO).collect(Collectors.toList());
List<EntranceDTO> entrances = employee.getEntrances().stream().map(EntranceMapper::convertToDTO).collect(Collectors.toList()).reversed();
Page<EntranceDTO> page = new PageImpl<>(entrances, pageable, entrances.size());
return new ResponseEntity<>(page, HttpStatus.OK);
}
@ -40,7 +40,7 @@ public class EntranceServiceImpl implements EntranceService {
@Override
public ResponseEntity<EntranceDTO> getLastEntrance(Authentication auth) {
Employee employee = employeeRepository.findByLogin(auth.getName());
List<EntranceDTO> entrances = employee.getEntrances().stream().map(EntranceMapper::convertToDTO).collect(Collectors.toList());
List<EntranceDTO> entrances = employee.getEntrances().stream().map(EntranceMapper::convertToDTO).toList();
System.out.println(entrances.getLast());
return new ResponseEntity<>(entrances.getLast(), HttpStatus.OK);
}
@ -48,7 +48,7 @@ public class EntranceServiceImpl implements EntranceService {
@Override
public ResponseEntity<Page<EntranceDTO>> getAllEntrances(Pageable pageable) {
List<Entrance> entrances = entranceRepository.findAll();
List<EntranceDTO> entrancesdto = entrances.stream().map(EntranceMapper::convertToDTO).collect(Collectors.toList());
List<EntranceDTO> entrancesdto = entrances.stream().map(EntranceMapper::convertToDTO).collect(Collectors.toList()).reversed();
Page<EntranceDTO> page = new PageImpl<>(entrancesdto, pageable, entrances.size());
return new ResponseEntity<>(page, HttpStatus.OK);
@ -59,7 +59,7 @@ public class EntranceServiceImpl implements EntranceService {
Employee e = employeeRepository.findByLogin(login);
if(e != null) {
List<Entrance> entrances = e.getEntrances();
List<EntranceDTO> entrancesdto = entrances.stream().map(EntranceMapper::convertToDTO).collect(Collectors.toList());
List<EntranceDTO> entrancesdto = entrances.stream().map(EntranceMapper::convertToDTO).collect(Collectors.toList()).reversed();
Page<EntranceDTO> page = new PageImpl<>(entrancesdto, pageable, entrances.size());

View File

@ -7,7 +7,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@ -38,6 +38,86 @@ class EmployeeControllerTests {
.andExpect(status().isUnauthorized());
}
@Test
void doorOpen() throws Exception {
this.mockMvc.perform(
patch("/api/employee/open")
.param("code", "1234567890123456789")
.with(httpBasic("pivanov", "HelloWorld1234")))
.andDo(print())
.andExpect(status().isOk());
}
@Test
void doorOpenWrongCode() throws Exception {
this.mockMvc.perform(
patch("/api/employee/open")
.param("code", "1234567770123456789")
.with(httpBasic("pivanov", "HelloWorld1234")))
.andDo(print())
.andExpect(status().isUnauthorized());
}
@Test
void lockAndUnlockUser() throws Exception {
this.mockMvc.perform(
patch("/api/employee/ipetrov/blocked")
.with(httpBasic("pivanov", "HelloWorld1234")))
.andDo(print())
.andExpect(status().isOk());
this.mockMvc.perform(
patch("/api/employee/ipetrov/active")
.with(httpBasic("pivanov", "HelloWorld1234")))
.andDo(print())
.andExpect(status().isOk());
}
@Test
void lockAndUnlockUserNotFound() throws Exception {
this.mockMvc.perform(
patch("/api/employee/PetrTestovich/blocked")
.with(httpBasic("pivanov", "HelloWorld1234")))
.andDo(print())
.andExpect(status().isNotFound());
this.mockMvc.perform(
patch("/api/employee/PetrTestovich/active")
.with(httpBasic("pivanov", "HelloWorld1234")))
.andDo(print())
.andExpect(status().isNotFound());
}
@Test
void lockAndUnlockUserForbidden() throws Exception {
this.mockMvc.perform(
patch("/api/employee/PetrTestovich/blocked")
.with(httpBasic("afedorov", "HelloWorld1234")))
.andDo(print())
.andExpect(status().isForbidden());
this.mockMvc.perform(
patch("/api/employee/PetrTestovich/active")
.with(httpBasic("afedorov", "HelloWorld1234")))
.andDo(print())
.andExpect(status().isForbidden());
}
@Test
void getAll() throws Exception {
this.mockMvc.perform(
get("/api/employee/all")
.with(httpBasic("pivanov", "HelloWorld1234")))
.andDo(print())
.andExpect(status().isOk());
}
@Test
void getAllForbidden() throws Exception {
this.mockMvc.perform(
get("/api/employee/all")
.with(httpBasic("afedorov", "HelloWorld1234")))
.andDo(print())
.andExpect(status().isForbidden());
}
}