working on competency api
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package org.zaine.app.controller;
|
||||
|
||||
import java.util.List;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.zaine.app.model.Competencies;
|
||||
import org.zaine.app.service.CompetenciesService;
|
||||
|
||||
@RestController
|
||||
public class CompetenciesController {
|
||||
|
||||
@Autowired
|
||||
private CompetenciesService competenciesService;
|
||||
|
||||
@GetMapping("/competencies/items")
|
||||
public List<Competencies> getAllCompetencies() {
|
||||
|
||||
return competenciesService.getAllCompetencies();
|
||||
}
|
||||
|
||||
@GetMapping("/competencies/item/{id}")
|
||||
public Competencies getCompetencyById(@PathVariable Long id) {
|
||||
return competenciesService.getCompetencyById(id);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/competencies/items/{id}/state")
|
||||
public void updateCompetencyState(@RequestParam Long id, @RequestParam String newState) {
|
||||
Long compId = id;
|
||||
String state = newState;
|
||||
|
||||
//competenciesService.updateCompetencyState(id, newState);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
64
src/main/java/org/zaine/app/model/Competencies.java
Normal file
64
src/main/java/org/zaine/app/model/Competencies.java
Normal file
@@ -0,0 +1,64 @@
|
||||
package org.zaine.app.model;
|
||||
|
||||
import java.time.Instant;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
|
||||
@Entity
|
||||
@Table(name = "competencies")
|
||||
public class Competencies {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(name="id")
|
||||
private Long id;
|
||||
|
||||
@Column(name="title")
|
||||
private String title;
|
||||
|
||||
@Column(name="state")
|
||||
private String state;
|
||||
|
||||
@Column(name="created_at")
|
||||
private Instant createdAt;
|
||||
|
||||
@Column(name="group")
|
||||
private String group;
|
||||
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getState() {
|
||||
return state;
|
||||
}
|
||||
|
||||
public void setState(String state) {
|
||||
this.state = state;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public String getGroup() {
|
||||
return group;
|
||||
}
|
||||
|
||||
public void setGroup(String group) {
|
||||
this.group = group;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package org.zaine.app.repositories;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.zaine.app.model.Competencies;
|
||||
|
||||
|
||||
public interface CompetenciesRepository extends JpaRepository<Competencies, Long> {
|
||||
|
||||
}
|
||||
38
src/main/java/org/zaine/app/service/CompetenciesService.java
Normal file
38
src/main/java/org/zaine/app/service/CompetenciesService.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package org.zaine.app.service;
|
||||
|
||||
import java.lang.System.Logger;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.zaine.app.model.Competencies;
|
||||
import org.zaine.app.repositories.CompetenciesRepository;
|
||||
|
||||
@Service
|
||||
public class CompetenciesService {
|
||||
|
||||
private static final Logger logger = System.getLogger(CompetenciesService.class.getName());
|
||||
|
||||
private final CompetenciesRepository competenciesRepository;
|
||||
|
||||
public CompetenciesService(CompetenciesRepository competenciesRepository) {
|
||||
this.competenciesRepository = competenciesRepository;
|
||||
}
|
||||
|
||||
public List<Competencies> getAllCompetencies() {
|
||||
return competenciesRepository.findAll();
|
||||
|
||||
}
|
||||
|
||||
public Competencies getCompetencyById(Long id) {
|
||||
// Log the method entry
|
||||
|
||||
logger.log(System.Logger.Level.INFO, "Entering getCompetencyById with id: " + id);
|
||||
|
||||
return competenciesRepository.findById(id).get();
|
||||
}
|
||||
|
||||
|
||||
public void updateCompetencyState(Long id, String newState) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package org.zaine.app.service;
|
||||
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.zaine.app.repositories.CompetenciesRepository;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import org.zaine.app.model.Competencies;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.Optional;
|
||||
|
||||
@ExtendWith(org.mockito.junit.jupiter.MockitoExtension.class)
|
||||
public class CompetenciesServiceTest {
|
||||
|
||||
@InjectMocks
|
||||
private CompetenciesService competenciesService;
|
||||
|
||||
@Mock
|
||||
private CompetenciesRepository competenciesRepository;
|
||||
|
||||
@Test
|
||||
public void testGetAllCompetencies() {
|
||||
Competencies comp1 = new Competencies();
|
||||
comp1.setTitle("Competency 1");
|
||||
Competencies comp2 = new Competencies();
|
||||
comp2.setTitle("Competency 2");
|
||||
when(competenciesRepository.findAll()).thenReturn(Arrays.asList(comp1, comp2));
|
||||
|
||||
java.util.List<Competencies> result = competenciesService.getAllCompetencies();
|
||||
assertEquals(2, result.size());
|
||||
assertSame(comp1, result.get(0));
|
||||
assertSame(comp2, result.get(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetCompetencyByIdReturnsCompetency() {
|
||||
Competencies comp = new Competencies();
|
||||
@NotNull Long id = comp.getId();
|
||||
when(competenciesRepository.findById(id)).thenReturn(Optional.of(comp));
|
||||
|
||||
|
||||
Competencies result = competenciesService.getCompetencyById(id);
|
||||
assertSame(comp, result);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user