Creare un servizio REST insert-job-position che permette l'inserimento di una job position.
Tutti i campi devono essere riempiti, tranne lo status che di default deve essere settato a "New" al momento della crezione.
Se mancano dei campi il servizio restituisce 400.
Ci devono essere almeno due Skills, se le skills non sono presenti nel database vengono create nell'apposita tabella.
Le skills sono accompagnare da un livello, sempre.
L'associazione Skill-JobPosition deve essere salvata nella tabella SkillLevel dove viene salvato anche il level per ciascuna skill.
Creare un servizio REST update-job-position-status che permette di cambiare lo stato di una JobPosition, il servizio prende in input l'id della JobPosition e il nome dello Status.
Il nome dello status deve essere quello previsto dalle insert sql che abbiamo fatto:
INSERT INTO job_position_status (name, is_active) VALUES ('New', true);
INSERT INTO job_position_status (name, is_active) VALUES ('Closed', true);
INSERT INTO job_position_status (name, is_active) VALUES ('Urgent', true);
Se il nome dello Status non esiste il servizio ritorna 404, altrimenti fa l'update.
Creare il servizio REST delete-job-position che preso in input l'id di una JobPosition setta il flag is_active a FALSE.
Se la JobPosition non esiste il servizio ritorna 404.
Se la JobPosition esiste ma ha già il flag is_active a FALSE il servizio non fa nessuna operazione e ritorna 200.
Acceptance Criteria
Usare il framework Spring MVC.
Usare il framework SpringData.
Utilizzare i concetti ed i costrutti di Functional programming.
Realizzare:
un caso di test in cui la JobPosition ha solo skills presenti nel database
un caso di test in cui la JobPosition ha una skill presente nel database e una no
un caso di test in cui alcuni campi sono vuoti o null (deve fallire)
Realizzare i casi di test positivi e negativi per i servizi di update e delete.
Creare un servizio REST insert-job-position che permette l'inserimento di una job position. Tutti i campi devono essere riempiti, tranne lo status che di default deve essere settato a "New" al momento della crezione. Se mancano dei campi il servizio restituisce 400. Ci devono essere almeno due Skills, se le skills non sono presenti nel database vengono create nell'apposita tabella. Le skills sono accompagnare da un livello, sempre. L'associazione Skill-JobPosition deve essere salvata nella tabella SkillLevel dove viene salvato anche il level per ciascuna skill.
Creare un servizio REST update-job-position-status che permette di cambiare lo stato di una JobPosition, il servizio prende in input l'id della JobPosition e il nome dello Status. Il nome dello status deve essere quello previsto dalle insert sql che abbiamo fatto:
Se il nome dello Status non esiste il servizio ritorna 404, altrimenti fa l'update.
Creare il servizio REST delete-job-position che preso in input l'id di una JobPosition setta il flag is_active a FALSE. Se la JobPosition non esiste il servizio ritorna 404. Se la JobPosition esiste ma ha già il flag is_active a FALSE il servizio non fa nessuna operazione e ritorna 200.
Acceptance Criteria Usare il framework Spring MVC. Usare il framework SpringData. Utilizzare i concetti ed i costrutti di Functional programming. Realizzare:
Realizzare i casi di test positivi e negativi per i servizi di update e delete.