diff --git a/.jhipster/RegisterRequest.json b/.jhipster/RegisterRequest.json new file mode 100644 index 0000000..35419db --- /dev/null +++ b/.jhipster/RegisterRequest.json @@ -0,0 +1,121 @@ +{ + "name": "RegisterRequest", + "fields": [ + { + "fieldName": "firstName", + "fieldType": "String", + "javadoc": "The firstname attribute.", + "fieldValidateRules": [ + "required" + ] + }, + { + "fieldName": "lastName", + "fieldType": "String", + "fieldValidateRules": [ + "required" + ] + }, + { + "fieldName": "email", + "fieldType": "String", + "fieldValidateRules": [ + "unique" + ] + }, + { + "fieldName": "reEnrollment", + "fieldType": "Boolean" + }, + { + "fieldName": "phoneNumber", + "fieldType": "String" + }, + { + "fieldName": "whatsapp", + "fieldType": "String" + }, + { + "fieldName": "cellNumber", + "fieldType": "String" + }, + { + "fieldName": "emergencyNumber", + "fieldType": "String" + }, + { + "fieldName": "address", + "fieldType": "String", + "fieldValidateRules": [ + "required" + ] + }, + { + "fieldName": "workPlace", + "fieldType": "String", + "fieldValidateRules": [ + "required" + ] + }, + { + "fieldName": "workPhoneNumber", + "fieldType": "String", + "fieldValidateRules": [ + "required" + ] + }, + { + "fieldName": "acceptPaymnetDate", + "fieldType": "Boolean", + "fieldValidateRules": [ + "required" + ] + }, + { + "fieldName": "attendMeetings", + "fieldType": "Boolean", + "fieldValidateRules": [ + "required" + ] + }, + { + "fieldName": "paidOnTime", + "fieldType": "Boolean", + "fieldValidateRules": [ + "required" + ] + }, + { + "fieldName": "suggestion", + "fieldType": "String" + }, + { + "fieldName": "createDate", + "fieldType": "Instant", + "fieldValidateRules": [ + "required" + ] + }, + { + "fieldName": "status", + "fieldType": "ResquestStatus", + "fieldValues": "SUBMIT,CANCELLED,ENROLL_PROCESS,PROCESS,FINSHED", + "fieldValidateRules": [ + "required" + ] + } + ], + "relationships": [], + "changelogDate": "20200814034355", + "javadoc": "The Student entity.", + "entityTableName": "register_request", + "dto": "mapstruct", + "pagination": "no", + "service": "serviceImpl", + "jpaMetamodelFiltering": false, + "fluentMethods": true, + "readOnly": false, + "embedded": false, + "clientRootFolder": "", + "applications": "*" +} diff --git a/registerrequest.jh b/registerrequest.jh new file mode 100644 index 0000000..2c22434 --- /dev/null +++ b/registerrequest.jh @@ -0,0 +1,51 @@ + +/** + * Task entity. + * @author The JHipster team. + */ + +enum ResquestStatus { + SUBMIT, CANCELLED, ENROLL_PROCESS, PROCESS, FINSHED +} + +/** + * The Student entity. + */ +entity RegisterRequest { + /** + * The firstname attribute. + */ + firstName String required + lastName String required + email String unique + reEnrollment Boolean + phoneNumber String + whatsapp String + cellNumber String + emergencyNumber String + address String required + workPlace String required + workPhoneNumber String required + acceptPaymnetDate Boolean required + attendMeetings Boolean required + paidOnTime Boolean required + suggestion String + createDate Instant + createDate Instant required + status ResquestStatus required +} + +// Set pagination options + +// paginate JobHistory, Employee with infinite-scroll +// paginate Job with pagination + +// Use Data Transfert Objects (DTO) +dto RegisterRequest with mapstruct +// dto * with mapstruct + +// Set service options to all except few +service all with serviceImpl + +// Set an angular suffix +// angularSuffix * with mySuffix diff --git a/src/main/java/com/losrosantes/registerrequest/domain/RegisterRequest.java b/src/main/java/com/losrosantes/registerrequest/domain/RegisterRequest.java new file mode 100644 index 0000000..32554e8 --- /dev/null +++ b/src/main/java/com/losrosantes/registerrequest/domain/RegisterRequest.java @@ -0,0 +1,362 @@ +package com.losrosantes.registerrequest.domain; + + +import javax.persistence.*; +import javax.validation.constraints.*; + +import java.io.Serializable; +import java.time.Instant; + +import com.losrosantes.registerrequest.domain.enumeration.ResquestStatus; + +/** + * The Student entity. + */ +@Entity +@Table(name = "register_request") +public class RegisterRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * The firstname attribute. + */ + @NotNull + @Column(name = "first_name", nullable = false) + private String firstName; + + @NotNull + @Column(name = "last_name", nullable = false) + private String lastName; + + + @Column(name = "email", unique = true) + private String email; + + @Column(name = "re_enrollment") + private Boolean reEnrollment; + + @Column(name = "phone_number") + private String phoneNumber; + + @Column(name = "whatsapp") + private String whatsapp; + + @Column(name = "cell_number") + private String cellNumber; + + @Column(name = "emergency_number") + private String emergencyNumber; + + @NotNull + @Column(name = "address", nullable = false) + private String address; + + @NotNull + @Column(name = "work_place", nullable = false) + private String workPlace; + + @NotNull + @Column(name = "work_phone_number", nullable = false) + private String workPhoneNumber; + + @NotNull + @Column(name = "accept_paymnet_date", nullable = false) + private Boolean acceptPaymnetDate; + + @NotNull + @Column(name = "attend_meetings", nullable = false) + private Boolean attendMeetings; + + @NotNull + @Column(name = "paid_on_time", nullable = false) + private Boolean paidOnTime; + + @Column(name = "suggestion") + private String suggestion; + + @NotNull + @Column(name = "create_date", nullable = false) + private Instant createDate; + + @NotNull + @Enumerated(EnumType.STRING) + @Column(name = "status", nullable = false) + private ResquestStatus status; + + // jhipster-needle-entity-add-field - JHipster will add fields here + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFirstName() { + return firstName; + } + + public RegisterRequest firstName(String firstName) { + this.firstName = firstName; + return this; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public RegisterRequest lastName(String lastName) { + this.lastName = lastName; + return this; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getEmail() { + return email; + } + + public RegisterRequest email(String email) { + this.email = email; + return this; + } + + public void setEmail(String email) { + this.email = email; + } + + public Boolean isReEnrollment() { + return reEnrollment; + } + + public RegisterRequest reEnrollment(Boolean reEnrollment) { + this.reEnrollment = reEnrollment; + return this; + } + + public void setReEnrollment(Boolean reEnrollment) { + this.reEnrollment = reEnrollment; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public RegisterRequest phoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + return this; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getWhatsapp() { + return whatsapp; + } + + public RegisterRequest whatsapp(String whatsapp) { + this.whatsapp = whatsapp; + return this; + } + + public void setWhatsapp(String whatsapp) { + this.whatsapp = whatsapp; + } + + public String getCellNumber() { + return cellNumber; + } + + public RegisterRequest cellNumber(String cellNumber) { + this.cellNumber = cellNumber; + return this; + } + + public void setCellNumber(String cellNumber) { + this.cellNumber = cellNumber; + } + + public String getEmergencyNumber() { + return emergencyNumber; + } + + public RegisterRequest emergencyNumber(String emergencyNumber) { + this.emergencyNumber = emergencyNumber; + return this; + } + + public void setEmergencyNumber(String emergencyNumber) { + this.emergencyNumber = emergencyNumber; + } + + public String getAddress() { + return address; + } + + public RegisterRequest address(String address) { + this.address = address; + return this; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getWorkPlace() { + return workPlace; + } + + public RegisterRequest workPlace(String workPlace) { + this.workPlace = workPlace; + return this; + } + + public void setWorkPlace(String workPlace) { + this.workPlace = workPlace; + } + + public String getWorkPhoneNumber() { + return workPhoneNumber; + } + + public RegisterRequest workPhoneNumber(String workPhoneNumber) { + this.workPhoneNumber = workPhoneNumber; + return this; + } + + public void setWorkPhoneNumber(String workPhoneNumber) { + this.workPhoneNumber = workPhoneNumber; + } + + public Boolean isAcceptPaymnetDate() { + return acceptPaymnetDate; + } + + public RegisterRequest acceptPaymnetDate(Boolean acceptPaymnetDate) { + this.acceptPaymnetDate = acceptPaymnetDate; + return this; + } + + public void setAcceptPaymnetDate(Boolean acceptPaymnetDate) { + this.acceptPaymnetDate = acceptPaymnetDate; + } + + public Boolean isAttendMeetings() { + return attendMeetings; + } + + public RegisterRequest attendMeetings(Boolean attendMeetings) { + this.attendMeetings = attendMeetings; + return this; + } + + public void setAttendMeetings(Boolean attendMeetings) { + this.attendMeetings = attendMeetings; + } + + public Boolean isPaidOnTime() { + return paidOnTime; + } + + public RegisterRequest paidOnTime(Boolean paidOnTime) { + this.paidOnTime = paidOnTime; + return this; + } + + public void setPaidOnTime(Boolean paidOnTime) { + this.paidOnTime = paidOnTime; + } + + public String getSuggestion() { + return suggestion; + } + + public RegisterRequest suggestion(String suggestion) { + this.suggestion = suggestion; + return this; + } + + public void setSuggestion(String suggestion) { + this.suggestion = suggestion; + } + + public Instant getCreateDate() { + return createDate; + } + + public RegisterRequest createDate(Instant createDate) { + this.createDate = createDate; + return this; + } + + public void setCreateDate(Instant createDate) { + this.createDate = createDate; + } + + public ResquestStatus getStatus() { + return status; + } + + public RegisterRequest status(ResquestStatus status) { + this.status = status; + return this; + } + + public void setStatus(ResquestStatus status) { + this.status = status; + } + // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof RegisterRequest)) { + return false; + } + return id != null && id.equals(((RegisterRequest) o).id); + } + + @Override + public int hashCode() { + return 31; + } + + // prettier-ignore + @Override + public String toString() { + return "RegisterRequest{" + + "id=" + getId() + + ", firstName='" + getFirstName() + "'" + + ", lastName='" + getLastName() + "'" + + ", email='" + getEmail() + "'" + + ", reEnrollment='" + isReEnrollment() + "'" + + ", phoneNumber='" + getPhoneNumber() + "'" + + ", whatsapp='" + getWhatsapp() + "'" + + ", cellNumber='" + getCellNumber() + "'" + + ", emergencyNumber='" + getEmergencyNumber() + "'" + + ", address='" + getAddress() + "'" + + ", workPlace='" + getWorkPlace() + "'" + + ", workPhoneNumber='" + getWorkPhoneNumber() + "'" + + ", acceptPaymnetDate='" + isAcceptPaymnetDate() + "'" + + ", attendMeetings='" + isAttendMeetings() + "'" + + ", paidOnTime='" + isPaidOnTime() + "'" + + ", suggestion='" + getSuggestion() + "'" + + ", createDate='" + getCreateDate() + "'" + + ", status='" + getStatus() + "'" + + "}"; + } +} diff --git a/src/main/java/com/losrosantes/registerrequest/domain/enumeration/ResquestStatus.java b/src/main/java/com/losrosantes/registerrequest/domain/enumeration/ResquestStatus.java new file mode 100644 index 0000000..6c3bef5 --- /dev/null +++ b/src/main/java/com/losrosantes/registerrequest/domain/enumeration/ResquestStatus.java @@ -0,0 +1,8 @@ +package com.losrosantes.registerrequest.domain.enumeration; + +/** + * The ResquestStatus enumeration. + */ +public enum ResquestStatus { + SUBMIT, CANCELLED, ENROLL_PROCESS, PROCESS, FINSHED +} diff --git a/src/main/java/com/losrosantes/registerrequest/repository/RegisterRequestRepository.java b/src/main/java/com/losrosantes/registerrequest/repository/RegisterRequestRepository.java new file mode 100644 index 0000000..b0ecc35 --- /dev/null +++ b/src/main/java/com/losrosantes/registerrequest/repository/RegisterRequestRepository.java @@ -0,0 +1,14 @@ +package com.losrosantes.registerrequest.repository; + +import com.losrosantes.registerrequest.domain.RegisterRequest; + +import org.springframework.data.jpa.repository.*; +import org.springframework.stereotype.Repository; + +/** + * Spring Data repository for the RegisterRequest entity. + */ +@SuppressWarnings("unused") +@Repository +public interface RegisterRequestRepository extends JpaRepository { +} diff --git a/src/main/java/com/losrosantes/registerrequest/service/RegisterRequestService.java b/src/main/java/com/losrosantes/registerrequest/service/RegisterRequestService.java new file mode 100644 index 0000000..956d3d4 --- /dev/null +++ b/src/main/java/com/losrosantes/registerrequest/service/RegisterRequestService.java @@ -0,0 +1,43 @@ +package com.losrosantes.registerrequest.service; + +import com.losrosantes.registerrequest.service.dto.RegisterRequestDTO; + +import java.util.List; +import java.util.Optional; + +/** + * Service Interface for managing {@link com.losrosantes.registerrequest.domain.RegisterRequest}. + */ +public interface RegisterRequestService { + + /** + * Save a registerRequest. + * + * @param registerRequestDTO the entity to save. + * @return the persisted entity. + */ + RegisterRequestDTO save(RegisterRequestDTO registerRequestDTO); + + /** + * Get all the registerRequests. + * + * @return the list of entities. + */ + List findAll(); + + + /** + * Get the "id" registerRequest. + * + * @param id the id of the entity. + * @return the entity. + */ + Optional findOne(Long id); + + /** + * Delete the "id" registerRequest. + * + * @param id the id of the entity. + */ + void delete(Long id); +} diff --git a/src/main/java/com/losrosantes/registerrequest/service/dto/RegisterRequestDTO.java b/src/main/java/com/losrosantes/registerrequest/service/dto/RegisterRequestDTO.java new file mode 100644 index 0000000..fea9889 --- /dev/null +++ b/src/main/java/com/losrosantes/registerrequest/service/dto/RegisterRequestDTO.java @@ -0,0 +1,253 @@ +package com.losrosantes.registerrequest.service.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.time.Instant; +import javax.validation.constraints.*; +import java.io.Serializable; +import com.losrosantes.registerrequest.domain.enumeration.ResquestStatus; + +/** + * A DTO for the {@link com.losrosantes.registerrequest.domain.RegisterRequest} entity. + */ +@ApiModel(description = "The Student entity.") +public class RegisterRequestDTO implements Serializable { + + private Long id; + + /** + * The firstname attribute. + */ + @NotNull + @ApiModelProperty(value = "The firstname attribute.", required = true) + private String firstName; + + @NotNull + private String lastName; + + + private String email; + + private Boolean reEnrollment; + + private String phoneNumber; + + private String whatsapp; + + private String cellNumber; + + private String emergencyNumber; + + @NotNull + private String address; + + @NotNull + private String workPlace; + + @NotNull + private String workPhoneNumber; + + @NotNull + private Boolean acceptPaymnetDate; + + @NotNull + private Boolean attendMeetings; + + @NotNull + private Boolean paidOnTime; + + private String suggestion; + + @NotNull + private Instant createDate; + + @NotNull + private ResquestStatus status; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Boolean isReEnrollment() { + return reEnrollment; + } + + public void setReEnrollment(Boolean reEnrollment) { + this.reEnrollment = reEnrollment; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getWhatsapp() { + return whatsapp; + } + + public void setWhatsapp(String whatsapp) { + this.whatsapp = whatsapp; + } + + public String getCellNumber() { + return cellNumber; + } + + public void setCellNumber(String cellNumber) { + this.cellNumber = cellNumber; + } + + public String getEmergencyNumber() { + return emergencyNumber; + } + + public void setEmergencyNumber(String emergencyNumber) { + this.emergencyNumber = emergencyNumber; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getWorkPlace() { + return workPlace; + } + + public void setWorkPlace(String workPlace) { + this.workPlace = workPlace; + } + + public String getWorkPhoneNumber() { + return workPhoneNumber; + } + + public void setWorkPhoneNumber(String workPhoneNumber) { + this.workPhoneNumber = workPhoneNumber; + } + + public Boolean isAcceptPaymnetDate() { + return acceptPaymnetDate; + } + + public void setAcceptPaymnetDate(Boolean acceptPaymnetDate) { + this.acceptPaymnetDate = acceptPaymnetDate; + } + + public Boolean isAttendMeetings() { + return attendMeetings; + } + + public void setAttendMeetings(Boolean attendMeetings) { + this.attendMeetings = attendMeetings; + } + + public Boolean isPaidOnTime() { + return paidOnTime; + } + + public void setPaidOnTime(Boolean paidOnTime) { + this.paidOnTime = paidOnTime; + } + + public String getSuggestion() { + return suggestion; + } + + public void setSuggestion(String suggestion) { + this.suggestion = suggestion; + } + + public Instant getCreateDate() { + return createDate; + } + + public void setCreateDate(Instant createDate) { + this.createDate = createDate; + } + + public ResquestStatus getStatus() { + return status; + } + + public void setStatus(ResquestStatus status) { + this.status = status; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof RegisterRequestDTO)) { + return false; + } + + return id != null && id.equals(((RegisterRequestDTO) o).id); + } + + @Override + public int hashCode() { + return 31; + } + + // prettier-ignore + @Override + public String toString() { + return "RegisterRequestDTO{" + + "id=" + getId() + + ", firstName='" + getFirstName() + "'" + + ", lastName='" + getLastName() + "'" + + ", email='" + getEmail() + "'" + + ", reEnrollment='" + isReEnrollment() + "'" + + ", phoneNumber='" + getPhoneNumber() + "'" + + ", whatsapp='" + getWhatsapp() + "'" + + ", cellNumber='" + getCellNumber() + "'" + + ", emergencyNumber='" + getEmergencyNumber() + "'" + + ", address='" + getAddress() + "'" + + ", workPlace='" + getWorkPlace() + "'" + + ", workPhoneNumber='" + getWorkPhoneNumber() + "'" + + ", acceptPaymnetDate='" + isAcceptPaymnetDate() + "'" + + ", attendMeetings='" + isAttendMeetings() + "'" + + ", paidOnTime='" + isPaidOnTime() + "'" + + ", suggestion='" + getSuggestion() + "'" + + ", createDate='" + getCreateDate() + "'" + + ", status='" + getStatus() + "'" + + "}"; + } +} diff --git a/src/main/java/com/losrosantes/registerrequest/service/impl/RegisterRequestServiceImpl.java b/src/main/java/com/losrosantes/registerrequest/service/impl/RegisterRequestServiceImpl.java new file mode 100644 index 0000000..3d8f500 --- /dev/null +++ b/src/main/java/com/losrosantes/registerrequest/service/impl/RegisterRequestServiceImpl.java @@ -0,0 +1,68 @@ +package com.losrosantes.registerrequest.service.impl; + +import com.losrosantes.registerrequest.service.RegisterRequestService; +import com.losrosantes.registerrequest.domain.RegisterRequest; +import com.losrosantes.registerrequest.repository.RegisterRequestRepository; +import com.losrosantes.registerrequest.service.dto.RegisterRequestDTO; +import com.losrosantes.registerrequest.service.mapper.RegisterRequestMapper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.LinkedList; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +/** + * Service Implementation for managing {@link RegisterRequest}. + */ +@Service +@Transactional +public class RegisterRequestServiceImpl implements RegisterRequestService { + + private final Logger log = LoggerFactory.getLogger(RegisterRequestServiceImpl.class); + + private final RegisterRequestRepository registerRequestRepository; + + private final RegisterRequestMapper registerRequestMapper; + + public RegisterRequestServiceImpl(RegisterRequestRepository registerRequestRepository, RegisterRequestMapper registerRequestMapper) { + this.registerRequestRepository = registerRequestRepository; + this.registerRequestMapper = registerRequestMapper; + } + + @Override + public RegisterRequestDTO save(RegisterRequestDTO registerRequestDTO) { + log.debug("Request to save RegisterRequest : {}", registerRequestDTO); + RegisterRequest registerRequest = registerRequestMapper.toEntity(registerRequestDTO); + registerRequest = registerRequestRepository.save(registerRequest); + return registerRequestMapper.toDto(registerRequest); + } + + @Override + @Transactional(readOnly = true) + public List findAll() { + log.debug("Request to get all RegisterRequests"); + return registerRequestRepository.findAll().stream() + .map(registerRequestMapper::toDto) + .collect(Collectors.toCollection(LinkedList::new)); + } + + + @Override + @Transactional(readOnly = true) + public Optional findOne(Long id) { + log.debug("Request to get RegisterRequest : {}", id); + return registerRequestRepository.findById(id) + .map(registerRequestMapper::toDto); + } + + @Override + public void delete(Long id) { + log.debug("Request to delete RegisterRequest : {}", id); + registerRequestRepository.deleteById(id); + } +} diff --git a/src/main/java/com/losrosantes/registerrequest/service/mapper/EntityMapper.java b/src/main/java/com/losrosantes/registerrequest/service/mapper/EntityMapper.java new file mode 100644 index 0000000..8f98e1c --- /dev/null +++ b/src/main/java/com/losrosantes/registerrequest/service/mapper/EntityMapper.java @@ -0,0 +1,21 @@ +package com.losrosantes.registerrequest.service.mapper; + +import java.util.List; + +/** + * Contract for a generic dto to entity mapper. + * + * @param - DTO type parameter. + * @param - Entity type parameter. + */ + +public interface EntityMapper { + + E toEntity(D dto); + + D toDto(E entity); + + List toEntity(List dtoList); + + List toDto(List entityList); +} diff --git a/src/main/java/com/losrosantes/registerrequest/service/mapper/RegisterRequestMapper.java b/src/main/java/com/losrosantes/registerrequest/service/mapper/RegisterRequestMapper.java new file mode 100644 index 0000000..a035f03 --- /dev/null +++ b/src/main/java/com/losrosantes/registerrequest/service/mapper/RegisterRequestMapper.java @@ -0,0 +1,25 @@ +package com.losrosantes.registerrequest.service.mapper; + + +import com.losrosantes.registerrequest.domain.*; +import com.losrosantes.registerrequest.service.dto.RegisterRequestDTO; + +import org.mapstruct.*; + +/** + * Mapper for the entity {@link RegisterRequest} and its DTO {@link RegisterRequestDTO}. + */ +@Mapper(componentModel = "spring", uses = {}) +public interface RegisterRequestMapper extends EntityMapper { + + + + default RegisterRequest fromId(Long id) { + if (id == null) { + return null; + } + RegisterRequest registerRequest = new RegisterRequest(); + registerRequest.setId(id); + return registerRequest; + } +} diff --git a/src/main/java/com/losrosantes/registerrequest/web/rest/RegisterRequestResource.java b/src/main/java/com/losrosantes/registerrequest/web/rest/RegisterRequestResource.java new file mode 100644 index 0000000..7cf6c5e --- /dev/null +++ b/src/main/java/com/losrosantes/registerrequest/web/rest/RegisterRequestResource.java @@ -0,0 +1,117 @@ +package com.losrosantes.registerrequest.web.rest; + +import com.losrosantes.registerrequest.service.RegisterRequestService; +import com.losrosantes.registerrequest.web.rest.errors.BadRequestAlertException; +import com.losrosantes.registerrequest.service.dto.RegisterRequestDTO; + +import io.github.jhipster.web.util.HeaderUtil; +import io.github.jhipster.web.util.ResponseUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.List; +import java.util.Optional; + +/** + * REST controller for managing {@link com.losrosantes.registerrequest.domain.RegisterRequest}. + */ +@RestController +@RequestMapping("/api") +public class RegisterRequestResource { + + private final Logger log = LoggerFactory.getLogger(RegisterRequestResource.class); + + private static final String ENTITY_NAME = "registerRequest"; + + @Value("${jhipster.clientApp.name}") + private String applicationName; + + private final RegisterRequestService registerRequestService; + + public RegisterRequestResource(RegisterRequestService registerRequestService) { + this.registerRequestService = registerRequestService; + } + + /** + * {@code POST /register-requests} : Create a new registerRequest. + * + * @param registerRequestDTO the registerRequestDTO to create. + * @return the {@link ResponseEntity} with status {@code 201 (Created)} and with body the new registerRequestDTO, or with status {@code 400 (Bad Request)} if the registerRequest has already an ID. + * @throws URISyntaxException if the Location URI syntax is incorrect. + */ + @PostMapping("/register-requests") + public ResponseEntity createRegisterRequest(@Valid @RequestBody RegisterRequestDTO registerRequestDTO) throws URISyntaxException { + log.debug("REST request to save RegisterRequest : {}", registerRequestDTO); + if (registerRequestDTO.getId() != null) { + throw new BadRequestAlertException("A new registerRequest cannot already have an ID", ENTITY_NAME, "idexists"); + } + RegisterRequestDTO result = registerRequestService.save(registerRequestDTO); + return ResponseEntity.created(new URI("/api/register-requests/" + result.getId())) + .headers(HeaderUtil.createEntityCreationAlert(applicationName, false, ENTITY_NAME, result.getId().toString())) + .body(result); + } + + /** + * {@code PUT /register-requests} : Updates an existing registerRequest. + * + * @param registerRequestDTO the registerRequestDTO to update. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated registerRequestDTO, + * or with status {@code 400 (Bad Request)} if the registerRequestDTO is not valid, + * or with status {@code 500 (Internal Server Error)} if the registerRequestDTO couldn't be updated. + * @throws URISyntaxException if the Location URI syntax is incorrect. + */ + @PutMapping("/register-requests") + public ResponseEntity updateRegisterRequest(@Valid @RequestBody RegisterRequestDTO registerRequestDTO) throws URISyntaxException { + log.debug("REST request to update RegisterRequest : {}", registerRequestDTO); + if (registerRequestDTO.getId() == null) { + throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); + } + RegisterRequestDTO result = registerRequestService.save(registerRequestDTO); + return ResponseEntity.ok() + .headers(HeaderUtil.createEntityUpdateAlert(applicationName, false, ENTITY_NAME, registerRequestDTO.getId().toString())) + .body(result); + } + + /** + * {@code GET /register-requests} : get all the registerRequests. + * + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and the list of registerRequests in body. + */ + @GetMapping("/register-requests") + public List getAllRegisterRequests() { + log.debug("REST request to get all RegisterRequests"); + return registerRequestService.findAll(); + } + + /** + * {@code GET /register-requests/:id} : get the "id" registerRequest. + * + * @param id the id of the registerRequestDTO to retrieve. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the registerRequestDTO, or with status {@code 404 (Not Found)}. + */ + @GetMapping("/register-requests/{id}") + public ResponseEntity getRegisterRequest(@PathVariable Long id) { + log.debug("REST request to get RegisterRequest : {}", id); + Optional registerRequestDTO = registerRequestService.findOne(id); + return ResponseUtil.wrapOrNotFound(registerRequestDTO); + } + + /** + * {@code DELETE /register-requests/:id} : delete the "id" registerRequest. + * + * @param id the id of the registerRequestDTO to delete. + * @return the {@link ResponseEntity} with status {@code 204 (NO_CONTENT)}. + */ + @DeleteMapping("/register-requests/{id}") + public ResponseEntity deleteRegisterRequest(@PathVariable Long id) { + log.debug("REST request to delete RegisterRequest : {}", id); + registerRequestService.delete(id); + return ResponseEntity.noContent().headers(HeaderUtil.createEntityDeletionAlert(applicationName, false, ENTITY_NAME, id.toString())).build(); + } +} diff --git a/src/main/resources/config/liquibase/changelog/20200814034355_added_entity_RegisterRequest.xml b/src/main/resources/config/liquibase/changelog/20200814034355_added_entity_RegisterRequest.xml new file mode 100644 index 0000000..3e9ebc3 --- /dev/null +++ b/src/main/resources/config/liquibase/changelog/20200814034355_added_entity_RegisterRequest.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/config/liquibase/fake-data/register_request.csv b/src/main/resources/config/liquibase/fake-data/register_request.csv new file mode 100644 index 0000000..da14dcb --- /dev/null +++ b/src/main/resources/config/liquibase/fake-data/register_request.csv @@ -0,0 +1,11 @@ +id;first_name;last_name;email;re_enrollment;phone_number;whatsapp;cell_number;emergency_number;address;work_place;work_phone_number;accept_paymnet_date;attend_meetings;paid_on_time;suggestion;create_date;status +1;Lance;Dibbert;Devante.Auer@hotmail.com;false;sky blue;index;open-source;Executive approach;invoice Berkshire;Savings Account Soft Sleek Wooden Bike;Albania;false;false;false;archive primary purple;2020-08-13T18:41:46;PROCESS +2;Katharina;Wolf;Jared.Robel@gmail.com;true;holistic interactive;Money Market Account;Saudi Arabia Rubber Senior;compress;Oklahoma;application user-facing;fuchsia Outdoors Practical;true;true;true;1080p Bedfordshire;2020-08-13T06:54:03;SUBMIT +3;Cassie;Powlowski;Darwin.Rutherford@gmail.com;false;Music;Avon driver;integrate;dot-com Nuevo Sol Plastic;Colombian Peso Unidad de Valor Real world-class Books;benchmark Buckinghamshire back up;Home Tenge Bedfordshire;true;false;true;Avon communities;2020-08-13T06:14:21;SUBMIT +4;Tressa;Adams;Elmira.Trantow5@yahoo.com;true;Chair withdrawal Implemented;Curve viral incentivize;Auto Loan Account incentivize envisioneer;Cotton protocol;Principal Uzbekistan Sum;Virtual digital Principal;Persevering benchmark;false;true;false;Architect payment;2020-08-13T21:04:33;SUBMIT +5;Billie;Braun;Abner.Rogahn@gmail.com;false;Arizona Tuna 1080p;metrics Northern Mariana Islands;France;incubate wireless Borders;Borders payment;calculating Fish SQL;models compressing incubate;false;true;true;Reverse-engineered Minnesota Incredible;2020-08-13T10:47:34;PROCESS +6;Krystel;Carter;Rhiannon34@gmail.com;false;Consultant Pines;approach zero administration;functionalities;system engine;content;National calculating Progressive;matrices;true;true;true;synthesize;2020-08-13T06:04:15;SUBMIT +7;Summer;Farrell;Rebeka.Sipes15@yahoo.com;true;one-to-one salmon users;models;Keyboard Lebanon Ridge;hacking ivory ADP;Burkina Faso Gorgeous Concrete Keyboard Money Market Account;customized;copying National Buckinghamshire;true;true;true;Sports;2020-08-13T22:59:06;CANCELLED +8;Delia;Kilback;Franz_Gaylord@gmail.com;true;Tasty Granite Bike salmon Uganda Shilling;Sausages Money Market Account;Jewelery;attitude;Port;networks Metal Assistant;Hong Kong Dollar proactive sexy;true;true;true;Handcrafted Cotton Fish Wooden;2020-08-13T23:25:43;FINSHED +9;Milan;Waters;Alfred77@hotmail.com;true;Frozen Congolese Franc;Configuration matrix moderator;Forward mission-critical;indexing Incredible Metal Computer Home Loan Account;hack;magenta Auto Loan Account Table;Investment Account;false;false;true;input Books program;2020-08-13T13:58:08;FINSHED +10;Meghan;Kuhn;Vickie9@hotmail.com;false;Quality-focused;SCSI;Guatemala;United States of America function;Savings Account payment;backing up withdrawal;parallelism;true;false;false;dot-com e-services;2020-08-13T21:29:01;SUBMIT diff --git a/src/main/resources/config/liquibase/master.xml b/src/main/resources/config/liquibase/master.xml index 6b937fe..89c7171 100644 --- a/src/main/resources/config/liquibase/master.xml +++ b/src/main/resources/config/liquibase/master.xml @@ -14,6 +14,7 @@ + diff --git a/src/main/webapp/app/entities/entity.module.ts b/src/main/webapp/app/entities/entity.module.ts index bb3ad1c..bc6858c 100644 --- a/src/main/webapp/app/entities/entity.module.ts +++ b/src/main/webapp/app/entities/entity.module.ts @@ -4,6 +4,10 @@ import { RouterModule } from '@angular/router'; @NgModule({ imports: [ RouterModule.forChild([ + { + path: 'register-request', + loadChildren: () => import('./register-request/register-request.module').then(m => m.RegisterRequestRegisterRequestModule), + }, /* jhipster-needle-add-entity-route - JHipster will add entity modules routes here */ ]), ], diff --git a/src/main/webapp/app/entities/register-request/register-request-delete-dialog.component.html b/src/main/webapp/app/entities/register-request/register-request-delete-dialog.component.html new file mode 100644 index 0000000..e863c14 --- /dev/null +++ b/src/main/webapp/app/entities/register-request/register-request-delete-dialog.component.html @@ -0,0 +1,24 @@ +
+ + + + + +
diff --git a/src/main/webapp/app/entities/register-request/register-request-delete-dialog.component.ts b/src/main/webapp/app/entities/register-request/register-request-delete-dialog.component.ts new file mode 100644 index 0000000..c33792c --- /dev/null +++ b/src/main/webapp/app/entities/register-request/register-request-delete-dialog.component.ts @@ -0,0 +1,30 @@ +import { Component } from '@angular/core'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { JhiEventManager } from 'ng-jhipster'; + +import { IRegisterRequest } from 'app/shared/model/register-request.model'; +import { RegisterRequestService } from './register-request.service'; + +@Component({ + templateUrl: './register-request-delete-dialog.component.html', +}) +export class RegisterRequestDeleteDialogComponent { + registerRequest?: IRegisterRequest; + + constructor( + protected registerRequestService: RegisterRequestService, + public activeModal: NgbActiveModal, + protected eventManager: JhiEventManager + ) {} + + cancel(): void { + this.activeModal.dismiss(); + } + + confirmDelete(id: number): void { + this.registerRequestService.delete(id).subscribe(() => { + this.eventManager.broadcast('registerRequestListModification'); + this.activeModal.close(); + }); + } +} diff --git a/src/main/webapp/app/entities/register-request/register-request-detail.component.html b/src/main/webapp/app/entities/register-request/register-request-detail.component.html new file mode 100644 index 0000000..9de4b71 --- /dev/null +++ b/src/main/webapp/app/entities/register-request/register-request-detail.component.html @@ -0,0 +1,94 @@ +
+
+
+

Register Request {{ registerRequest.id }}

+ +
+ + + +
+
First Name
+
+ {{ registerRequest.firstName }} +
+
Last Name
+
+ {{ registerRequest.lastName }} +
+
Email
+
+ {{ registerRequest.email }} +
+
Re Enrollment
+
+ {{ registerRequest.reEnrollment }} +
+
Phone Number
+
+ {{ registerRequest.phoneNumber }} +
+
Whatsapp
+
+ {{ registerRequest.whatsapp }} +
+
Cell Number
+
+ {{ registerRequest.cellNumber }} +
+
Emergency Number
+
+ {{ registerRequest.emergencyNumber }} +
+
Address
+
+ {{ registerRequest.address }} +
+
Work Place
+
+ {{ registerRequest.workPlace }} +
+
Work Phone Number
+
+ {{ registerRequest.workPhoneNumber }} +
+
Accept Paymnet Date
+
+ {{ registerRequest.acceptPaymnetDate }} +
+
Attend Meetings
+
+ {{ registerRequest.attendMeetings }} +
+
Paid On Time
+
+ {{ registerRequest.paidOnTime }} +
+
Suggestion
+
+ {{ registerRequest.suggestion }} +
+
Create Date
+
+ {{ registerRequest.createDate }} +
+
Status
+
+ {{ registerRequest.status }} +
+
+ + + + +
+
+
diff --git a/src/main/webapp/app/entities/register-request/register-request-detail.component.ts b/src/main/webapp/app/entities/register-request/register-request-detail.component.ts new file mode 100644 index 0000000..a2e1b7a --- /dev/null +++ b/src/main/webapp/app/entities/register-request/register-request-detail.component.ts @@ -0,0 +1,22 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; + +import { IRegisterRequest } from 'app/shared/model/register-request.model'; + +@Component({ + selector: 'jhi-register-request-detail', + templateUrl: './register-request-detail.component.html', +}) +export class RegisterRequestDetailComponent implements OnInit { + registerRequest: IRegisterRequest | null = null; + + constructor(protected activatedRoute: ActivatedRoute) {} + + ngOnInit(): void { + this.activatedRoute.data.subscribe(({ registerRequest }) => (this.registerRequest = registerRequest)); + } + + previousState(): void { + window.history.back(); + } +} diff --git a/src/main/webapp/app/entities/register-request/register-request-update.component.html b/src/main/webapp/app/entities/register-request/register-request-update.component.html new file mode 100644 index 0000000..c6ddb1e --- /dev/null +++ b/src/main/webapp/app/entities/register-request/register-request-update.component.html @@ -0,0 +1,200 @@ +
+
+
+

Create or edit a Register Request

+ +
+ + +
+ + +
+ +
+ + +
+ + This field is required. + +
+
+ +
+ + +
+ + This field is required. + +
+
+ +
+ + +
+
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + This field is required. + +
+
+ +
+ + +
+ + This field is required. + +
+
+ +
+ + +
+ + This field is required. + +
+
+ +
+ + +
+ + This field is required. + +
+
+ +
+ + +
+ + This field is required. + +
+
+ +
+ + +
+ + This field is required. + +
+
+ +
+ + +
+ +
+ +
+ +
+
+ + This field is required. + + + This field should be a date and time. + +
+
+ +
+ + +
+ + This field is required. + +
+
+
+ +
+ + + +
+
+
+
diff --git a/src/main/webapp/app/entities/register-request/register-request-update.component.ts b/src/main/webapp/app/entities/register-request/register-request-update.component.ts new file mode 100644 index 0000000..059fb86 --- /dev/null +++ b/src/main/webapp/app/entities/register-request/register-request-update.component.ts @@ -0,0 +1,134 @@ +import { Component, OnInit } from '@angular/core'; +import { HttpResponse } from '@angular/common/http'; +// eslint-disable-next-line @typescript-eslint/no-unused-vars +import { FormBuilder, Validators } from '@angular/forms'; +import { ActivatedRoute } from '@angular/router'; +import { Observable } from 'rxjs'; +import * as moment from 'moment'; +import { DATE_TIME_FORMAT } from 'app/shared/constants/input.constants'; + +import { IRegisterRequest, RegisterRequest } from 'app/shared/model/register-request.model'; +import { RegisterRequestService } from './register-request.service'; + +@Component({ + selector: 'jhi-register-request-update', + templateUrl: './register-request-update.component.html', +}) +export class RegisterRequestUpdateComponent implements OnInit { + isSaving = false; + + editForm = this.fb.group({ + id: [], + firstName: [null, [Validators.required]], + lastName: [null, [Validators.required]], + email: [null, []], + reEnrollment: [], + phoneNumber: [], + whatsapp: [], + cellNumber: [], + emergencyNumber: [], + address: [null, [Validators.required]], + workPlace: [null, [Validators.required]], + workPhoneNumber: [null, [Validators.required]], + acceptPaymnetDate: [null, [Validators.required]], + attendMeetings: [null, [Validators.required]], + paidOnTime: [null, [Validators.required]], + suggestion: [], + createDate: [null, [Validators.required]], + status: [null, [Validators.required]], + }); + + constructor( + protected registerRequestService: RegisterRequestService, + protected activatedRoute: ActivatedRoute, + private fb: FormBuilder + ) {} + + ngOnInit(): void { + this.activatedRoute.data.subscribe(({ registerRequest }) => { + if (!registerRequest.id) { + const today = moment().startOf('day'); + registerRequest.createDate = today; + } + + this.updateForm(registerRequest); + }); + } + + updateForm(registerRequest: IRegisterRequest): void { + this.editForm.patchValue({ + id: registerRequest.id, + firstName: registerRequest.firstName, + lastName: registerRequest.lastName, + email: registerRequest.email, + reEnrollment: registerRequest.reEnrollment, + phoneNumber: registerRequest.phoneNumber, + whatsapp: registerRequest.whatsapp, + cellNumber: registerRequest.cellNumber, + emergencyNumber: registerRequest.emergencyNumber, + address: registerRequest.address, + workPlace: registerRequest.workPlace, + workPhoneNumber: registerRequest.workPhoneNumber, + acceptPaymnetDate: registerRequest.acceptPaymnetDate, + attendMeetings: registerRequest.attendMeetings, + paidOnTime: registerRequest.paidOnTime, + suggestion: registerRequest.suggestion, + createDate: registerRequest.createDate ? registerRequest.createDate.format(DATE_TIME_FORMAT) : null, + status: registerRequest.status, + }); + } + + previousState(): void { + window.history.back(); + } + + save(): void { + this.isSaving = true; + const registerRequest = this.createFromForm(); + if (registerRequest.id !== undefined) { + this.subscribeToSaveResponse(this.registerRequestService.update(registerRequest)); + } else { + this.subscribeToSaveResponse(this.registerRequestService.create(registerRequest)); + } + } + + private createFromForm(): IRegisterRequest { + return { + ...new RegisterRequest(), + id: this.editForm.get(['id'])!.value, + firstName: this.editForm.get(['firstName'])!.value, + lastName: this.editForm.get(['lastName'])!.value, + email: this.editForm.get(['email'])!.value, + reEnrollment: this.editForm.get(['reEnrollment'])!.value, + phoneNumber: this.editForm.get(['phoneNumber'])!.value, + whatsapp: this.editForm.get(['whatsapp'])!.value, + cellNumber: this.editForm.get(['cellNumber'])!.value, + emergencyNumber: this.editForm.get(['emergencyNumber'])!.value, + address: this.editForm.get(['address'])!.value, + workPlace: this.editForm.get(['workPlace'])!.value, + workPhoneNumber: this.editForm.get(['workPhoneNumber'])!.value, + acceptPaymnetDate: this.editForm.get(['acceptPaymnetDate'])!.value, + attendMeetings: this.editForm.get(['attendMeetings'])!.value, + paidOnTime: this.editForm.get(['paidOnTime'])!.value, + suggestion: this.editForm.get(['suggestion'])!.value, + createDate: this.editForm.get(['createDate'])!.value ? moment(this.editForm.get(['createDate'])!.value, DATE_TIME_FORMAT) : undefined, + status: this.editForm.get(['status'])!.value, + }; + } + + protected subscribeToSaveResponse(result: Observable>): void { + result.subscribe( + () => this.onSaveSuccess(), + () => this.onSaveError() + ); + } + + protected onSaveSuccess(): void { + this.isSaving = false; + this.previousState(); + } + + protected onSaveError(): void { + this.isSaving = false; + } +} diff --git a/src/main/webapp/app/entities/register-request/register-request.component.html b/src/main/webapp/app/entities/register-request/register-request.component.html new file mode 100644 index 0000000..65ce7c4 --- /dev/null +++ b/src/main/webapp/app/entities/register-request/register-request.component.html @@ -0,0 +1,93 @@ +
+

+ Register Requests + + +

+ + + + + +
+ No registerRequests found +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDFirst NameLast NameEmailRe EnrollmentPhone NumberWhatsappCell NumberEmergency NumberAddressWork PlaceWork Phone NumberAccept Paymnet DateAttend MeetingsPaid On TimeSuggestionCreate DateStatus
{{ registerRequest.id }}{{ registerRequest.firstName }}{{ registerRequest.lastName }}{{ registerRequest.email }}{{ registerRequest.reEnrollment }}{{ registerRequest.phoneNumber }}{{ registerRequest.whatsapp }}{{ registerRequest.cellNumber }}{{ registerRequest.emergencyNumber }}{{ registerRequest.address }}{{ registerRequest.workPlace }}{{ registerRequest.workPhoneNumber }}{{ registerRequest.acceptPaymnetDate }}{{ registerRequest.attendMeetings }}{{ registerRequest.paidOnTime }}{{ registerRequest.suggestion }}{{ registerRequest.createDate | date:'medium' }}{{ registerRequest.status }} +
+ + + + + +
+
+
+
diff --git a/src/main/webapp/app/entities/register-request/register-request.component.ts b/src/main/webapp/app/entities/register-request/register-request.component.ts new file mode 100644 index 0000000..bfcf23c --- /dev/null +++ b/src/main/webapp/app/entities/register-request/register-request.component.ts @@ -0,0 +1,53 @@ +import { Component, OnInit, OnDestroy } from '@angular/core'; +import { HttpResponse } from '@angular/common/http'; +import { Subscription } from 'rxjs'; +import { JhiEventManager } from 'ng-jhipster'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; + +import { IRegisterRequest } from 'app/shared/model/register-request.model'; +import { RegisterRequestService } from './register-request.service'; +import { RegisterRequestDeleteDialogComponent } from './register-request-delete-dialog.component'; + +@Component({ + selector: 'jhi-register-request', + templateUrl: './register-request.component.html', +}) +export class RegisterRequestComponent implements OnInit, OnDestroy { + registerRequests?: IRegisterRequest[]; + eventSubscriber?: Subscription; + + constructor( + protected registerRequestService: RegisterRequestService, + protected eventManager: JhiEventManager, + protected modalService: NgbModal + ) {} + + loadAll(): void { + this.registerRequestService.query().subscribe((res: HttpResponse) => (this.registerRequests = res.body || [])); + } + + ngOnInit(): void { + this.loadAll(); + this.registerChangeInRegisterRequests(); + } + + ngOnDestroy(): void { + if (this.eventSubscriber) { + this.eventManager.destroy(this.eventSubscriber); + } + } + + trackId(index: number, item: IRegisterRequest): number { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion + return item.id!; + } + + registerChangeInRegisterRequests(): void { + this.eventSubscriber = this.eventManager.subscribe('registerRequestListModification', () => this.loadAll()); + } + + delete(registerRequest: IRegisterRequest): void { + const modalRef = this.modalService.open(RegisterRequestDeleteDialogComponent, { size: 'lg', backdrop: 'static' }); + modalRef.componentInstance.registerRequest = registerRequest; + } +} diff --git a/src/main/webapp/app/entities/register-request/register-request.module.ts b/src/main/webapp/app/entities/register-request/register-request.module.ts new file mode 100644 index 0000000..dd91aee --- /dev/null +++ b/src/main/webapp/app/entities/register-request/register-request.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; + +import { RegisterRequestSharedModule } from 'app/shared/shared.module'; +import { RegisterRequestComponent } from './register-request.component'; +import { RegisterRequestDetailComponent } from './register-request-detail.component'; +import { RegisterRequestUpdateComponent } from './register-request-update.component'; +import { RegisterRequestDeleteDialogComponent } from './register-request-delete-dialog.component'; +import { registerRequestRoute } from './register-request.route'; + +@NgModule({ + imports: [RegisterRequestSharedModule, RouterModule.forChild(registerRequestRoute)], + declarations: [ + RegisterRequestComponent, + RegisterRequestDetailComponent, + RegisterRequestUpdateComponent, + RegisterRequestDeleteDialogComponent, + ], + entryComponents: [RegisterRequestDeleteDialogComponent], +}) +export class RegisterRequestRegisterRequestModule {} diff --git a/src/main/webapp/app/entities/register-request/register-request.route.ts b/src/main/webapp/app/entities/register-request/register-request.route.ts new file mode 100644 index 0000000..ff2e36c --- /dev/null +++ b/src/main/webapp/app/entities/register-request/register-request.route.ts @@ -0,0 +1,83 @@ +import { Injectable } from '@angular/core'; +import { HttpResponse } from '@angular/common/http'; +import { Resolve, ActivatedRouteSnapshot, Routes, Router } from '@angular/router'; +import { Observable, of, EMPTY } from 'rxjs'; +import { flatMap } from 'rxjs/operators'; + +import { Authority } from 'app/shared/constants/authority.constants'; +import { UserRouteAccessService } from 'app/core/auth/user-route-access-service'; +import { IRegisterRequest, RegisterRequest } from 'app/shared/model/register-request.model'; +import { RegisterRequestService } from './register-request.service'; +import { RegisterRequestComponent } from './register-request.component'; +import { RegisterRequestDetailComponent } from './register-request-detail.component'; +import { RegisterRequestUpdateComponent } from './register-request-update.component'; + +@Injectable({ providedIn: 'root' }) +export class RegisterRequestResolve implements Resolve { + constructor(private service: RegisterRequestService, private router: Router) {} + + resolve(route: ActivatedRouteSnapshot): Observable | Observable { + const id = route.params['id']; + if (id) { + return this.service.find(id).pipe( + flatMap((registerRequest: HttpResponse) => { + if (registerRequest.body) { + return of(registerRequest.body); + } else { + this.router.navigate(['404']); + return EMPTY; + } + }) + ); + } + return of(new RegisterRequest()); + } +} + +export const registerRequestRoute: Routes = [ + { + path: '', + component: RegisterRequestComponent, + data: { + authorities: [Authority.USER], + pageTitle: 'RegisterRequests', + }, + canActivate: [UserRouteAccessService], + }, + { + path: ':id/view', + component: RegisterRequestDetailComponent, + resolve: { + registerRequest: RegisterRequestResolve, + }, + data: { + authorities: [Authority.USER], + pageTitle: 'RegisterRequests', + }, + canActivate: [UserRouteAccessService], + }, + { + path: 'new', + component: RegisterRequestUpdateComponent, + resolve: { + registerRequest: RegisterRequestResolve, + }, + data: { + authorities: [Authority.USER], + pageTitle: 'RegisterRequests', + }, + canActivate: [UserRouteAccessService], + }, + { + path: ':id/edit', + component: RegisterRequestUpdateComponent, + resolve: { + registerRequest: RegisterRequestResolve, + }, + data: { + authorities: [Authority.USER], + pageTitle: 'RegisterRequests', + }, + canActivate: [UserRouteAccessService], + }, +]; diff --git a/src/main/webapp/app/entities/register-request/register-request.service.ts b/src/main/webapp/app/entities/register-request/register-request.service.ts new file mode 100644 index 0000000..41bc47b --- /dev/null +++ b/src/main/webapp/app/entities/register-request/register-request.service.ts @@ -0,0 +1,73 @@ +import { Injectable } from '@angular/core'; +import { HttpClient, HttpResponse } from '@angular/common/http'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; +import * as moment from 'moment'; + +import { SERVER_API_URL } from 'app/app.constants'; +import { createRequestOption } from 'app/shared/util/request-util'; +import { IRegisterRequest } from 'app/shared/model/register-request.model'; + +type EntityResponseType = HttpResponse; +type EntityArrayResponseType = HttpResponse; + +@Injectable({ providedIn: 'root' }) +export class RegisterRequestService { + public resourceUrl = SERVER_API_URL + 'api/register-requests'; + + constructor(protected http: HttpClient) {} + + create(registerRequest: IRegisterRequest): Observable { + const copy = this.convertDateFromClient(registerRequest); + return this.http + .post(this.resourceUrl, copy, { observe: 'response' }) + .pipe(map((res: EntityResponseType) => this.convertDateFromServer(res))); + } + + update(registerRequest: IRegisterRequest): Observable { + const copy = this.convertDateFromClient(registerRequest); + return this.http + .put(this.resourceUrl, copy, { observe: 'response' }) + .pipe(map((res: EntityResponseType) => this.convertDateFromServer(res))); + } + + find(id: number): Observable { + return this.http + .get(`${this.resourceUrl}/${id}`, { observe: 'response' }) + .pipe(map((res: EntityResponseType) => this.convertDateFromServer(res))); + } + + query(req?: any): Observable { + const options = createRequestOption(req); + return this.http + .get(this.resourceUrl, { params: options, observe: 'response' }) + .pipe(map((res: EntityArrayResponseType) => this.convertDateArrayFromServer(res))); + } + + delete(id: number): Observable> { + return this.http.delete(`${this.resourceUrl}/${id}`, { observe: 'response' }); + } + + protected convertDateFromClient(registerRequest: IRegisterRequest): IRegisterRequest { + const copy: IRegisterRequest = Object.assign({}, registerRequest, { + createDate: registerRequest.createDate && registerRequest.createDate.isValid() ? registerRequest.createDate.toJSON() : undefined, + }); + return copy; + } + + protected convertDateFromServer(res: EntityResponseType): EntityResponseType { + if (res.body) { + res.body.createDate = res.body.createDate ? moment(res.body.createDate) : undefined; + } + return res; + } + + protected convertDateArrayFromServer(res: EntityArrayResponseType): EntityArrayResponseType { + if (res.body) { + res.body.forEach((registerRequest: IRegisterRequest) => { + registerRequest.createDate = registerRequest.createDate ? moment(registerRequest.createDate) : undefined; + }); + } + return res; + } +} diff --git a/src/main/webapp/app/layouts/navbar/navbar.component.html b/src/main/webapp/app/layouts/navbar/navbar.component.html index aabbfe8..e62a2f3 100644 --- a/src/main/webapp/app/layouts/navbar/navbar.component.html +++ b/src/main/webapp/app/layouts/navbar/navbar.component.html @@ -27,6 +27,12 @@ diff --git a/src/main/webapp/app/shared/model/enumerations/resquest-status.model.ts b/src/main/webapp/app/shared/model/enumerations/resquest-status.model.ts new file mode 100644 index 0000000..064b2cc --- /dev/null +++ b/src/main/webapp/app/shared/model/enumerations/resquest-status.model.ts @@ -0,0 +1,11 @@ +export const enum ResquestStatus { + SUBMIT = 'SUBMIT', + + CANCELLED = 'CANCELLED', + + ENROLL_PROCESS = 'ENROLL_PROCESS', + + PROCESS = 'PROCESS', + + FINSHED = 'FINSHED', +} diff --git a/src/main/webapp/app/shared/model/register-request.model.ts b/src/main/webapp/app/shared/model/register-request.model.ts new file mode 100644 index 0000000..3b44f46 --- /dev/null +++ b/src/main/webapp/app/shared/model/register-request.model.ts @@ -0,0 +1,51 @@ +import { Moment } from 'moment'; +import { ResquestStatus } from 'app/shared/model/enumerations/resquest-status.model'; + +export interface IRegisterRequest { + id?: number; + firstName?: string; + lastName?: string; + email?: string; + reEnrollment?: boolean; + phoneNumber?: string; + whatsapp?: string; + cellNumber?: string; + emergencyNumber?: string; + address?: string; + workPlace?: string; + workPhoneNumber?: string; + acceptPaymnetDate?: boolean; + attendMeetings?: boolean; + paidOnTime?: boolean; + suggestion?: string; + createDate?: Moment; + status?: ResquestStatus; +} + +export class RegisterRequest implements IRegisterRequest { + constructor( + public id?: number, + public firstName?: string, + public lastName?: string, + public email?: string, + public reEnrollment?: boolean, + public phoneNumber?: string, + public whatsapp?: string, + public cellNumber?: string, + public emergencyNumber?: string, + public address?: string, + public workPlace?: string, + public workPhoneNumber?: string, + public acceptPaymnetDate?: boolean, + public attendMeetings?: boolean, + public paidOnTime?: boolean, + public suggestion?: string, + public createDate?: Moment, + public status?: ResquestStatus + ) { + this.reEnrollment = this.reEnrollment || false; + this.acceptPaymnetDate = this.acceptPaymnetDate || false; + this.attendMeetings = this.attendMeetings || false; + this.paidOnTime = this.paidOnTime || false; + } +} diff --git a/src/test/java/com/losrosantes/registerrequest/domain/RegisterRequestTest.java b/src/test/java/com/losrosantes/registerrequest/domain/RegisterRequestTest.java new file mode 100644 index 0000000..6145b6c --- /dev/null +++ b/src/test/java/com/losrosantes/registerrequest/domain/RegisterRequestTest.java @@ -0,0 +1,22 @@ +package com.losrosantes.registerrequest.domain; + +import org.junit.jupiter.api.Test; +import static org.assertj.core.api.Assertions.assertThat; +import com.losrosantes.registerrequest.web.rest.TestUtil; + +public class RegisterRequestTest { + + @Test + public void equalsVerifier() throws Exception { + TestUtil.equalsVerifier(RegisterRequest.class); + RegisterRequest registerRequest1 = new RegisterRequest(); + registerRequest1.setId(1L); + RegisterRequest registerRequest2 = new RegisterRequest(); + registerRequest2.setId(registerRequest1.getId()); + assertThat(registerRequest1).isEqualTo(registerRequest2); + registerRequest2.setId(2L); + assertThat(registerRequest1).isNotEqualTo(registerRequest2); + registerRequest1.setId(null); + assertThat(registerRequest1).isNotEqualTo(registerRequest2); + } +} diff --git a/src/test/java/com/losrosantes/registerrequest/service/dto/RegisterRequestDTOTest.java b/src/test/java/com/losrosantes/registerrequest/service/dto/RegisterRequestDTOTest.java new file mode 100644 index 0000000..97d5956 --- /dev/null +++ b/src/test/java/com/losrosantes/registerrequest/service/dto/RegisterRequestDTOTest.java @@ -0,0 +1,23 @@ +package com.losrosantes.registerrequest.service.dto; + +import org.junit.jupiter.api.Test; +import static org.assertj.core.api.Assertions.assertThat; +import com.losrosantes.registerrequest.web.rest.TestUtil; + +public class RegisterRequestDTOTest { + + @Test + public void dtoEqualsVerifier() throws Exception { + TestUtil.equalsVerifier(RegisterRequestDTO.class); + RegisterRequestDTO registerRequestDTO1 = new RegisterRequestDTO(); + registerRequestDTO1.setId(1L); + RegisterRequestDTO registerRequestDTO2 = new RegisterRequestDTO(); + assertThat(registerRequestDTO1).isNotEqualTo(registerRequestDTO2); + registerRequestDTO2.setId(registerRequestDTO1.getId()); + assertThat(registerRequestDTO1).isEqualTo(registerRequestDTO2); + registerRequestDTO2.setId(2L); + assertThat(registerRequestDTO1).isNotEqualTo(registerRequestDTO2); + registerRequestDTO1.setId(null); + assertThat(registerRequestDTO1).isNotEqualTo(registerRequestDTO2); + } +} diff --git a/src/test/java/com/losrosantes/registerrequest/service/mapper/RegisterRequestMapperTest.java b/src/test/java/com/losrosantes/registerrequest/service/mapper/RegisterRequestMapperTest.java new file mode 100644 index 0000000..2c277bd --- /dev/null +++ b/src/test/java/com/losrosantes/registerrequest/service/mapper/RegisterRequestMapperTest.java @@ -0,0 +1,22 @@ +package com.losrosantes.registerrequest.service.mapper; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import static org.assertj.core.api.Assertions.assertThat; + +public class RegisterRequestMapperTest { + + private RegisterRequestMapper registerRequestMapper; + + @BeforeEach + public void setUp() { + registerRequestMapper = new RegisterRequestMapperImpl(); + } + + @Test + public void testEntityFromId() { + Long id = 1L; + assertThat(registerRequestMapper.fromId(id).getId()).isEqualTo(id); + assertThat(registerRequestMapper.fromId(null)).isNull(); + } +} diff --git a/src/test/java/com/losrosantes/registerrequest/web/rest/RegisterRequestResourceIT.java b/src/test/java/com/losrosantes/registerrequest/web/rest/RegisterRequestResourceIT.java new file mode 100644 index 0000000..7523860 --- /dev/null +++ b/src/test/java/com/losrosantes/registerrequest/web/rest/RegisterRequestResourceIT.java @@ -0,0 +1,584 @@ +package com.losrosantes.registerrequest.web.rest; + +import com.losrosantes.registerrequest.RegisterRequestApp; +import com.losrosantes.registerrequest.domain.RegisterRequest; +import com.losrosantes.registerrequest.repository.RegisterRequestRepository; +import com.losrosantes.registerrequest.service.RegisterRequestService; +import com.losrosantes.registerrequest.service.dto.RegisterRequestDTO; +import com.losrosantes.registerrequest.service.mapper.RegisterRequestMapper; + +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.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.transaction.annotation.Transactional; +import javax.persistence.EntityManager; +import java.time.Instant; +import java.time.temporal.ChronoUnit; +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.hamcrest.Matchers.hasItem; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; + +import com.losrosantes.registerrequest.domain.enumeration.ResquestStatus; +/** + * Integration tests for the {@link RegisterRequestResource} REST controller. + */ +@SpringBootTest(classes = RegisterRequestApp.class) +@AutoConfigureMockMvc +@WithMockUser +public class RegisterRequestResourceIT { + + private static final String DEFAULT_FIRST_NAME = "AAAAAAAAAA"; + private static final String UPDATED_FIRST_NAME = "BBBBBBBBBB"; + + private static final String DEFAULT_LAST_NAME = "AAAAAAAAAA"; + private static final String UPDATED_LAST_NAME = "BBBBBBBBBB"; + + private static final String DEFAULT_EMAIL = "AAAAAAAAAA"; + private static final String UPDATED_EMAIL = "BBBBBBBBBB"; + + private static final Boolean DEFAULT_RE_ENROLLMENT = false; + private static final Boolean UPDATED_RE_ENROLLMENT = true; + + private static final String DEFAULT_PHONE_NUMBER = "AAAAAAAAAA"; + private static final String UPDATED_PHONE_NUMBER = "BBBBBBBBBB"; + + private static final String DEFAULT_WHATSAPP = "AAAAAAAAAA"; + private static final String UPDATED_WHATSAPP = "BBBBBBBBBB"; + + private static final String DEFAULT_CELL_NUMBER = "AAAAAAAAAA"; + private static final String UPDATED_CELL_NUMBER = "BBBBBBBBBB"; + + private static final String DEFAULT_EMERGENCY_NUMBER = "AAAAAAAAAA"; + private static final String UPDATED_EMERGENCY_NUMBER = "BBBBBBBBBB"; + + private static final String DEFAULT_ADDRESS = "AAAAAAAAAA"; + private static final String UPDATED_ADDRESS = "BBBBBBBBBB"; + + private static final String DEFAULT_WORK_PLACE = "AAAAAAAAAA"; + private static final String UPDATED_WORK_PLACE = "BBBBBBBBBB"; + + private static final String DEFAULT_WORK_PHONE_NUMBER = "AAAAAAAAAA"; + private static final String UPDATED_WORK_PHONE_NUMBER = "BBBBBBBBBB"; + + private static final Boolean DEFAULT_ACCEPT_PAYMNET_DATE = false; + private static final Boolean UPDATED_ACCEPT_PAYMNET_DATE = true; + + private static final Boolean DEFAULT_ATTEND_MEETINGS = false; + private static final Boolean UPDATED_ATTEND_MEETINGS = true; + + private static final Boolean DEFAULT_PAID_ON_TIME = false; + private static final Boolean UPDATED_PAID_ON_TIME = true; + + private static final String DEFAULT_SUGGESTION = "AAAAAAAAAA"; + private static final String UPDATED_SUGGESTION = "BBBBBBBBBB"; + + private static final Instant DEFAULT_CREATE_DATE = Instant.ofEpochMilli(0L); + private static final Instant UPDATED_CREATE_DATE = Instant.now().truncatedTo(ChronoUnit.MILLIS); + + private static final ResquestStatus DEFAULT_STATUS = ResquestStatus.SUBMIT; + private static final ResquestStatus UPDATED_STATUS = ResquestStatus.CANCELLED; + + @Autowired + private RegisterRequestRepository registerRequestRepository; + + @Autowired + private RegisterRequestMapper registerRequestMapper; + + @Autowired + private RegisterRequestService registerRequestService; + + @Autowired + private EntityManager em; + + @Autowired + private MockMvc restRegisterRequestMockMvc; + + private RegisterRequest registerRequest; + + /** + * Create an entity for this test. + * + * This is a static method, as tests for other entities might also need it, + * if they test an entity which requires the current entity. + */ + public static RegisterRequest createEntity(EntityManager em) { + RegisterRequest registerRequest = new RegisterRequest() + .firstName(DEFAULT_FIRST_NAME) + .lastName(DEFAULT_LAST_NAME) + .email(DEFAULT_EMAIL) + .reEnrollment(DEFAULT_RE_ENROLLMENT) + .phoneNumber(DEFAULT_PHONE_NUMBER) + .whatsapp(DEFAULT_WHATSAPP) + .cellNumber(DEFAULT_CELL_NUMBER) + .emergencyNumber(DEFAULT_EMERGENCY_NUMBER) + .address(DEFAULT_ADDRESS) + .workPlace(DEFAULT_WORK_PLACE) + .workPhoneNumber(DEFAULT_WORK_PHONE_NUMBER) + .acceptPaymnetDate(DEFAULT_ACCEPT_PAYMNET_DATE) + .attendMeetings(DEFAULT_ATTEND_MEETINGS) + .paidOnTime(DEFAULT_PAID_ON_TIME) + .suggestion(DEFAULT_SUGGESTION) + .createDate(DEFAULT_CREATE_DATE) + .status(DEFAULT_STATUS); + return registerRequest; + } + /** + * Create an updated entity for this test. + * + * This is a static method, as tests for other entities might also need it, + * if they test an entity which requires the current entity. + */ + public static RegisterRequest createUpdatedEntity(EntityManager em) { + RegisterRequest registerRequest = new RegisterRequest() + .firstName(UPDATED_FIRST_NAME) + .lastName(UPDATED_LAST_NAME) + .email(UPDATED_EMAIL) + .reEnrollment(UPDATED_RE_ENROLLMENT) + .phoneNumber(UPDATED_PHONE_NUMBER) + .whatsapp(UPDATED_WHATSAPP) + .cellNumber(UPDATED_CELL_NUMBER) + .emergencyNumber(UPDATED_EMERGENCY_NUMBER) + .address(UPDATED_ADDRESS) + .workPlace(UPDATED_WORK_PLACE) + .workPhoneNumber(UPDATED_WORK_PHONE_NUMBER) + .acceptPaymnetDate(UPDATED_ACCEPT_PAYMNET_DATE) + .attendMeetings(UPDATED_ATTEND_MEETINGS) + .paidOnTime(UPDATED_PAID_ON_TIME) + .suggestion(UPDATED_SUGGESTION) + .createDate(UPDATED_CREATE_DATE) + .status(UPDATED_STATUS); + return registerRequest; + } + + @BeforeEach + public void initTest() { + registerRequest = createEntity(em); + } + + @Test + @Transactional + public void createRegisterRequest() throws Exception { + int databaseSizeBeforeCreate = registerRequestRepository.findAll().size(); + // Create the RegisterRequest + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isCreated()); + + // Validate the RegisterRequest in the database + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeCreate + 1); + RegisterRequest testRegisterRequest = registerRequestList.get(registerRequestList.size() - 1); + assertThat(testRegisterRequest.getFirstName()).isEqualTo(DEFAULT_FIRST_NAME); + assertThat(testRegisterRequest.getLastName()).isEqualTo(DEFAULT_LAST_NAME); + assertThat(testRegisterRequest.getEmail()).isEqualTo(DEFAULT_EMAIL); + assertThat(testRegisterRequest.isReEnrollment()).isEqualTo(DEFAULT_RE_ENROLLMENT); + assertThat(testRegisterRequest.getPhoneNumber()).isEqualTo(DEFAULT_PHONE_NUMBER); + assertThat(testRegisterRequest.getWhatsapp()).isEqualTo(DEFAULT_WHATSAPP); + assertThat(testRegisterRequest.getCellNumber()).isEqualTo(DEFAULT_CELL_NUMBER); + assertThat(testRegisterRequest.getEmergencyNumber()).isEqualTo(DEFAULT_EMERGENCY_NUMBER); + assertThat(testRegisterRequest.getAddress()).isEqualTo(DEFAULT_ADDRESS); + assertThat(testRegisterRequest.getWorkPlace()).isEqualTo(DEFAULT_WORK_PLACE); + assertThat(testRegisterRequest.getWorkPhoneNumber()).isEqualTo(DEFAULT_WORK_PHONE_NUMBER); + assertThat(testRegisterRequest.isAcceptPaymnetDate()).isEqualTo(DEFAULT_ACCEPT_PAYMNET_DATE); + assertThat(testRegisterRequest.isAttendMeetings()).isEqualTo(DEFAULT_ATTEND_MEETINGS); + assertThat(testRegisterRequest.isPaidOnTime()).isEqualTo(DEFAULT_PAID_ON_TIME); + assertThat(testRegisterRequest.getSuggestion()).isEqualTo(DEFAULT_SUGGESTION); + assertThat(testRegisterRequest.getCreateDate()).isEqualTo(DEFAULT_CREATE_DATE); + assertThat(testRegisterRequest.getStatus()).isEqualTo(DEFAULT_STATUS); + } + + @Test + @Transactional + public void createRegisterRequestWithExistingId() throws Exception { + int databaseSizeBeforeCreate = registerRequestRepository.findAll().size(); + + // Create the RegisterRequest with an existing ID + registerRequest.setId(1L); + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + // An entity with an existing ID cannot be created, so this API call must fail + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + // Validate the RegisterRequest in the database + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeCreate); + } + + + @Test + @Transactional + public void checkFirstNameIsRequired() throws Exception { + int databaseSizeBeforeTest = registerRequestRepository.findAll().size(); + // set the field null + registerRequest.setFirstName(null); + + // Create the RegisterRequest, which fails. + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeTest); + } + + @Test + @Transactional + public void checkLastNameIsRequired() throws Exception { + int databaseSizeBeforeTest = registerRequestRepository.findAll().size(); + // set the field null + registerRequest.setLastName(null); + + // Create the RegisterRequest, which fails. + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeTest); + } + + @Test + @Transactional + public void checkAddressIsRequired() throws Exception { + int databaseSizeBeforeTest = registerRequestRepository.findAll().size(); + // set the field null + registerRequest.setAddress(null); + + // Create the RegisterRequest, which fails. + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeTest); + } + + @Test + @Transactional + public void checkWorkPlaceIsRequired() throws Exception { + int databaseSizeBeforeTest = registerRequestRepository.findAll().size(); + // set the field null + registerRequest.setWorkPlace(null); + + // Create the RegisterRequest, which fails. + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeTest); + } + + @Test + @Transactional + public void checkWorkPhoneNumberIsRequired() throws Exception { + int databaseSizeBeforeTest = registerRequestRepository.findAll().size(); + // set the field null + registerRequest.setWorkPhoneNumber(null); + + // Create the RegisterRequest, which fails. + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeTest); + } + + @Test + @Transactional + public void checkAcceptPaymnetDateIsRequired() throws Exception { + int databaseSizeBeforeTest = registerRequestRepository.findAll().size(); + // set the field null + registerRequest.setAcceptPaymnetDate(null); + + // Create the RegisterRequest, which fails. + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeTest); + } + + @Test + @Transactional + public void checkAttendMeetingsIsRequired() throws Exception { + int databaseSizeBeforeTest = registerRequestRepository.findAll().size(); + // set the field null + registerRequest.setAttendMeetings(null); + + // Create the RegisterRequest, which fails. + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeTest); + } + + @Test + @Transactional + public void checkPaidOnTimeIsRequired() throws Exception { + int databaseSizeBeforeTest = registerRequestRepository.findAll().size(); + // set the field null + registerRequest.setPaidOnTime(null); + + // Create the RegisterRequest, which fails. + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeTest); + } + + @Test + @Transactional + public void checkCreateDateIsRequired() throws Exception { + int databaseSizeBeforeTest = registerRequestRepository.findAll().size(); + // set the field null + registerRequest.setCreateDate(null); + + // Create the RegisterRequest, which fails. + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeTest); + } + + @Test + @Transactional + public void checkStatusIsRequired() throws Exception { + int databaseSizeBeforeTest = registerRequestRepository.findAll().size(); + // set the field null + registerRequest.setStatus(null); + + // Create the RegisterRequest, which fails. + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + + restRegisterRequestMockMvc.perform(post("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeTest); + } + + @Test + @Transactional + public void getAllRegisterRequests() throws Exception { + // Initialize the database + registerRequestRepository.saveAndFlush(registerRequest); + + // Get all the registerRequestList + restRegisterRequestMockMvc.perform(get("/api/register-requests?sort=id,desc")) + .andExpect(status().isOk()) + .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) + .andExpect(jsonPath("$.[*].id").value(hasItem(registerRequest.getId().intValue()))) + .andExpect(jsonPath("$.[*].firstName").value(hasItem(DEFAULT_FIRST_NAME))) + .andExpect(jsonPath("$.[*].lastName").value(hasItem(DEFAULT_LAST_NAME))) + .andExpect(jsonPath("$.[*].email").value(hasItem(DEFAULT_EMAIL))) + .andExpect(jsonPath("$.[*].reEnrollment").value(hasItem(DEFAULT_RE_ENROLLMENT.booleanValue()))) + .andExpect(jsonPath("$.[*].phoneNumber").value(hasItem(DEFAULT_PHONE_NUMBER))) + .andExpect(jsonPath("$.[*].whatsapp").value(hasItem(DEFAULT_WHATSAPP))) + .andExpect(jsonPath("$.[*].cellNumber").value(hasItem(DEFAULT_CELL_NUMBER))) + .andExpect(jsonPath("$.[*].emergencyNumber").value(hasItem(DEFAULT_EMERGENCY_NUMBER))) + .andExpect(jsonPath("$.[*].address").value(hasItem(DEFAULT_ADDRESS))) + .andExpect(jsonPath("$.[*].workPlace").value(hasItem(DEFAULT_WORK_PLACE))) + .andExpect(jsonPath("$.[*].workPhoneNumber").value(hasItem(DEFAULT_WORK_PHONE_NUMBER))) + .andExpect(jsonPath("$.[*].acceptPaymnetDate").value(hasItem(DEFAULT_ACCEPT_PAYMNET_DATE.booleanValue()))) + .andExpect(jsonPath("$.[*].attendMeetings").value(hasItem(DEFAULT_ATTEND_MEETINGS.booleanValue()))) + .andExpect(jsonPath("$.[*].paidOnTime").value(hasItem(DEFAULT_PAID_ON_TIME.booleanValue()))) + .andExpect(jsonPath("$.[*].suggestion").value(hasItem(DEFAULT_SUGGESTION))) + .andExpect(jsonPath("$.[*].createDate").value(hasItem(DEFAULT_CREATE_DATE.toString()))) + .andExpect(jsonPath("$.[*].status").value(hasItem(DEFAULT_STATUS.toString()))); + } + + @Test + @Transactional + public void getRegisterRequest() throws Exception { + // Initialize the database + registerRequestRepository.saveAndFlush(registerRequest); + + // Get the registerRequest + restRegisterRequestMockMvc.perform(get("/api/register-requests/{id}", registerRequest.getId())) + .andExpect(status().isOk()) + .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) + .andExpect(jsonPath("$.id").value(registerRequest.getId().intValue())) + .andExpect(jsonPath("$.firstName").value(DEFAULT_FIRST_NAME)) + .andExpect(jsonPath("$.lastName").value(DEFAULT_LAST_NAME)) + .andExpect(jsonPath("$.email").value(DEFAULT_EMAIL)) + .andExpect(jsonPath("$.reEnrollment").value(DEFAULT_RE_ENROLLMENT.booleanValue())) + .andExpect(jsonPath("$.phoneNumber").value(DEFAULT_PHONE_NUMBER)) + .andExpect(jsonPath("$.whatsapp").value(DEFAULT_WHATSAPP)) + .andExpect(jsonPath("$.cellNumber").value(DEFAULT_CELL_NUMBER)) + .andExpect(jsonPath("$.emergencyNumber").value(DEFAULT_EMERGENCY_NUMBER)) + .andExpect(jsonPath("$.address").value(DEFAULT_ADDRESS)) + .andExpect(jsonPath("$.workPlace").value(DEFAULT_WORK_PLACE)) + .andExpect(jsonPath("$.workPhoneNumber").value(DEFAULT_WORK_PHONE_NUMBER)) + .andExpect(jsonPath("$.acceptPaymnetDate").value(DEFAULT_ACCEPT_PAYMNET_DATE.booleanValue())) + .andExpect(jsonPath("$.attendMeetings").value(DEFAULT_ATTEND_MEETINGS.booleanValue())) + .andExpect(jsonPath("$.paidOnTime").value(DEFAULT_PAID_ON_TIME.booleanValue())) + .andExpect(jsonPath("$.suggestion").value(DEFAULT_SUGGESTION)) + .andExpect(jsonPath("$.createDate").value(DEFAULT_CREATE_DATE.toString())) + .andExpect(jsonPath("$.status").value(DEFAULT_STATUS.toString())); + } + @Test + @Transactional + public void getNonExistingRegisterRequest() throws Exception { + // Get the registerRequest + restRegisterRequestMockMvc.perform(get("/api/register-requests/{id}", Long.MAX_VALUE)) + .andExpect(status().isNotFound()); + } + + @Test + @Transactional + public void updateRegisterRequest() throws Exception { + // Initialize the database + registerRequestRepository.saveAndFlush(registerRequest); + + int databaseSizeBeforeUpdate = registerRequestRepository.findAll().size(); + + // Update the registerRequest + RegisterRequest updatedRegisterRequest = registerRequestRepository.findById(registerRequest.getId()).get(); + // Disconnect from session so that the updates on updatedRegisterRequest are not directly saved in db + em.detach(updatedRegisterRequest); + updatedRegisterRequest + .firstName(UPDATED_FIRST_NAME) + .lastName(UPDATED_LAST_NAME) + .email(UPDATED_EMAIL) + .reEnrollment(UPDATED_RE_ENROLLMENT) + .phoneNumber(UPDATED_PHONE_NUMBER) + .whatsapp(UPDATED_WHATSAPP) + .cellNumber(UPDATED_CELL_NUMBER) + .emergencyNumber(UPDATED_EMERGENCY_NUMBER) + .address(UPDATED_ADDRESS) + .workPlace(UPDATED_WORK_PLACE) + .workPhoneNumber(UPDATED_WORK_PHONE_NUMBER) + .acceptPaymnetDate(UPDATED_ACCEPT_PAYMNET_DATE) + .attendMeetings(UPDATED_ATTEND_MEETINGS) + .paidOnTime(UPDATED_PAID_ON_TIME) + .suggestion(UPDATED_SUGGESTION) + .createDate(UPDATED_CREATE_DATE) + .status(UPDATED_STATUS); + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(updatedRegisterRequest); + + restRegisterRequestMockMvc.perform(put("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isOk()); + + // Validate the RegisterRequest in the database + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeUpdate); + RegisterRequest testRegisterRequest = registerRequestList.get(registerRequestList.size() - 1); + assertThat(testRegisterRequest.getFirstName()).isEqualTo(UPDATED_FIRST_NAME); + assertThat(testRegisterRequest.getLastName()).isEqualTo(UPDATED_LAST_NAME); + assertThat(testRegisterRequest.getEmail()).isEqualTo(UPDATED_EMAIL); + assertThat(testRegisterRequest.isReEnrollment()).isEqualTo(UPDATED_RE_ENROLLMENT); + assertThat(testRegisterRequest.getPhoneNumber()).isEqualTo(UPDATED_PHONE_NUMBER); + assertThat(testRegisterRequest.getWhatsapp()).isEqualTo(UPDATED_WHATSAPP); + assertThat(testRegisterRequest.getCellNumber()).isEqualTo(UPDATED_CELL_NUMBER); + assertThat(testRegisterRequest.getEmergencyNumber()).isEqualTo(UPDATED_EMERGENCY_NUMBER); + assertThat(testRegisterRequest.getAddress()).isEqualTo(UPDATED_ADDRESS); + assertThat(testRegisterRequest.getWorkPlace()).isEqualTo(UPDATED_WORK_PLACE); + assertThat(testRegisterRequest.getWorkPhoneNumber()).isEqualTo(UPDATED_WORK_PHONE_NUMBER); + assertThat(testRegisterRequest.isAcceptPaymnetDate()).isEqualTo(UPDATED_ACCEPT_PAYMNET_DATE); + assertThat(testRegisterRequest.isAttendMeetings()).isEqualTo(UPDATED_ATTEND_MEETINGS); + assertThat(testRegisterRequest.isPaidOnTime()).isEqualTo(UPDATED_PAID_ON_TIME); + assertThat(testRegisterRequest.getSuggestion()).isEqualTo(UPDATED_SUGGESTION); + assertThat(testRegisterRequest.getCreateDate()).isEqualTo(UPDATED_CREATE_DATE); + assertThat(testRegisterRequest.getStatus()).isEqualTo(UPDATED_STATUS); + } + + @Test + @Transactional + public void updateNonExistingRegisterRequest() throws Exception { + int databaseSizeBeforeUpdate = registerRequestRepository.findAll().size(); + + // Create the RegisterRequest + RegisterRequestDTO registerRequestDTO = registerRequestMapper.toDto(registerRequest); + + // If the entity doesn't have an ID, it will throw BadRequestAlertException + restRegisterRequestMockMvc.perform(put("/api/register-requests") + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(registerRequestDTO))) + .andExpect(status().isBadRequest()); + + // Validate the RegisterRequest in the database + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + @Transactional + public void deleteRegisterRequest() throws Exception { + // Initialize the database + registerRequestRepository.saveAndFlush(registerRequest); + + int databaseSizeBeforeDelete = registerRequestRepository.findAll().size(); + + // Delete the registerRequest + restRegisterRequestMockMvc.perform(delete("/api/register-requests/{id}", registerRequest.getId()) + .accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isNoContent()); + + // Validate the database contains one less item + List registerRequestList = registerRequestRepository.findAll(); + assertThat(registerRequestList).hasSize(databaseSizeBeforeDelete - 1); + } +} diff --git a/src/test/javascript/spec/app/entities/register-request/register-request-delete-dialog.component.spec.ts b/src/test/javascript/spec/app/entities/register-request/register-request-delete-dialog.component.spec.ts new file mode 100644 index 0000000..2cfd427 --- /dev/null +++ b/src/test/javascript/spec/app/entities/register-request/register-request-delete-dialog.component.spec.ts @@ -0,0 +1,65 @@ +import { ComponentFixture, TestBed, inject, fakeAsync, tick } from '@angular/core/testing'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { of } from 'rxjs'; +import { JhiEventManager } from 'ng-jhipster'; + +import { RegisterRequestTestModule } from '../../../test.module'; +import { MockEventManager } from '../../../helpers/mock-event-manager.service'; +import { MockActiveModal } from '../../../helpers/mock-active-modal.service'; +import { RegisterRequestDeleteDialogComponent } from 'app/entities/register-request/register-request-delete-dialog.component'; +import { RegisterRequestService } from 'app/entities/register-request/register-request.service'; + +describe('Component Tests', () => { + describe('RegisterRequest Management Delete Component', () => { + let comp: RegisterRequestDeleteDialogComponent; + let fixture: ComponentFixture; + let service: RegisterRequestService; + let mockEventManager: MockEventManager; + let mockActiveModal: MockActiveModal; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [RegisterRequestTestModule], + declarations: [RegisterRequestDeleteDialogComponent], + }) + .overrideTemplate(RegisterRequestDeleteDialogComponent, '') + .compileComponents(); + fixture = TestBed.createComponent(RegisterRequestDeleteDialogComponent); + comp = fixture.componentInstance; + service = fixture.debugElement.injector.get(RegisterRequestService); + mockEventManager = TestBed.get(JhiEventManager); + mockActiveModal = TestBed.get(NgbActiveModal); + }); + + describe('confirmDelete', () => { + it('Should call delete service on confirmDelete', inject( + [], + fakeAsync(() => { + // GIVEN + spyOn(service, 'delete').and.returnValue(of({})); + + // WHEN + comp.confirmDelete(123); + tick(); + + // THEN + expect(service.delete).toHaveBeenCalledWith(123); + expect(mockActiveModal.closeSpy).toHaveBeenCalled(); + expect(mockEventManager.broadcastSpy).toHaveBeenCalled(); + }) + )); + + it('Should not call delete service on clear', () => { + // GIVEN + spyOn(service, 'delete'); + + // WHEN + comp.cancel(); + + // THEN + expect(service.delete).not.toHaveBeenCalled(); + expect(mockActiveModal.dismissSpy).toHaveBeenCalled(); + }); + }); + }); +}); diff --git a/src/test/javascript/spec/app/entities/register-request/register-request-detail.component.spec.ts b/src/test/javascript/spec/app/entities/register-request/register-request-detail.component.spec.ts new file mode 100644 index 0000000..945addd --- /dev/null +++ b/src/test/javascript/spec/app/entities/register-request/register-request-detail.component.spec.ts @@ -0,0 +1,37 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { ActivatedRoute } from '@angular/router'; +import { of } from 'rxjs'; + +import { RegisterRequestTestModule } from '../../../test.module'; +import { RegisterRequestDetailComponent } from 'app/entities/register-request/register-request-detail.component'; +import { RegisterRequest } from 'app/shared/model/register-request.model'; + +describe('Component Tests', () => { + describe('RegisterRequest Management Detail Component', () => { + let comp: RegisterRequestDetailComponent; + let fixture: ComponentFixture; + const route = ({ data: of({ registerRequest: new RegisterRequest(123) }) } as any) as ActivatedRoute; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [RegisterRequestTestModule], + declarations: [RegisterRequestDetailComponent], + providers: [{ provide: ActivatedRoute, useValue: route }], + }) + .overrideTemplate(RegisterRequestDetailComponent, '') + .compileComponents(); + fixture = TestBed.createComponent(RegisterRequestDetailComponent); + comp = fixture.componentInstance; + }); + + describe('OnInit', () => { + it('Should load registerRequest on init', () => { + // WHEN + comp.ngOnInit(); + + // THEN + expect(comp.registerRequest).toEqual(jasmine.objectContaining({ id: 123 })); + }); + }); + }); +}); diff --git a/src/test/javascript/spec/app/entities/register-request/register-request-update.component.spec.ts b/src/test/javascript/spec/app/entities/register-request/register-request-update.component.spec.ts new file mode 100644 index 0000000..7a5695f --- /dev/null +++ b/src/test/javascript/spec/app/entities/register-request/register-request-update.component.spec.ts @@ -0,0 +1,61 @@ +import { ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing'; +import { HttpResponse } from '@angular/common/http'; +import { FormBuilder } from '@angular/forms'; +import { of } from 'rxjs'; + +import { RegisterRequestTestModule } from '../../../test.module'; +import { RegisterRequestUpdateComponent } from 'app/entities/register-request/register-request-update.component'; +import { RegisterRequestService } from 'app/entities/register-request/register-request.service'; +import { RegisterRequest } from 'app/shared/model/register-request.model'; + +describe('Component Tests', () => { + describe('RegisterRequest Management Update Component', () => { + let comp: RegisterRequestUpdateComponent; + let fixture: ComponentFixture; + let service: RegisterRequestService; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [RegisterRequestTestModule], + declarations: [RegisterRequestUpdateComponent], + providers: [FormBuilder], + }) + .overrideTemplate(RegisterRequestUpdateComponent, '') + .compileComponents(); + + fixture = TestBed.createComponent(RegisterRequestUpdateComponent); + comp = fixture.componentInstance; + service = fixture.debugElement.injector.get(RegisterRequestService); + }); + + describe('save', () => { + it('Should call update service on save for existing entity', fakeAsync(() => { + // GIVEN + const entity = new RegisterRequest(123); + spyOn(service, 'update').and.returnValue(of(new HttpResponse({ body: entity }))); + comp.updateForm(entity); + // WHEN + comp.save(); + tick(); // simulate async + + // THEN + expect(service.update).toHaveBeenCalledWith(entity); + expect(comp.isSaving).toEqual(false); + })); + + it('Should call create service on save for new entity', fakeAsync(() => { + // GIVEN + const entity = new RegisterRequest(); + spyOn(service, 'create').and.returnValue(of(new HttpResponse({ body: entity }))); + comp.updateForm(entity); + // WHEN + comp.save(); + tick(); // simulate async + + // THEN + expect(service.create).toHaveBeenCalledWith(entity); + expect(comp.isSaving).toEqual(false); + })); + }); + }); +}); diff --git a/src/test/javascript/spec/app/entities/register-request/register-request.component.spec.ts b/src/test/javascript/spec/app/entities/register-request/register-request.component.spec.ts new file mode 100644 index 0000000..69e8b15 --- /dev/null +++ b/src/test/javascript/spec/app/entities/register-request/register-request.component.spec.ts @@ -0,0 +1,49 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { of } from 'rxjs'; +import { HttpHeaders, HttpResponse } from '@angular/common/http'; + +import { RegisterRequestTestModule } from '../../../test.module'; +import { RegisterRequestComponent } from 'app/entities/register-request/register-request.component'; +import { RegisterRequestService } from 'app/entities/register-request/register-request.service'; +import { RegisterRequest } from 'app/shared/model/register-request.model'; + +describe('Component Tests', () => { + describe('RegisterRequest Management Component', () => { + let comp: RegisterRequestComponent; + let fixture: ComponentFixture; + let service: RegisterRequestService; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [RegisterRequestTestModule], + declarations: [RegisterRequestComponent], + }) + .overrideTemplate(RegisterRequestComponent, '') + .compileComponents(); + + fixture = TestBed.createComponent(RegisterRequestComponent); + comp = fixture.componentInstance; + service = fixture.debugElement.injector.get(RegisterRequestService); + }); + + it('Should call load all on init', () => { + // GIVEN + const headers = new HttpHeaders().append('link', 'link;link'); + spyOn(service, 'query').and.returnValue( + of( + new HttpResponse({ + body: [new RegisterRequest(123)], + headers, + }) + ) + ); + + // WHEN + comp.ngOnInit(); + + // THEN + expect(service.query).toHaveBeenCalled(); + expect(comp.registerRequests && comp.registerRequests[0]).toEqual(jasmine.objectContaining({ id: 123 })); + }); + }); +}); diff --git a/src/test/javascript/spec/app/entities/register-request/register-request.service.spec.ts b/src/test/javascript/spec/app/entities/register-request/register-request.service.spec.ts new file mode 100644 index 0000000..a382f9f --- /dev/null +++ b/src/test/javascript/spec/app/entities/register-request/register-request.service.spec.ts @@ -0,0 +1,179 @@ +import { TestBed, getTestBed } from '@angular/core/testing'; +import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; +import * as moment from 'moment'; +import { DATE_TIME_FORMAT } from 'app/shared/constants/input.constants'; +import { RegisterRequestService } from 'app/entities/register-request/register-request.service'; +import { IRegisterRequest, RegisterRequest } from 'app/shared/model/register-request.model'; +import { ResquestStatus } from 'app/shared/model/enumerations/resquest-status.model'; + +describe('Service Tests', () => { + describe('RegisterRequest Service', () => { + let injector: TestBed; + let service: RegisterRequestService; + let httpMock: HttpTestingController; + let elemDefault: IRegisterRequest; + let expectedResult: IRegisterRequest | IRegisterRequest[] | boolean | null; + let currentDate: moment.Moment; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + }); + expectedResult = null; + injector = getTestBed(); + service = injector.get(RegisterRequestService); + httpMock = injector.get(HttpTestingController); + currentDate = moment(); + + elemDefault = new RegisterRequest( + 0, + 'AAAAAAA', + 'AAAAAAA', + 'AAAAAAA', + false, + 'AAAAAAA', + 'AAAAAAA', + 'AAAAAAA', + 'AAAAAAA', + 'AAAAAAA', + 'AAAAAAA', + 'AAAAAAA', + false, + false, + false, + 'AAAAAAA', + currentDate, + ResquestStatus.SUBMIT + ); + }); + + describe('Service methods', () => { + it('should find an element', () => { + const returnedFromService = Object.assign( + { + createDate: currentDate.format(DATE_TIME_FORMAT), + }, + elemDefault + ); + + service.find(123).subscribe(resp => (expectedResult = resp.body)); + + const req = httpMock.expectOne({ method: 'GET' }); + req.flush(returnedFromService); + expect(expectedResult).toMatchObject(elemDefault); + }); + + it('should create a RegisterRequest', () => { + const returnedFromService = Object.assign( + { + id: 0, + createDate: currentDate.format(DATE_TIME_FORMAT), + }, + elemDefault + ); + + const expected = Object.assign( + { + createDate: currentDate, + }, + returnedFromService + ); + + service.create(new RegisterRequest()).subscribe(resp => (expectedResult = resp.body)); + + const req = httpMock.expectOne({ method: 'POST' }); + req.flush(returnedFromService); + expect(expectedResult).toMatchObject(expected); + }); + + it('should update a RegisterRequest', () => { + const returnedFromService = Object.assign( + { + firstName: 'BBBBBB', + lastName: 'BBBBBB', + email: 'BBBBBB', + reEnrollment: true, + phoneNumber: 'BBBBBB', + whatsapp: 'BBBBBB', + cellNumber: 'BBBBBB', + emergencyNumber: 'BBBBBB', + address: 'BBBBBB', + workPlace: 'BBBBBB', + workPhoneNumber: 'BBBBBB', + acceptPaymnetDate: true, + attendMeetings: true, + paidOnTime: true, + suggestion: 'BBBBBB', + createDate: currentDate.format(DATE_TIME_FORMAT), + status: 'BBBBBB', + }, + elemDefault + ); + + const expected = Object.assign( + { + createDate: currentDate, + }, + returnedFromService + ); + + service.update(expected).subscribe(resp => (expectedResult = resp.body)); + + const req = httpMock.expectOne({ method: 'PUT' }); + req.flush(returnedFromService); + expect(expectedResult).toMatchObject(expected); + }); + + it('should return a list of RegisterRequest', () => { + const returnedFromService = Object.assign( + { + firstName: 'BBBBBB', + lastName: 'BBBBBB', + email: 'BBBBBB', + reEnrollment: true, + phoneNumber: 'BBBBBB', + whatsapp: 'BBBBBB', + cellNumber: 'BBBBBB', + emergencyNumber: 'BBBBBB', + address: 'BBBBBB', + workPlace: 'BBBBBB', + workPhoneNumber: 'BBBBBB', + acceptPaymnetDate: true, + attendMeetings: true, + paidOnTime: true, + suggestion: 'BBBBBB', + createDate: currentDate.format(DATE_TIME_FORMAT), + status: 'BBBBBB', + }, + elemDefault + ); + + const expected = Object.assign( + { + createDate: currentDate, + }, + returnedFromService + ); + + service.query().subscribe(resp => (expectedResult = resp.body)); + + const req = httpMock.expectOne({ method: 'GET' }); + req.flush([returnedFromService]); + httpMock.verify(); + expect(expectedResult).toContainEqual(expected); + }); + + it('should delete a RegisterRequest', () => { + service.delete(123).subscribe(resp => (expectedResult = resp.ok)); + + const req = httpMock.expectOne({ method: 'DELETE' }); + req.flush({ status: 200 }); + expect(expectedResult); + }); + }); + + afterEach(() => { + httpMock.verify(); + }); + }); +});