Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,12 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Import;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

@SpringBootApplication
@EnableScheduling
@Import(RequestExpiresVerification.class)
public class Application {

public static void main(String[] args) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ public void setCourseService(CourseService courseService) {
this.courseService = courseService;
}

@Autowired
public void setDepartmentRepository(DepartmentRepository departmentRepository) {
this.departmentRepository = departmentRepository;
}

@Override
public Department create(UUID campusId, DepartmentCreateDto departmentCreateDto) {
Campus campus = campusService.findById(campusId);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.campus;

import br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.city.City;
import br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.common.enums.EntityStatus;

public class CampusFactoryUtils {
public static Campus sampleCampus(City city) {
Expand All @@ -20,4 +21,43 @@ public static Campus sampleCampus(City city) {

return new Campus(name, abbreviation, initialRegistrationPattern, address, internshipSector);
}

public static Campus sampleCampusEnabled(City city) {
String name = "Test Campus";
String abbreviation = "TCS";
String initialRegistrationPattern = "SP";
String postalCode = "123456";
String street = "Test Street";
String neighborhood = "Test Neighborhood";
String number = "123456";
String complement = "Test Complement";
Address address = new Address(postalCode, street, neighborhood, number, complement, city);
String telephone = "1234-5678";
String email = "testcampus@email.com";
String website = "https://testcampus.com";
InternshipSector internshipSector = new InternshipSector(telephone, email, website);

return new Campus(name, abbreviation, initialRegistrationPattern, address, internshipSector);
}

public static Campus sampleCampusDisabled(City city) {
String name = "Test Campus";
String abbreviation = "TCS";
String initialRegistrationPattern = "SP";
String postalCode = "123456";
String street = "Test Street";
String neighborhood = "Test Neighborhood";
String number = "123456";
String complement = "Test Complement";
Address address = new Address(postalCode, street, neighborhood, number, complement, city);
String telephone = "1234-5678";
String email = "testcampus@email.com";
String website = "https://testcampus.com";
InternshipSector internshipSector = new InternshipSector(telephone, email, website);

Campus campusDisabled = new Campus(name, abbreviation, initialRegistrationPattern, address, internshipSector);
campusDisabled.setStatus(EntityStatus.DISABLED);

return campusDisabled;
}
}
Original file line number Diff line number Diff line change
@@ -1,50 +1,126 @@
//package br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.campus;
//
//import br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.city.City;
//import br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.city.CityFactoryUtils;
//import br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.state.State;
//import br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.state.StateFactoryUtils;
//import org.junit.jupiter.api.BeforeEach;
//import org.junit.jupiter.api.Test;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
//import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
//
//import static org.assertj.core.api.Assertions.assertThat;
//
//@DataJpaTest
//public class CampusRepositoryTest {
// @Autowired
// private TestEntityManager entityManager;
// @Autowired
// private CampusRepository campusRepository;
//
// private Campus campus;
//
// @BeforeEach
// public void setUp() {
// State state = entityManager.persistAndFlush(StateFactoryUtils.sampleState());
// City city = entityManager.persistAndFlush(CityFactoryUtils.sampleCity(state));
// campus = CampusFactoryUtils.sampleCampus(city);
// }
//
// @Test
// public void saveNewCampus() {
// campusRepository.save(campus);
// Campus campusFound = entityManager.find(Campus.class, campus.getId());
//
// assertThat(campusFound).isNotNull();
// assertThat(campusFound.getId()).isEqualTo(campus.getId());
// assertThat(campusFound.getName()).isEqualTo(campus.getName());
// assertThat(campusFound.getAbbreviation()).isEqualTo(campus.getAbbreviation());
// assertThat(campusFound.getAddress().getPostalCode()).isEqualTo(campus.getAddress().getPostalCode());
// assertThat(campusFound.getAddress().getStreet()).isEqualTo(campus.getAddress().getStreet());
// assertThat(campusFound.getAddress().getNeighborhood()).isEqualTo(campus.getAddress().getNeighborhood());
// assertThat(campusFound.getAddress().getCity()).isEqualTo(campus.getAddress().getCity());
// assertThat(campusFound.getAddress().getNumber()).isEqualTo(campus.getAddress().getNumber());
// assertThat(campusFound.getAddress().getComplement()).isEqualTo(campus.getAddress().getComplement());
// assertThat(campusFound.getInternshipSector().getTelephone()).isEqualTo(campus.getInternshipSector().getTelephone());
// assertThat(campusFound.getInternshipSector().getEmail()).isEqualTo(campus.getInternshipSector().getEmail());
// assertThat(campusFound.getInternshipSector().getWebsite()).isEqualTo(campus.getInternshipSector().getWebsite());
// }
//}
package br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.campus;

import br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.city.City;
import br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.city.CityFactoryUtils;
import br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.common.enums.EntityStatus;
import br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.state.State;
import br.edu.ifsp.ifspcodelab.gestaoestagiosbackend.state.StateFactoryUtils;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import java.util.List;

import static org.assertj.core.api.Assertions.assertThat;

@DataJpaTest
public class CampusRepositoryTest {
@Autowired
private TestEntityManager entityManager;
@Autowired
private CampusRepository campusRepository;
private City city;

@BeforeEach
public void setUp() {
State state = entityManager.persistAndFlush(StateFactoryUtils.sampleState());
city = entityManager.persistAndFlush(CityFactoryUtils.sampleCity(state));
}

@Test
public void saveNewCampus() {
Campus campus = CampusFactoryUtils.sampleCampus(city);

campusRepository.save(campus);
Campus campusFound = entityManager.find(Campus.class, campus.getId());

assertThat(campusFound).isNotNull();
assertThat(campusFound.getId()).isEqualTo(campus.getId());
assertThat(campusFound.getName()).isEqualTo(campus.getName());
assertThat(campusFound.getAbbreviation()).isEqualTo(campus.getAbbreviation());
assertThat(campusFound.getAddress().getPostalCode()).isEqualTo(campus.getAddress().getPostalCode());
assertThat(campusFound.getAddress().getStreet()).isEqualTo(campus.getAddress().getStreet());
assertThat(campusFound.getAddress().getNeighborhood()).isEqualTo(campus.getAddress().getNeighborhood());
assertThat(campusFound.getAddress().getCity()).isEqualTo(campus.getAddress().getCity());
assertThat(campusFound.getAddress().getNumber()).isEqualTo(campus.getAddress().getNumber());
assertThat(campusFound.getAddress().getComplement()).isEqualTo(campus.getAddress().getComplement());
assertThat(campusFound.getInternshipSector().getTelephone()).isEqualTo(campus.getInternshipSector().getTelephone());
assertThat(campusFound.getInternshipSector().getEmail()).isEqualTo(campus.getInternshipSector().getEmail());
assertThat(campusFound.getInternshipSector().getWebsite()).isEqualTo(campus.getInternshipSector().getWebsite());
}

@Test
public void findAllByStatusShouldReturnOnlyEnabledCampusesWhenSpecifiedStatusIsEnabled() {
Campus campusEnabled = CampusFactoryUtils.sampleCampus(city);
Campus campusEnabled2 = CampusFactoryUtils.sampleCampus(city);
Campus campusDisabled = CampusFactoryUtils.sampleCampusDisabled(city);
entityManager.persistAndFlush(campusEnabled);
entityManager.persistAndFlush(campusEnabled2);
entityManager.persistAndFlush(campusDisabled);

List<Campus> campuses = campusRepository.findAllByStatus(EntityStatus.ENABLED);

assertThat(campuses)
.hasSize(2)
.extracting(Campus::getId)
.containsExactlyInAnyOrder(campusEnabled.getId(), campusEnabled2.getId());
}

@Test
public void findAllByStatusShouldReturnEmptyListWhenThereIsNotCampusWithEnabledStatus() {
Campus campusDisabled = CampusFactoryUtils.sampleCampusDisabled(city);
entityManager.persistAndFlush(campusDisabled);

List<Campus> campuses = campusRepository.findAllByStatus(EntityStatus.ENABLED);

assertThat(campuses).isEmpty();
}

@Test
public void findAllByStatusShouldReturnOnlyDisabledCampusesWhenSpecifiedStatusIsDisabled() {
Campus campusDisabled = CampusFactoryUtils.sampleCampusDisabled(city);
Campus campusDisabled2 = CampusFactoryUtils.sampleCampusDisabled(city);
Campus campusEnabled = CampusFactoryUtils.sampleCampus(city);
entityManager.persistAndFlush(campusDisabled);
entityManager.persistAndFlush(campusDisabled2);
entityManager.persistAndFlush(campusEnabled);

List<Campus> campuses = campusRepository.findAllByStatus(EntityStatus.DISABLED);

assertThat(campuses)
.hasSize(2)
.extracting(Campus::getId)
.containsExactlyInAnyOrder(campusDisabled.getId(), campusDisabled2.getId());
}

@Test
public void findAllByStatusShouldReturnEmptyListWhenThereIsNotCampusWithDisabledStatus() {
Campus campusEnabled = CampusFactoryUtils.sampleCampus(city);
entityManager.persistAndFlush(campusEnabled);

List<Campus> campuses = campusRepository.findAllByStatus(EntityStatus.DISABLED);

assertThat(campuses).isEmpty();
}

@Test
public void existsByAbbreviationShouldReturnTrueWhenThereIsCampusWithSpecifiedAbbreviation() {
Campus campus = CampusFactoryUtils.sampleCampus(city);
entityManager.persistAndFlush(campus);

boolean result = campusRepository.existsByAbbreviation("TCS");

assertThat(result).isTrue();
}

@Test
public void existsByAbbreviationShouldReturnFalseWhenThereIsNotCampusWithSpecifiedAbbreviation() {
Campus campus = CampusFactoryUtils.sampleCampus(city);
entityManager.persistAndFlush(campus);

boolean result = campusRepository.existsByAbbreviation("SPO");

assertThat(result).isFalse();
}
}
Loading