- 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,6 +41,7 @@ public class EmployeeServiceImpl implements EmployeeService {
try { try {
if (codeRepository.existsByValue(Long.valueOf(code))) { if (codeRepository.existsByValue(Long.valueOf(code))) {
Employee employee = employeeRepository.findByLogin(auth.getName()); Employee employee = employeeRepository.findByLogin(auth.getName());
if(employee.getIsQREnabled()) {
Entrance entrance = new Entrance(); Entrance entrance = new Entrance();
entrance.setVisitTime(LocalDateTime.now()); entrance.setVisitTime(LocalDateTime.now());
@ -57,6 +58,10 @@ public class EmployeeServiceImpl implements EmployeeService {
return new ResponseEntity<>(HttpStatus.UNAUTHORIZED); return new ResponseEntity<>(HttpStatus.UNAUTHORIZED);
} }
} }
else {
return new ResponseEntity<>(HttpStatus.UNAUTHORIZED);
}
}
catch(Exception e) { catch(Exception e) {
System.out.println(e.getMessage()); System.out.println(e.getMessage());
return new ResponseEntity<>(HttpStatus.BAD_REQUEST); return new ResponseEntity<>(HttpStatus.BAD_REQUEST);

View File

@ -32,7 +32,7 @@ public class EntranceServiceImpl implements EntranceService {
public ResponseEntity<Page<EntranceDTO>> getEmployeeEntrances(Pageable pageable, Authentication auth) { public ResponseEntity<Page<EntranceDTO>> getEmployeeEntrances(Pageable pageable, Authentication auth) {
Employee employee = employeeRepository.findByLogin(auth.getName()); Employee employee = employeeRepository.findByLogin(auth.getName());
System.out.println(employee.getEntrances().stream().map(EntranceMapper::convertToDTO).collect(Collectors.toList())); 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()); Page<EntranceDTO> page = new PageImpl<>(entrances, pageable, entrances.size());
return new ResponseEntity<>(page, HttpStatus.OK); return new ResponseEntity<>(page, HttpStatus.OK);
} }
@ -40,7 +40,7 @@ public class EntranceServiceImpl implements EntranceService {
@Override @Override
public ResponseEntity<EntranceDTO> getLastEntrance(Authentication auth) { public ResponseEntity<EntranceDTO> getLastEntrance(Authentication auth) {
Employee employee = employeeRepository.findByLogin(auth.getName()); 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()); System.out.println(entrances.getLast());
return new ResponseEntity<>(entrances.getLast(), HttpStatus.OK); return new ResponseEntity<>(entrances.getLast(), HttpStatus.OK);
} }
@ -48,7 +48,7 @@ public class EntranceServiceImpl implements EntranceService {
@Override @Override
public ResponseEntity<Page<EntranceDTO>> getAllEntrances(Pageable pageable) { public ResponseEntity<Page<EntranceDTO>> getAllEntrances(Pageable pageable) {
List<Entrance> entrances = entranceRepository.findAll(); 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()); Page<EntranceDTO> page = new PageImpl<>(entrancesdto, pageable, entrances.size());
return new ResponseEntity<>(page, HttpStatus.OK); return new ResponseEntity<>(page, HttpStatus.OK);
@ -59,7 +59,7 @@ public class EntranceServiceImpl implements EntranceService {
Employee e = employeeRepository.findByLogin(login); Employee e = employeeRepository.findByLogin(login);
if(e != null) { if(e != null) {
List<Entrance> entrances = e.getEntrances(); 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()); 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 org.springframework.test.web.servlet.MockMvc;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic; 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.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@ -38,6 +38,86 @@ class EmployeeControllerTests {
.andExpect(status().isUnauthorized()); .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());
}
} }