Skip to content
Snippets Groups Projects
Commit e7a1978d authored by evilimkova's avatar evilimkova
Browse files

Adding CourseCertificateDto - do not pass students

parent 232d51e0
No related branches found
No related tags found
1 merge request!36M2 fix certificate
......@@ -4,7 +4,7 @@ import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import org.fuseri.model.dto.course.CourseDto;
import org.fuseri.model.dto.course.CourseCertificateDto;
import org.fuseri.model.dto.user.UserDto;
......@@ -20,9 +20,9 @@ public class CertificateCreateDto {
private UserDto user;
@NotNull
@Valid
private CourseDto course;
private CourseCertificateDto course;
public CertificateCreateDto(UserDto user, CourseDto course) {
public CertificateCreateDto(UserDto user, CourseCertificateDto course) {
this.user = user;
this.course = course;
}
......
package org.fuseri.model.dto.course;
import jakarta.validation.Valid;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.fuseri.model.dto.common.DomainObjectDto;
/**
* This class represents a Data Transfer Object (DTO) for Course entities.
* It is used for passing Course data to Certificate module.
* It extends the DomainObjectDto class and includes additional Course-specific fields.
*/
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
public class CourseCertificateDto extends DomainObjectDto {
@NotBlank(message = "Course name is required")
@Size(max = 63, message = "Course name must not exceed {max} characters")
private String name;
@NotNull(message = "Lecture capacity cannot be null")
@Min(value = 1, message = "Lecture capacity must be at least 1")
private Integer capacity;
@NotNull(message = "Language type is required")
@Valid
private LanguageTypeDto language;
@NotNull(message = "Proficiency level is required")
@Valid
private ProficiencyLevelDto proficiency;
public CourseCertificateDto(String name, Integer capacity, LanguageTypeDto languageTypeDto, ProficiencyLevelDto proficiencyLevelDto) {
this.name = name;
this.capacity = capacity;
this.language = languageTypeDto;
this.proficiency = proficiencyLevelDto;
}
}
......@@ -3,7 +3,7 @@ package org.fuseri.modulecertificate;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.fuseri.model.dto.certificate.CertificateCreateDto;
import org.fuseri.model.dto.certificate.CertificateSimpleDto;
import org.fuseri.model.dto.course.CourseDto;
import org.fuseri.model.dto.course.CourseCertificateDto;
import org.fuseri.model.dto.course.LanguageTypeDto;
import org.fuseri.model.dto.course.ProficiencyLevelDto;
import org.fuseri.model.dto.user.AddressDto;
......@@ -36,7 +36,7 @@ class CertificateControllerTests {
private final UserDto USER = new UserDto("novakovat",
"novakova@gamil.com", "Tereza", "Nováková", new AddressDto(), UserType.STUDENT);
private final CourseDto COURSE = new CourseDto("AJ1", 10,
private final CourseCertificateDto COURSE = new CourseCertificateDto("AJ1", 10,
LanguageTypeDto.ENGLISH, ProficiencyLevelDto.A1);
private final CertificateCreateDto certificateCreateDto = new CertificateCreateDto(USER, COURSE);
private final CertificateSimpleDto certificateDto = new CertificateSimpleDto(0L, USER.getId(),
......
......@@ -2,7 +2,7 @@ package org.fuseri.modulecertificate;
import org.fuseri.model.dto.certificate.CertificateCreateDto;
import org.fuseri.model.dto.certificate.CertificateSimpleDto;
import org.fuseri.model.dto.course.CourseDto;
import org.fuseri.model.dto.course.CourseCertificateDto;
import org.fuseri.model.dto.course.LanguageTypeDto;
import org.fuseri.model.dto.course.ProficiencyLevelDto;
import org.fuseri.model.dto.user.AddressDto;
......@@ -35,7 +35,7 @@ import static org.mockito.Mockito.when;
final class CertificateFacadeTests {
private final UserDto USER = new UserDto("novakovat",
"novakova@gamil.com", "Tereza", "Nováková", new AddressDto(), UserType.STUDENT);
private final CourseDto COURSE = new CourseDto("AJ1", 10,
private final CourseCertificateDto COURSE = new CourseCertificateDto("AJ1", 10,
LanguageTypeDto.ENGLISH, ProficiencyLevelDto.A1);
private final CertificateCreateDto certificateCreateDto = new CertificateCreateDto(USER, COURSE);
private final CertificateSimpleDto certificateDto = new CertificateSimpleDto(0L, USER.getId(),
......
......@@ -2,7 +2,7 @@ package org.fuseri.modulecertificate;
import org.fuseri.model.dto.certificate.CertificateCreateDto;
import org.fuseri.model.dto.certificate.CertificateSimpleDto;
import org.fuseri.model.dto.course.CourseDto;
import org.fuseri.model.dto.course.CourseCertificateDto;
import org.fuseri.model.dto.course.LanguageTypeDto;
import org.fuseri.model.dto.course.ProficiencyLevelDto;
import org.fuseri.model.dto.user.AddressDto;
......@@ -27,7 +27,7 @@ final class CertificateMapperTests {
private final UserDto USER = new UserDto("novakovat",
"novakova@gamil.com", "Tereza", "Nováková", new AddressDto(), UserType.STUDENT);
private final CourseDto COURSE = new CourseDto("AJ1", 10,
private final CourseCertificateDto COURSE = new CourseCertificateDto("AJ1", 10,
LanguageTypeDto.ENGLISH, ProficiencyLevelDto.A1);
private final Instant instant = Instant.now();
private final String fileName = "fileName";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment