From c4529c11b2e3e4a05b0dbf88b7ce1ffb8615df69 Mon Sep 17 00:00:00 2001 From: =adnan <=adnan@kiebot.com> Date: Sat, 15 Jun 2024 17:38:50 +0530 Subject: [PATCH] changed Assessment to Assignment --- .../java/in/upcode/cat/domain/Assessment.java | 257 ------- .../java/in/upcode/cat/domain/Assignment.java | 355 +++++++++ .../java/in/upcode/cat/domain/Category.java | 117 +++ .../java/in/upcode/cat/domain/Question.java | 150 ---- .../java/in/upcode/cat/domain/Submission.java | 189 +++-- .../upcode/cat/domain/SubmissionResult.java | 2 +- src/main/java/in/upcode/cat/domain/User.java | 15 + .../in/upcode/cat/domain/UserAssessment.java | 171 ----- .../in/upcode/cat/domain/UserAssignment.java | 231 ++++++ .../in/upcode/cat/domain/ValidationRule.java | 134 ---- .../domain/enumeration/AssessmentStatus.java | 9 - .../domain/enumeration/AssignmentStatus.java | 10 + ...ository.java => AssignmentRepository.java} | 6 +- ...epository.java => CategoryRepository.java} | 7 +- ...ory.java => UserAssignmentRepository.java} | 6 +- .../repository/ValidationRuleRepository.java | 12 - .../upcode/cat/service/AssessmentService.java | 108 --- .../upcode/cat/service/AssignmentService.java | 108 +++ .../upcode/cat/service/QuestionService.java | 108 --- .../cat/service/UserAssessmentService.java | 108 --- .../cat/service/UserAssignmentService.java | 108 +++ .../cat/service/ValidationRuleService.java | 112 --- .../upcode/cat/service/dto/AssessmentDTO.java | 179 ----- .../upcode/cat/service/dto/AssignmentDTO.java | 282 +++++++ .../upcode/cat/service/dto/CategoryDTO.java | 105 +++ .../upcode/cat/service/dto/QuestionDTO.java | 106 --- .../upcode/cat/service/dto/SubmissionDTO.java | 165 ++-- .../cat/service/dto/UserAssessmentDTO.java | 121 --- .../cat/service/dto/UserAssignmentDTO.java | 178 +++++ .../cat/service/dto/ValidationRuleDTO.java | 96 --- .../cat/service/mapper/AssessmentMapper.java | 21 - .../cat/service/mapper/AssignmentMapper.java | 31 + .../cat/service/mapper/QuestionMapper.java | 21 - .../cat/service/mapper/SubmissionMapper.java | 20 +- .../service/mapper/UserAssessmentMapper.java | 30 - .../service/mapper/UserAssignmentMapper.java | 35 + .../service/mapper/ValidationRuleMapper.java | 21 - .../cat/web/rest/AssessmentResource.java | 179 ----- .../cat/web/rest/AssignmentResource.java | 179 +++++ .../upcode/cat/web/rest/QuestionResource.java | 171 ----- .../cat/web/rest/UserAssessmentResource.java | 182 ----- .../cat/web/rest/UserAssignmentResource.java | 182 +++++ .../cat/web/rest/ValidationRuleResource.java | 172 ----- ...ngTest.java => AssignmentGatlingTest.java} | 18 +- .../simulations/QuestionGatlingTest.java | 105 --- ...st.java => UserAssignmentGatlingTest.java} | 18 +- .../ValidationRuleGatlingTest.java | 100 --- .../in/upcode/cat/domain/AssessmentTest.java | 24 - .../cat/domain/AssessmentTestSamples.java | 50 -- .../in/upcode/cat/domain/AssignmentTest.java | 24 + .../cat/domain/AssignmentTestSamples.java | 68 ++ .../in/upcode/cat/domain/QuestionTest.java | 37 - .../cat/domain/QuestionTestSamples.java | 23 - .../in/upcode/cat/domain/SubmissionTest.java | 22 +- .../cat/domain/SubmissionTestSamples.java | 31 +- .../upcode/cat/domain/UserAssessmentTest.java | 37 - .../cat/domain/UserAssessmentTestSamples.java | 18 - .../upcode/cat/domain/UserAssignmentTest.java | 37 + .../cat/domain/UserAssignmentTestSamples.java | 18 + .../upcode/cat/domain/ValidationRuleTest.java | 37 - .../cat/domain/ValidationRuleTestSamples.java | 18 - .../cat/service/dto/AssessmentDTOTest.java | 24 - .../cat/service/dto/AssignmentDTOTest.java | 24 + .../cat/service/dto/QuestionDTOTest.java | 24 - .../service/dto/UserAssessmentDTOTest.java | 24 - .../service/dto/UserAssignmentDTOTest.java | 24 + .../service/dto/ValidationRuleDTOTest.java | 24 - ...perTest.java => AssignmentMapperTest.java} | 6 +- .../service/mapper/QuestionMapperTest.java | 13 - .../mapper/UserAssessmentMapperTest.java | 13 - .../mapper/UserAssignmentMapperTest.java | 13 + .../mapper/ValidationRuleMapperTest.java | 13 - .../cat/web/rest/AssessmentResourceIT.java | 604 --------------- .../cat/web/rest/AssignmentResourceIT.java | 708 ++++++++++++++++++ .../cat/web/rest/QuestionResourceIT.java | 412 ---------- .../cat/web/rest/SubmissionResourceIT.java | 118 ++- .../web/rest/UserAssessmentResourceIT.java | 442 ----------- .../web/rest/UserAssignmentResourceIT.java | 442 +++++++++++ .../web/rest/ValidationRuleResourceIT.java | 423 ----------- 79 files changed, 3702 insertions(+), 5133 deletions(-) delete mode 100644 src/main/java/in/upcode/cat/domain/Assessment.java create mode 100644 src/main/java/in/upcode/cat/domain/Assignment.java create mode 100644 src/main/java/in/upcode/cat/domain/Category.java delete mode 100644 src/main/java/in/upcode/cat/domain/Question.java delete mode 100644 src/main/java/in/upcode/cat/domain/UserAssessment.java create mode 100644 src/main/java/in/upcode/cat/domain/UserAssignment.java delete mode 100644 src/main/java/in/upcode/cat/domain/ValidationRule.java delete mode 100644 src/main/java/in/upcode/cat/domain/enumeration/AssessmentStatus.java create mode 100644 src/main/java/in/upcode/cat/domain/enumeration/AssignmentStatus.java rename src/main/java/in/upcode/cat/repository/{AssessmentRepository.java => AssignmentRepository.java} (52%) rename src/main/java/in/upcode/cat/repository/{QuestionRepository.java => CategoryRepository.java} (51%) rename src/main/java/in/upcode/cat/repository/{UserAssessmentRepository.java => UserAssignmentRepository.java} (50%) delete mode 100644 src/main/java/in/upcode/cat/repository/ValidationRuleRepository.java delete mode 100644 src/main/java/in/upcode/cat/service/AssessmentService.java create mode 100644 src/main/java/in/upcode/cat/service/AssignmentService.java delete mode 100644 src/main/java/in/upcode/cat/service/QuestionService.java delete mode 100644 src/main/java/in/upcode/cat/service/UserAssessmentService.java create mode 100644 src/main/java/in/upcode/cat/service/UserAssignmentService.java delete mode 100644 src/main/java/in/upcode/cat/service/ValidationRuleService.java delete mode 100644 src/main/java/in/upcode/cat/service/dto/AssessmentDTO.java create mode 100644 src/main/java/in/upcode/cat/service/dto/AssignmentDTO.java create mode 100644 src/main/java/in/upcode/cat/service/dto/CategoryDTO.java delete mode 100644 src/main/java/in/upcode/cat/service/dto/QuestionDTO.java delete mode 100644 src/main/java/in/upcode/cat/service/dto/UserAssessmentDTO.java create mode 100644 src/main/java/in/upcode/cat/service/dto/UserAssignmentDTO.java delete mode 100644 src/main/java/in/upcode/cat/service/dto/ValidationRuleDTO.java delete mode 100644 src/main/java/in/upcode/cat/service/mapper/AssessmentMapper.java create mode 100644 src/main/java/in/upcode/cat/service/mapper/AssignmentMapper.java delete mode 100644 src/main/java/in/upcode/cat/service/mapper/QuestionMapper.java delete mode 100644 src/main/java/in/upcode/cat/service/mapper/UserAssessmentMapper.java create mode 100644 src/main/java/in/upcode/cat/service/mapper/UserAssignmentMapper.java delete mode 100644 src/main/java/in/upcode/cat/service/mapper/ValidationRuleMapper.java delete mode 100644 src/main/java/in/upcode/cat/web/rest/AssessmentResource.java create mode 100644 src/main/java/in/upcode/cat/web/rest/AssignmentResource.java delete mode 100644 src/main/java/in/upcode/cat/web/rest/QuestionResource.java delete mode 100644 src/main/java/in/upcode/cat/web/rest/UserAssessmentResource.java create mode 100644 src/main/java/in/upcode/cat/web/rest/UserAssignmentResource.java delete mode 100644 src/main/java/in/upcode/cat/web/rest/ValidationRuleResource.java rename src/test/java/gatling/simulations/{AssessmentGatlingTest.java => AssignmentGatlingTest.java} (87%) delete mode 100644 src/test/java/gatling/simulations/QuestionGatlingTest.java rename src/test/java/gatling/simulations/{UserAssessmentGatlingTest.java => UserAssignmentGatlingTest.java} (84%) delete mode 100644 src/test/java/gatling/simulations/ValidationRuleGatlingTest.java delete mode 100644 src/test/java/in/upcode/cat/domain/AssessmentTest.java delete mode 100644 src/test/java/in/upcode/cat/domain/AssessmentTestSamples.java create mode 100644 src/test/java/in/upcode/cat/domain/AssignmentTest.java create mode 100644 src/test/java/in/upcode/cat/domain/AssignmentTestSamples.java delete mode 100644 src/test/java/in/upcode/cat/domain/QuestionTest.java delete mode 100644 src/test/java/in/upcode/cat/domain/QuestionTestSamples.java delete mode 100644 src/test/java/in/upcode/cat/domain/UserAssessmentTest.java delete mode 100644 src/test/java/in/upcode/cat/domain/UserAssessmentTestSamples.java create mode 100644 src/test/java/in/upcode/cat/domain/UserAssignmentTest.java create mode 100644 src/test/java/in/upcode/cat/domain/UserAssignmentTestSamples.java delete mode 100644 src/test/java/in/upcode/cat/domain/ValidationRuleTest.java delete mode 100644 src/test/java/in/upcode/cat/domain/ValidationRuleTestSamples.java delete mode 100644 src/test/java/in/upcode/cat/service/dto/AssessmentDTOTest.java create mode 100644 src/test/java/in/upcode/cat/service/dto/AssignmentDTOTest.java delete mode 100644 src/test/java/in/upcode/cat/service/dto/QuestionDTOTest.java delete mode 100644 src/test/java/in/upcode/cat/service/dto/UserAssessmentDTOTest.java create mode 100644 src/test/java/in/upcode/cat/service/dto/UserAssignmentDTOTest.java delete mode 100644 src/test/java/in/upcode/cat/service/dto/ValidationRuleDTOTest.java rename src/test/java/in/upcode/cat/service/mapper/{AssessmentMapperTest.java => AssignmentMapperTest.java} (50%) delete mode 100644 src/test/java/in/upcode/cat/service/mapper/QuestionMapperTest.java delete mode 100644 src/test/java/in/upcode/cat/service/mapper/UserAssessmentMapperTest.java create mode 100644 src/test/java/in/upcode/cat/service/mapper/UserAssignmentMapperTest.java delete mode 100644 src/test/java/in/upcode/cat/service/mapper/ValidationRuleMapperTest.java delete mode 100644 src/test/java/in/upcode/cat/web/rest/AssessmentResourceIT.java create mode 100644 src/test/java/in/upcode/cat/web/rest/AssignmentResourceIT.java delete mode 100644 src/test/java/in/upcode/cat/web/rest/QuestionResourceIT.java delete mode 100644 src/test/java/in/upcode/cat/web/rest/UserAssessmentResourceIT.java create mode 100644 src/test/java/in/upcode/cat/web/rest/UserAssignmentResourceIT.java delete mode 100644 src/test/java/in/upcode/cat/web/rest/ValidationRuleResourceIT.java diff --git a/src/main/java/in/upcode/cat/domain/Assessment.java b/src/main/java/in/upcode/cat/domain/Assessment.java deleted file mode 100644 index e211729..0000000 --- a/src/main/java/in/upcode/cat/domain/Assessment.java +++ /dev/null @@ -1,257 +0,0 @@ -package in.upcode.cat.domain; - -import jakarta.validation.constraints.*; -import java.io.Serializable; -import java.time.ZonedDateTime; -import org.springframework.data.annotation.Id; -import org.springframework.data.mongodb.core.mapping.DBRef; -import org.springframework.data.mongodb.core.mapping.Document; -import org.springframework.data.mongodb.core.mapping.Field; - -/** - * A Assessment. - */ -@Document(collection = "assessment") -@SuppressWarnings("common-java:DuplicatedBlocks") -public class Assessment implements Serializable { - - private static final long serialVersionUID = 1L; - - @Id - private String id; - - @NotNull - @Field("title") - private String title; - - @Field("description") - private String description; - - @Field("language_framework") - private String languageFramework; - - @Field("difficulty_level") - private String difficultyLevel; - - @Field("time_limit") - private Integer timeLimit; - - @NotNull - @Field("type") - private String type; - - @NotNull - @Field("validation_criteria") - private String validationCriteria; - - @NotNull - @Field("question") - private String question; - - @NotNull - @Field("max_points") - private Integer maxPoints; - - @NotNull - @Field("deadline") - private ZonedDateTime deadline; - - @DBRef - @Field("assignedToUser") - private User assignedToUser; - - // jhipster-needle-entity-add-field - JHipster will add fields here - - public String getId() { - return this.id; - } - - public Assessment id(String id) { - this.setId(id); - return this; - } - - public void setId(String id) { - this.id = id; - } - - public String getTitle() { - return this.title; - } - - public Assessment title(String title) { - this.setTitle(title); - return this; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getDescription() { - return this.description; - } - - public Assessment description(String description) { - this.setDescription(description); - return this; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getLanguageFramework() { - return this.languageFramework; - } - - public Assessment languageFramework(String languageFramework) { - this.setLanguageFramework(languageFramework); - return this; - } - - public void setLanguageFramework(String languageFramework) { - this.languageFramework = languageFramework; - } - - public String getDifficultyLevel() { - return this.difficultyLevel; - } - - public Assessment difficultyLevel(String difficultyLevel) { - this.setDifficultyLevel(difficultyLevel); - return this; - } - - public void setDifficultyLevel(String difficultyLevel) { - this.difficultyLevel = difficultyLevel; - } - - public Integer getTimeLimit() { - return this.timeLimit; - } - - public Assessment timeLimit(Integer timeLimit) { - this.setTimeLimit(timeLimit); - return this; - } - - public void setTimeLimit(Integer timeLimit) { - this.timeLimit = timeLimit; - } - - public String getType() { - return this.type; - } - - public Assessment type(String type) { - this.setType(type); - return this; - } - - public void setType(String type) { - this.type = type; - } - - public String getValidationCriteria() { - return this.validationCriteria; - } - - public Assessment validationCriteria(String validationCriteria) { - this.setValidationCriteria(validationCriteria); - return this; - } - - public void setValidationCriteria(String validationCriteria) { - this.validationCriteria = validationCriteria; - } - - public String getQuestion() { - return this.question; - } - - public Assessment question(String question) { - this.setQuestion(question); - return this; - } - - public void setQuestion(String question) { - this.question = question; - } - - public Integer getMaxPoints() { - return this.maxPoints; - } - - public Assessment maxPoints(Integer maxPoints) { - this.setMaxPoints(maxPoints); - return this; - } - - public void setMaxPoints(Integer maxPoints) { - this.maxPoints = maxPoints; - } - - public ZonedDateTime getDeadline() { - return this.deadline; - } - - public Assessment deadline(ZonedDateTime deadline) { - this.setDeadline(deadline); - return this; - } - - public void setDeadline(ZonedDateTime deadline) { - this.deadline = deadline; - } - - public User getAssignedToUser() { - return this.assignedToUser; - } - - public void setAssignedToUser(User user) { - this.assignedToUser = user; - } - - public Assessment assignedToUser(User user) { - this.setAssignedToUser(user); - return this; - } - - // 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 Assessment)) { - return false; - } - return getId() != null && getId().equals(((Assessment) o).getId()); - } - - @Override - public int hashCode() { - // see https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/ - return getClass().hashCode(); - } - - // prettier-ignore - @Override - public String toString() { - return "Assessment{" + - "id=" + getId() + - ", title='" + getTitle() + "'" + - ", description='" + getDescription() + "'" + - ", languageFramework='" + getLanguageFramework() + "'" + - ", difficultyLevel='" + getDifficultyLevel() + "'" + - ", timeLimit=" + getTimeLimit() + - ", type='" + getType() + "'" + - ", validationCriteria='" + getValidationCriteria() + "'" + - ", question='" + getQuestion() + "'" + - ", maxPoints=" + getMaxPoints() + - ", deadline='" + getDeadline() + "'" + - "}"; - } -} diff --git a/src/main/java/in/upcode/cat/domain/Assignment.java b/src/main/java/in/upcode/cat/domain/Assignment.java new file mode 100644 index 0000000..65586a4 --- /dev/null +++ b/src/main/java/in/upcode/cat/domain/Assignment.java @@ -0,0 +1,355 @@ +package in.upcode.cat.domain; + +import jakarta.validation.constraints.*; +import java.io.Serializable; +import java.time.LocalTime; +import java.time.ZonedDateTime; +import java.util.Arrays; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.DBRef; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +/** + * A Assignment. + */ +@Document(collection = "assignment") +@SuppressWarnings("common-java:DuplicatedBlocks") +public class Assignment implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + private String id; + + @Field("question") + private String question; + + @Field("description") + private String description; + + @Field("image") + private byte[] image; + + @Field("url") + private String url; + + @Field("urlType") + private String urlType; + + @NotNull + @Field("technology") + private String technology; + + @Field("difficultyLevel") + private String difficultyLevel; + + @Field("timeLimit") + private LocalTime timeLimit; + + @NotNull + @Field("type") + private Category type; + + @NotNull + @Field("evaluationType") + private String evaluationType; + + @NotNull + @Field("maxPoints") + private Integer maxPoints; + + // jhipster-needle-entity-add-field - JHipster will add fields here + + public String getId() { + return this.id; + } + + public Assignment id(String id) { + this.setId(id); + return this; + } + + public void setId(String id) { + this.id = id; + } + + public String getQuestion() { + return this.question; + } + + public Assignment question(String question) { + this.setQuestion(question); + return this; + } + + public void setQuestion(String question) { + this.question = question; + } + + public String getDescription() { + return this.description; + } + + public Assignment description(String description) { + this.setDescription(description); + return this; + } + + public void setDescription(String description) { + this.description = description; + } + + public byte[] getImage() { + return this.image; + } + + public Assignment image(byte[] string) { + this.setImage(string); + return this; + } + + public void setImage(byte[] image) { + this.image = image; + } + + public String getUrl() { + return this.url; + } + + public Assignment url(String url) { + this.setUrl(url); + return this; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getUrlType() { + return this.urlType; + } + + public Assignment urlType(String urlType) { + this.setUrlType(urlType); + return this; + } + + public void setUrlType(String urlType) { + this.urlType = urlType; + } + + public String getTechnology() { + return this.technology; + } + + public Assignment technology(String technology) { + this.setTechnology(technology); + return this; + } + + public void setTechnology(String technology) { + this.technology = technology; + } + + public String getDifficultyLevel() { + return this.difficultyLevel; + } + + public Assignment difficultyLevel(String difficultyLevel) { + this.setDifficultyLevel(difficultyLevel); + return this; + } + + public void setDifficultyLevel(String difficultyLevel) { + this.difficultyLevel = difficultyLevel; + } + + public LocalTime getTimeLimit() { + return this.timeLimit; + } + + public Assignment timeLimit(LocalTime timeLimit) { + this.setTimeLimit(timeLimit); + return this; + } + + public void setTimeLimit(LocalTime timeLimit) { + this.timeLimit = timeLimit; + } + + public Category getType() { + return this.type; + } + + public Assignment type(Category type) { + this.setType(type); + return this; + } + + public void setType(Category type) { + this.type = type; + } + + public String getEvaluationType() { + return this.evaluationType; + } + + public Assignment evaluationType(String evaluationType) { + this.setEvaluationType(evaluationType); + return this; + } + + public void setEvaluationType(String evaluationType) { + this.evaluationType = evaluationType; + } + + public Integer getMaxPoints() { + return this.maxPoints; + } + + public Assignment maxPoints(Integer maxPoints) { + this.setMaxPoints(maxPoints); + return this; + } + + public void setMaxPoints(Integer maxPoints) { + this.maxPoints = maxPoints; + } + + // @Override + // public int hashCode() { + // final int prime = 31; + // int result = 1; + // result = prime * result + ((id == null) ? 0 : id.hashCode()); + // result = prime * result + ((question == null) ? 0 : question.hashCode()); + // result = prime * result + ((description == null) ? 0 : description.hashCode()); + // result = prime * result + Arrays.hashCode(image); + // result = prime * result + ((url == null) ? 0 : url.hashCode()); + // result = prime * result + ((urlType == null) ? 0 : urlType.hashCode()); + // result = prime * result + ((technology == null) ? 0 : technology.hashCode()); + // result = prime * result + ((difficultyLevel == null) ? 0 : difficultyLevel.hashCode()); + // result = prime * result + ((timeLimit == null) ? 0 : timeLimit.hashCode()); + // result = prime * result + ((type == null) ? 0 : type.hashCode()); + // result = prime * result + ((evaluationType == null) ? 0 : evaluationType.hashCode()); + // result = prime * result + ((maxPoints == null) ? 0 : maxPoints.hashCode()); + // return result; + // } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Assignment)) { + return false; + } + return getId() != null && getId().equals(((Assignment) o).getId()); + } + + @Override + public int hashCode() { + // see https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/ + return getClass().hashCode(); + } + + // @Override + // public boolean equals(Object obj) { + // if (this == obj) + // return true; + // if (obj == null) + // return false; + // if (getClass() != obj.getClass()) + // return false; + // Assignment other = (Assignment) obj; + // if (id == null) { + // if (other.id != null) + // return false; + // } else if (!id.equals(other.id)) + // return false; + // if (question == null) { + // if (other.question != null) + // return false; + // } else if (!question.equals(other.question)) + // return false; + // if (description == null) { + // if (other.description != null) + // return false; + // } else if (!description.equals(other.description)) + // return false; + // if (!Arrays.equals(image, other.image)) + // return false; + // if (url == null) { + // if (other.url != null) + // return false; + // } else if (!url.equals(other.url)) + // return false; + // if (urlType == null) { + // if (other.urlType != null) + // return false; + // } else if (!urlType.equals(other.urlType)) + // return false; + // if (technology == null) { + // if (other.technology != null) + // return false; + // } else if (!technology.equals(other.technology)) + // return false; + // if (difficultyLevel == null) { + // if (other.difficultyLevel != null) + // return false; + // } else if (!difficultyLevel.equals(other.difficultyLevel)) + // return false; + // if (timeLimit == null) { + // if (other.timeLimit != null) + // return false; + // } else if (!timeLimit.equals(other.timeLimit)) + // return false; + // if (type == null) { + // if (other.type != null) + // return false; + // } else if (!type.equals(other.type)) + // return false; + // if (evaluationType == null) { + // if (other.evaluationType != null) + // return false; + // } else if (!evaluationType.equals(other.evaluationType)) + // return false; + // if (maxPoints == null) { + // if (other.maxPoints != null) + // return false; + // } else if (!maxPoints.equals(other.maxPoints)) + // return false; + // return true; + // } + + @Override + public String toString() { + return ( + "Assignment [id=" + + id + + ", question=" + + question + + ", description=" + + description + + ", image=" + + Arrays.toString(image) + + ", url=" + + url + + ", urlType=" + + urlType + + ", technology=" + + technology + + ", difficultyLevel=" + + difficultyLevel + + ", timeLimit=" + + timeLimit + + ", type=" + + type + + ", evaluationType=" + + evaluationType + + ", maxPoints=" + + maxPoints + + "]" + ); + } +} diff --git a/src/main/java/in/upcode/cat/domain/Category.java b/src/main/java/in/upcode/cat/domain/Category.java new file mode 100644 index 0000000..9b25f6f --- /dev/null +++ b/src/main/java/in/upcode/cat/domain/Category.java @@ -0,0 +1,117 @@ +package in.upcode.cat.domain; + +import io.mongock.utils.field.Field; +import java.io.Serializable; +import java.util.Arrays; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; + +@Document(collection = "category") +public class Category implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + private String id; + + @Field("assignmentType") + private String assignmentType; + + @Field("image") + private byte[] image; + + public String getId() { + return this.id; + } + + public Category id(String id) { + this.setId(id); + return this; + } + + public void setId(String id) { + this.id = id; + } + + public String getAssignmentType() { + return this.assignmentType; + } + + public Category assignmentType(String assignmentType) { + this.setAssignmentType(assignmentType); + return this; + } + + public void setAssignmentType(String assignmentType) { + this.assignmentType = assignmentType; + } + + public byte[] getImage() { + return this.image; + } + + public Category image(byte[] image) { + this.setImage(image); + return this; + } + + public void setImage(byte[] image) { + this.image = image; + } + + // @Override + // public int hashCode() { + // final int prime = 31; + // int result = 1; + // result = prime * result + ((id == null) ? 0 : id.hashCode()); + // result = prime * result + ((assignmentType == null) ? 0 : assignmentType.hashCode()); + // result = prime * result + Arrays.hashCode(image); + // return result; + // } + + // @Override + // public boolean equals(Object obj) { + // if (this == obj) + // return true; + // if (obj == null) + // return false; + // if (getClass() != obj.getClass()) + // return false; + // Category other = (Category) obj; + // if (id == null) { + // if (other.id != null) + // return false; + // } else if (!id.equals(other.id)) + // return false; + // if (assignmentType == null) { + // if (other.assignmentType != null) + // return false; + // } else if (!assignmentType.equals(other.assignmentType)) + // return false; + // if (!Arrays.equals(image, other.image)) + // return false; + // return true; + // } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Category)) { + return false; + } + return getId() != null && getId().equals(((Category) o).getId()); + } + + @Override + public int hashCode() { + // see https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/ + return getClass().hashCode(); + } + + @Override + public String toString() { + return "Category [id=" + id + ", assignmentType=" + assignmentType + ", image=" + Arrays.toString(image) + "]"; + } +} diff --git a/src/main/java/in/upcode/cat/domain/Question.java b/src/main/java/in/upcode/cat/domain/Question.java deleted file mode 100644 index 816751d..0000000 --- a/src/main/java/in/upcode/cat/domain/Question.java +++ /dev/null @@ -1,150 +0,0 @@ -package in.upcode.cat.domain; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import jakarta.validation.constraints.*; -import java.io.Serializable; -import org.springframework.data.annotation.Id; -import org.springframework.data.mongodb.core.mapping.DBRef; -import org.springframework.data.mongodb.core.mapping.Document; -import org.springframework.data.mongodb.core.mapping.Field; - -/** - * A Question. - */ -@Document(collection = "question") -@SuppressWarnings("common-java:DuplicatedBlocks") -public class Question implements Serializable { - - private static final long serialVersionUID = 1L; - - @Id - private String id; - - @Field("question_text") - private String questionText; - - @Field("code_snippet") - private String codeSnippet; - - @Field("resources") - private String resources; - - @Field("points") - private Integer points; - - @DBRef - @Field("assessment") - @JsonIgnoreProperties(value = { "assignedToUser" }, allowSetters = true) - private Assessment assessment; - - // jhipster-needle-entity-add-field - JHipster will add fields here - - public String getId() { - return this.id; - } - - public Question id(String id) { - this.setId(id); - return this; - } - - public void setId(String id) { - this.id = id; - } - - public String getQuestionText() { - return this.questionText; - } - - public Question questionText(String questionText) { - this.setQuestionText(questionText); - return this; - } - - public void setQuestionText(String questionText) { - this.questionText = questionText; - } - - public String getCodeSnippet() { - return this.codeSnippet; - } - - public Question codeSnippet(String codeSnippet) { - this.setCodeSnippet(codeSnippet); - return this; - } - - public void setCodeSnippet(String codeSnippet) { - this.codeSnippet = codeSnippet; - } - - public String getResources() { - return this.resources; - } - - public Question resources(String resources) { - this.setResources(resources); - return this; - } - - public void setResources(String resources) { - this.resources = resources; - } - - public Integer getPoints() { - return this.points; - } - - public Question points(Integer points) { - this.setPoints(points); - return this; - } - - public void setPoints(Integer points) { - this.points = points; - } - - public Assessment getAssessment() { - return this.assessment; - } - - public void setAssessment(Assessment assessment) { - this.assessment = assessment; - } - - public Question assessment(Assessment assessment) { - this.setAssessment(assessment); - return this; - } - - // 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 Question)) { - return false; - } - return getId() != null && getId().equals(((Question) o).getId()); - } - - @Override - public int hashCode() { - // see https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/ - return getClass().hashCode(); - } - - // prettier-ignore - @Override - public String toString() { - return "Question{" + - "id=" + getId() + - ", questionText='" + getQuestionText() + "'" + - ", codeSnippet='" + getCodeSnippet() + "'" + - ", resources='" + getResources() + "'" + - ", points=" + getPoints() + - "}"; - } -} diff --git a/src/main/java/in/upcode/cat/domain/Submission.java b/src/main/java/in/upcode/cat/domain/Submission.java index 4335461..6da7163 100644 --- a/src/main/java/in/upcode/cat/domain/Submission.java +++ b/src/main/java/in/upcode/cat/domain/Submission.java @@ -3,6 +3,8 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import jakarta.validation.constraints.*; import java.io.Serializable; +import java.time.Instant; +import java.util.Arrays; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.DBRef; import org.springframework.data.mongodb.core.mapping.Document; @@ -27,15 +29,12 @@ public class Submission implements Serializable { @Field("screenshots") private byte[] screenshots; - @Field("screenshots_content_type") - private String screenshotsContentType; - - @Field("video_explanation") - private String videoExplanation; - @Field("text_description") private String textDescription; + @Field("timeTaken") + private Instant timeTaken; + @Field("feedback") private String feedback; @@ -44,17 +43,16 @@ public class Submission implements Serializable { @DBRef @Field("forAssignment") - @JsonIgnoreProperties(value = { "submittedByUser", "user", "assessment" }, allowSetters = true) - private UserAssessment forAssignment; + private UserAssignment forAssignment; @DBRef @Field("user") private User user; @DBRef - @Field("assessment") + @Field("assignment") @JsonIgnoreProperties(value = { "assignedToUser" }, allowSetters = true) - private Assessment assessment; + private Assignment assignment; // jhipster-needle-entity-add-field - JHipster will add fields here @@ -97,43 +95,30 @@ public void setScreenshots(byte[] screenshots) { this.screenshots = screenshots; } - public String getScreenshotsContentType() { - return this.screenshotsContentType; - } - - public Submission screenshotsContentType(String screenshotsContentType) { - this.screenshotsContentType = screenshotsContentType; - return this; - } - - public void setScreenshotsContentType(String screenshotsContentType) { - this.screenshotsContentType = screenshotsContentType; - } - - public String getVideoExplanation() { - return this.videoExplanation; + public String getTextDescription() { + return this.textDescription; } - public Submission videoExplanation(String videoExplanation) { - this.setVideoExplanation(videoExplanation); + public Submission textDescription(String textDescription) { + this.setTextDescription(textDescription); return this; } - public void setVideoExplanation(String videoExplanation) { - this.videoExplanation = videoExplanation; + public void setTextDescription(String textDescription) { + this.textDescription = textDescription; } - public String getTextDescription() { - return this.textDescription; + public Instant getTimeTaken() { + return this.timeTaken; } - public Submission textDescription(String textDescription) { - this.setTextDescription(textDescription); + public Submission timeTaken(Instant timeTaken) { + this.setTimeTaken(timeTaken); return this; } - public void setTextDescription(String textDescription) { - this.textDescription = textDescription; + public void setTimeTaken(Instant timeTaken) { + this.timeTaken = timeTaken; } public String getFeedback() { @@ -162,16 +147,16 @@ public void setPointsScored(Integer pointsScored) { this.pointsScored = pointsScored; } - public UserAssessment getForAssignment() { + public UserAssignment getForAssignment() { return this.forAssignment; } - public void setForAssignment(UserAssessment userAssessment) { - this.forAssignment = userAssessment; + public void setForAssignment(UserAssignment userAssignment) { + this.forAssignment = userAssignment; } - public Submission forAssignment(UserAssessment userAssessment) { - this.setForAssignment(userAssessment); + public Submission forAssignment(UserAssignment userAssignment) { + this.setForAssignment(userAssignment); return this; } @@ -188,20 +173,94 @@ public Submission user(User user) { return this; } - public Assessment getAssessment() { - return this.assessment; + public Assignment getAssignment() { + return this.assignment; } - public void setAssessment(Assessment assessment) { - this.assessment = assessment; + public void setAssignment(Assignment assignment) { + this.assignment = assignment; } - public Submission assessment(Assessment assessment) { - this.setAssessment(assessment); + public Submission assignment(Assignment assignment) { + this.setAssignment(assignment); return this; } - // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here + // @Override + // public int hashCode() { + // final int prime = 31; + // int result = 1; + // result = prime * result + ((id == null) ? 0 : id.hashCode()); + // result = prime * result + ((githubUrl == null) ? 0 : githubUrl.hashCode()); + // result = prime * result + Arrays.hashCode(screenshots); + // result = prime * result + ((textDescription == null) ? 0 : textDescription.hashCode()); + // result = prime * result + ((timeTaken == null) ? 0 : timeTaken.hashCode()); + // result = prime * result + ((feedback == null) ? 0 : feedback.hashCode()); + // result = prime * result + ((pointsScored == null) ? 0 : pointsScored.hashCode()); + // result = prime * result + ((forAssignment == null) ? 0 : forAssignment.hashCode()); + // result = prime * result + ((user == null) ? 0 : user.hashCode()); + // result = prime * result + ((assignment == null) ? 0 : assignment.hashCode()); + // return result; + // } + + // @Override + // public boolean equals(Object obj) { + // if (this == obj) + // return true; + // if (obj == null) + // return false; + // if (getClass() != obj.getClass()) + // return false; + // Submission other = (Submission) obj; + // if (id == null) { + // if (other.id != null) + // return false; + // } else if (!id.equals(other.id)) + // return false; + // if (githubUrl == null) { + // if (other.githubUrl != null) + // return false; + // } else if (!githubUrl.equals(other.githubUrl)) + // return false; + // if (!Arrays.equals(screenshots, other.screenshots)) + // return false; + // if (textDescription == null) { + // if (other.textDescription != null) + // return false; + // } else if (!textDescription.equals(other.textDescription)) + // return false; + // if (timeTaken == null) { + // if (other.timeTaken != null) + // return false; + // } else if (!timeTaken.equals(other.timeTaken)) + // return false; + // if (feedback == null) { + // if (other.feedback != null) + // return false; + // } else if (!feedback.equals(other.feedback)) + // return false; + // if (pointsScored == null) { + // if (other.pointsScored != null) + // return false; + // } else if (!pointsScored.equals(other.pointsScored)) + // return false; + // if (forAssignment == null) { + // if (other.forAssignment != null) + // return false; + // } else if (!forAssignment.equals(other.forAssignment)) + // return false; + // if (user == null) { + // if (other.user != null) + // return false; + // } else if (!user.equals(other.user)) + // return false; + // if (assignment == null) { + // if (other.assignment != null) + // return false; + // } else if (!assignment.equals(other.assignment)) + // return false; + // return true; + // } @Override public boolean equals(Object o) { @@ -220,18 +279,32 @@ public int hashCode() { return getClass().hashCode(); } - // prettier-ignore @Override public String toString() { - return "Submission{" + - "id=" + getId() + - ", githubUrl='" + getGithubUrl() + "'" + - ", screenshots='" + getScreenshots() + "'" + - ", screenshotsContentType='" + getScreenshotsContentType() + "'" + - ", videoExplanation='" + getVideoExplanation() + "'" + - ", textDescription='" + getTextDescription() + "'" + - ", feedback='" + getFeedback() + "'" + - ", pointsScored=" + getPointsScored() + - "}"; + return ( + "Submission [id=" + + id + + ", githubUrl=" + + githubUrl + + ", screenshots=" + + Arrays.toString(screenshots) + + ", textDescription=" + + textDescription + + ", timeTaken=" + + timeTaken + + ", feedback=" + + feedback + + ", pointsScored=" + + pointsScored + + ", forAssignment=" + + forAssignment + + ", user=" + + user + + ", assignment=" + + assignment + + "]" + ); } + // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here + } diff --git a/src/main/java/in/upcode/cat/domain/SubmissionResult.java b/src/main/java/in/upcode/cat/domain/SubmissionResult.java index 9ad3386..e628b53 100644 --- a/src/main/java/in/upcode/cat/domain/SubmissionResult.java +++ b/src/main/java/in/upcode/cat/domain/SubmissionResult.java @@ -30,7 +30,7 @@ public class SubmissionResult implements Serializable { @DBRef @Field("submission") - @JsonIgnoreProperties(value = { "forAssignment", "user", "assessment" }, allowSetters = true) + @JsonIgnoreProperties(value = { "forAssignment", "user", "assignment" }, allowSetters = true) private Submission submission; // jhipster-needle-entity-add-field - JHipster will add fields here diff --git a/src/main/java/in/upcode/cat/domain/User.java b/src/main/java/in/upcode/cat/domain/User.java index d23f942..1f2e6f4 100644 --- a/src/main/java/in/upcode/cat/domain/User.java +++ b/src/main/java/in/upcode/cat/domain/User.java @@ -213,4 +213,19 @@ public String toString() { ", activationKey='" + activationKey + '\'' + "}"; } + + // Default constructor + public User() { + // This constructor intentionally left empty. + // Default constructor required by some frameworks. + // Use other constructors to initialize the object. + // If you're instantiating a User object, provide necessary parameters. + // Example: User newUser = new User("username", "password"); + // Alternatively, use setter methods to set the properties after instantiation. + // Example: newUser.setFirstName("John"); + // Example: newUser.setLastName("Doe"); + + // Uncomment the line below if you want to throw an UnsupportedOperationException + // throw new UnsupportedOperationException("Default constructor not supported. Use other constructors."); + } } diff --git a/src/main/java/in/upcode/cat/domain/UserAssessment.java b/src/main/java/in/upcode/cat/domain/UserAssessment.java deleted file mode 100644 index 7fbeb8d..0000000 --- a/src/main/java/in/upcode/cat/domain/UserAssessment.java +++ /dev/null @@ -1,171 +0,0 @@ -package in.upcode.cat.domain; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import in.upcode.cat.domain.enumeration.AssessmentStatus; -import jakarta.validation.constraints.*; -import java.io.Serializable; -import java.time.Instant; -import org.springframework.data.annotation.Id; -import org.springframework.data.mongodb.core.mapping.DBRef; -import org.springframework.data.mongodb.core.mapping.Document; -import org.springframework.data.mongodb.core.mapping.Field; - -/** - * A UserAssessment. - */ -@Document(collection = "user_assessment") -@SuppressWarnings("common-java:DuplicatedBlocks") -public class UserAssessment implements Serializable { - - private static final long serialVersionUID = 1L; - - @Id - private String id; - - @NotNull - @Field("status") - private AssessmentStatus status; - - @NotNull - @Field("assigned_at") - private Instant assignedAt; - - @Field("deadline") - private Instant deadline; - - @DBRef - @Field("submittedByUser") - private User submittedByUser; - - @DBRef - @Field("user") - private User user; - - @DBRef - @Field("assessment") - @JsonIgnoreProperties(value = { "assignedToUser" }, allowSetters = true) - private Assessment assessment; - - // jhipster-needle-entity-add-field - JHipster will add fields here - - public String getId() { - return this.id; - } - - public UserAssessment id(String id) { - this.setId(id); - return this; - } - - public void setId(String id) { - this.id = id; - } - - public AssessmentStatus getStatus() { - return this.status; - } - - public UserAssessment status(AssessmentStatus status) { - this.setStatus(status); - return this; - } - - public void setStatus(AssessmentStatus status) { - this.status = status; - } - - public Instant getAssignedAt() { - return this.assignedAt; - } - - public UserAssessment assignedAt(Instant assignedAt) { - this.setAssignedAt(assignedAt); - return this; - } - - public void setAssignedAt(Instant assignedAt) { - this.assignedAt = assignedAt; - } - - public Instant getDeadline() { - return this.deadline; - } - - public UserAssessment deadline(Instant deadline) { - this.setDeadline(deadline); - return this; - } - - public void setDeadline(Instant deadline) { - this.deadline = deadline; - } - - public User getSubmittedByUser() { - return this.submittedByUser; - } - - public void setSubmittedByUser(User user) { - this.submittedByUser = user; - } - - public UserAssessment submittedByUser(User user) { - this.setSubmittedByUser(user); - return this; - } - - public User getUser() { - return this.user; - } - - public void setUser(User user) { - this.user = user; - } - - public UserAssessment user(User user) { - this.setUser(user); - return this; - } - - public Assessment getAssessment() { - return this.assessment; - } - - public void setAssessment(Assessment assessment) { - this.assessment = assessment; - } - - public UserAssessment assessment(Assessment assessment) { - this.setAssessment(assessment); - return this; - } - - // 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 UserAssessment)) { - return false; - } - return getId() != null && getId().equals(((UserAssessment) o).getId()); - } - - @Override - public int hashCode() { - // see https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/ - return getClass().hashCode(); - } - - // prettier-ignore - @Override - public String toString() { - return "UserAssessment{" + - "id=" + getId() + - ", status='" + getStatus() + "'" + - ", assignedAt='" + getAssignedAt() + "'" + - ", deadline='" + getDeadline() + "'" + - "}"; - } -} diff --git a/src/main/java/in/upcode/cat/domain/UserAssignment.java b/src/main/java/in/upcode/cat/domain/UserAssignment.java new file mode 100644 index 0000000..b2c711e --- /dev/null +++ b/src/main/java/in/upcode/cat/domain/UserAssignment.java @@ -0,0 +1,231 @@ +package in.upcode.cat.domain; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import in.upcode.cat.domain.enumeration.AssignmentStatus; +import jakarta.validation.constraints.*; +import java.io.Serializable; +import java.time.Instant; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.DBRef; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +/** + * A UserAssignment. + */ +@Document(collection = "user_assignment") +@SuppressWarnings("common-java:DuplicatedBlocks") +public class UserAssignment implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + private String id; + + @NotNull + @Field("status") + private AssignmentStatus status; + + @NotNull + @Field("assigned_at") + private Instant assignedAt; + + @Field("deadline") + private Instant deadline; + + // @DBRef + // @Field("submittedByUser") + // private User submittedByUser; + + @DBRef + @Field("user") + private User user; + + @DBRef + @Field("assignment") + @JsonIgnoreProperties(value = { "assignedToUser" }, allowSetters = true) + private Assignment assignment; + + // jhipster-needle-entity-add-field - JHipster will add fields here + + public String getId() { + return this.id; + } + + public UserAssignment id(String id) { + this.setId(id); + return this; + } + + public void setId(String id) { + this.id = id; + } + + public AssignmentStatus getStatus() { + return this.status; + } + + public UserAssignment status(AssignmentStatus status) { + this.setStatus(status); + return this; + } + + public void setStatus(AssignmentStatus status) { + this.status = status; + } + + public Instant getAssignedAt() { + return this.assignedAt; + } + + public UserAssignment assignedAt(Instant assignedAt) { + this.setAssignedAt(assignedAt); + return this; + } + + public void setAssignedAt(Instant assignedAt) { + this.assignedAt = assignedAt; + } + + public Instant getDeadline() { + return this.deadline; + } + + public UserAssignment deadline(Instant deadline) { + this.setDeadline(deadline); + return this; + } + + public void setDeadline(Instant deadline) { + this.deadline = deadline; + } + + // public User getSubmittedByUser() { + // return this.submittedByUser; + // } + + // public void setSubmittedByUser(User user) { + // this.submittedByUser = user; + // } + + // public UserAssignment submittedByUser(User user) { + // this.setSubmittedByUser(user); + // return this; + // } + + public User getUser() { + return this.user; + } + + public void setUser(User user) { + this.user = user; + } + + public UserAssignment user(User user) { + this.setUser(user); + return this; + } + + public Assignment getAssignment() { + return this.assignment; + } + + public void setAssignment(Assignment assignment) { + this.assignment = assignment; + } + + public UserAssignment assignment(Assignment assignment) { + this.setAssignment(assignment); + return this; + } + + // @Override + // public int hashCode() { + // final int prime = 31; + // int result = 1; + // result = prime * result + ((id == null) ? 0 : id.hashCode()); + // result = prime * result + ((status == null) ? 0 : status.hashCode()); + // result = prime * result + ((assignedAt == null) ? 0 : assignedAt.hashCode()); + // result = prime * result + ((deadline == null) ? 0 : deadline.hashCode()); + // result = prime * result + ((user == null) ? 0 : user.hashCode()); + // result = prime * result + ((assignment == null) ? 0 : assignment.hashCode()); + // return result; + // } + + // @Override + // public boolean equals(Object obj) { + // if (this == obj) + // return true; + // if (obj == null) + // return false; + // if (getClass() != obj.getClass()) + // return false; + // UserAssignment other = (UserAssignment) obj; + // if (id == null) { + // if (other.id != null) + // return false; + // } else if (!id.equals(other.id)) + // return false; + // if (status != other.status) + // return false; + // if (assignedAt == null) { + // if (other.assignedAt != null) + // return false; + // } else if (!assignedAt.equals(other.assignedAt)) + // return false; + // if (deadline == null) { + // if (other.deadline != null) + // return false; + // } else if (!deadline.equals(other.deadline)) + // return false; + // if (user == null) { + // if (other.user != null) + // return false; + // } else if (!user.equals(other.user)) + // return false; + // if (assignment == null) { + // if (other.assignment != null) + // return false; + // } else if (!assignment.equals(other.assignment)) + // return false; + // return true; + // } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UserAssignment)) { + return false; + } + return getId() != null && getId().equals(((UserAssignment) o).getId()); + } + + @Override + public int hashCode() { + // see https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/ + return getClass().hashCode(); + } + + @Override + public String toString() { + return ( + "UserAssignment [id=" + + id + + ", status=" + + status + + ", assignedAt=" + + assignedAt + + ", deadline=" + + deadline + + ", user=" + + user + + ", assignment=" + + assignment + + "]" + ); + } + // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here + +} diff --git a/src/main/java/in/upcode/cat/domain/ValidationRule.java b/src/main/java/in/upcode/cat/domain/ValidationRule.java deleted file mode 100644 index b3211e6..0000000 --- a/src/main/java/in/upcode/cat/domain/ValidationRule.java +++ /dev/null @@ -1,134 +0,0 @@ -package in.upcode.cat.domain; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import jakarta.validation.constraints.*; -import java.io.Serializable; -import org.springframework.data.annotation.Id; -import org.springframework.data.mongodb.core.mapping.DBRef; -import org.springframework.data.mongodb.core.mapping.Document; -import org.springframework.data.mongodb.core.mapping.Field; - -/** - * A ValidationRule. - */ -@Document(collection = "validation_rule") -@SuppressWarnings("common-java:DuplicatedBlocks") -public class ValidationRule implements Serializable { - - private static final long serialVersionUID = 1L; - - @Id - private String id; - - @Field("description") - private String description; - - @Field("validation_script") - private String validationScript; - - @NotNull - @Field("rule_type") - private String ruleType; - - @DBRef - @Field("assessment") - @JsonIgnoreProperties(value = { "assignedToUser" }, allowSetters = true) - private Assessment assessment; - - // jhipster-needle-entity-add-field - JHipster will add fields here - - public String getId() { - return this.id; - } - - public ValidationRule id(String id) { - this.setId(id); - return this; - } - - public void setId(String id) { - this.id = id; - } - - public String getDescription() { - return this.description; - } - - public ValidationRule description(String description) { - this.setDescription(description); - return this; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getValidationScript() { - return this.validationScript; - } - - public ValidationRule validationScript(String validationScript) { - this.setValidationScript(validationScript); - return this; - } - - public void setValidationScript(String validationScript) { - this.validationScript = validationScript; - } - - public String getRuleType() { - return this.ruleType; - } - - public ValidationRule ruleType(String ruleType) { - this.setRuleType(ruleType); - return this; - } - - public void setRuleType(String ruleType) { - this.ruleType = ruleType; - } - - public Assessment getAssessment() { - return this.assessment; - } - - public void setAssessment(Assessment assessment) { - this.assessment = assessment; - } - - public ValidationRule assessment(Assessment assessment) { - this.setAssessment(assessment); - return this; - } - - // 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 ValidationRule)) { - return false; - } - return getId() != null && getId().equals(((ValidationRule) o).getId()); - } - - @Override - public int hashCode() { - // see https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/ - return getClass().hashCode(); - } - - // prettier-ignore - @Override - public String toString() { - return "ValidationRule{" + - "id=" + getId() + - ", description='" + getDescription() + "'" + - ", validationScript='" + getValidationScript() + "'" + - ", ruleType='" + getRuleType() + "'" + - "}"; - } -} diff --git a/src/main/java/in/upcode/cat/domain/enumeration/AssessmentStatus.java b/src/main/java/in/upcode/cat/domain/enumeration/AssessmentStatus.java deleted file mode 100644 index 6eb7fc2..0000000 --- a/src/main/java/in/upcode/cat/domain/enumeration/AssessmentStatus.java +++ /dev/null @@ -1,9 +0,0 @@ -package in.upcode.cat.domain.enumeration; - -/** - * The AssessmentStatus enumeration. - */ -public enum AssessmentStatus { - ASSIGNED, - COMPLETED, -} diff --git a/src/main/java/in/upcode/cat/domain/enumeration/AssignmentStatus.java b/src/main/java/in/upcode/cat/domain/enumeration/AssignmentStatus.java new file mode 100644 index 0000000..da89ba2 --- /dev/null +++ b/src/main/java/in/upcode/cat/domain/enumeration/AssignmentStatus.java @@ -0,0 +1,10 @@ +package in.upcode.cat.domain.enumeration; + +/** + * The AssignmentStatus enumeration. + */ +public enum AssignmentStatus { + ASSIGNED, + COMPLETED, + IN_PROGRESS, +} diff --git a/src/main/java/in/upcode/cat/repository/AssessmentRepository.java b/src/main/java/in/upcode/cat/repository/AssignmentRepository.java similarity index 52% rename from src/main/java/in/upcode/cat/repository/AssessmentRepository.java rename to src/main/java/in/upcode/cat/repository/AssignmentRepository.java index 6601f7a..ceb7af6 100644 --- a/src/main/java/in/upcode/cat/repository/AssessmentRepository.java +++ b/src/main/java/in/upcode/cat/repository/AssignmentRepository.java @@ -1,12 +1,12 @@ package in.upcode.cat.repository; -import in.upcode.cat.domain.Assessment; +import in.upcode.cat.domain.Assignment; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.stereotype.Repository; /** - * Spring Data MongoDB repository for the Assessment entity. + * Spring Data MongoDB repository for the Assignment entity. */ @SuppressWarnings("unused") @Repository -public interface AssessmentRepository extends MongoRepository {} +public interface AssignmentRepository extends MongoRepository {} diff --git a/src/main/java/in/upcode/cat/repository/QuestionRepository.java b/src/main/java/in/upcode/cat/repository/CategoryRepository.java similarity index 51% rename from src/main/java/in/upcode/cat/repository/QuestionRepository.java rename to src/main/java/in/upcode/cat/repository/CategoryRepository.java index a8e5d02..d093714 100644 --- a/src/main/java/in/upcode/cat/repository/QuestionRepository.java +++ b/src/main/java/in/upcode/cat/repository/CategoryRepository.java @@ -1,12 +1,9 @@ package in.upcode.cat.repository; -import in.upcode.cat.domain.Question; +import in.upcode.cat.domain.Category; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.stereotype.Repository; -/** - * Spring Data MongoDB repository for the Question entity. - */ @SuppressWarnings("unused") @Repository -public interface QuestionRepository extends MongoRepository {} +public interface CategoryRepository extends MongoRepository {} diff --git a/src/main/java/in/upcode/cat/repository/UserAssessmentRepository.java b/src/main/java/in/upcode/cat/repository/UserAssignmentRepository.java similarity index 50% rename from src/main/java/in/upcode/cat/repository/UserAssessmentRepository.java rename to src/main/java/in/upcode/cat/repository/UserAssignmentRepository.java index 1eec0b5..3f648bf 100644 --- a/src/main/java/in/upcode/cat/repository/UserAssessmentRepository.java +++ b/src/main/java/in/upcode/cat/repository/UserAssignmentRepository.java @@ -1,12 +1,12 @@ package in.upcode.cat.repository; -import in.upcode.cat.domain.UserAssessment; +import in.upcode.cat.domain.UserAssignment; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.stereotype.Repository; /** - * Spring Data MongoDB repository for the UserAssessment entity. + * Spring Data MongoDB repository for the UserAssignment entity. */ @SuppressWarnings("unused") @Repository -public interface UserAssessmentRepository extends MongoRepository {} +public interface UserAssignmentRepository extends MongoRepository {} diff --git a/src/main/java/in/upcode/cat/repository/ValidationRuleRepository.java b/src/main/java/in/upcode/cat/repository/ValidationRuleRepository.java deleted file mode 100644 index 80d281b..0000000 --- a/src/main/java/in/upcode/cat/repository/ValidationRuleRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package in.upcode.cat.repository; - -import in.upcode.cat.domain.ValidationRule; -import org.springframework.data.mongodb.repository.MongoRepository; -import org.springframework.stereotype.Repository; - -/** - * Spring Data MongoDB repository for the ValidationRule entity. - */ -@SuppressWarnings("unused") -@Repository -public interface ValidationRuleRepository extends MongoRepository {} diff --git a/src/main/java/in/upcode/cat/service/AssessmentService.java b/src/main/java/in/upcode/cat/service/AssessmentService.java deleted file mode 100644 index c2f9f0f..0000000 --- a/src/main/java/in/upcode/cat/service/AssessmentService.java +++ /dev/null @@ -1,108 +0,0 @@ -package in.upcode.cat.service; - -import in.upcode.cat.domain.Assessment; -import in.upcode.cat.repository.AssessmentRepository; -import in.upcode.cat.service.dto.AssessmentDTO; -import in.upcode.cat.service.mapper.AssessmentMapper; -import java.util.Optional; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; - -/** - * Service Implementation for managing {@link in.upcode.cat.domain.Assessment}. - */ -@Service -public class AssessmentService { - - private final Logger log = LoggerFactory.getLogger(AssessmentService.class); - - private final AssessmentRepository assessmentRepository; - - private final AssessmentMapper assessmentMapper; - - public AssessmentService(AssessmentRepository assessmentRepository, AssessmentMapper assessmentMapper) { - this.assessmentRepository = assessmentRepository; - this.assessmentMapper = assessmentMapper; - } - - /** - * Save a assessment. - * - * @param assessmentDTO the entity to save. - * @return the persisted entity. - */ - public AssessmentDTO save(AssessmentDTO assessmentDTO) { - log.debug("Request to save Assessment : {}", assessmentDTO); - Assessment assessment = assessmentMapper.toEntity(assessmentDTO); - assessment = assessmentRepository.save(assessment); - return assessmentMapper.toDto(assessment); - } - - /** - * Update a assessment. - * - * @param assessmentDTO the entity to save. - * @return the persisted entity. - */ - public AssessmentDTO update(AssessmentDTO assessmentDTO) { - log.debug("Request to update Assessment : {}", assessmentDTO); - Assessment assessment = assessmentMapper.toEntity(assessmentDTO); - assessment = assessmentRepository.save(assessment); - return assessmentMapper.toDto(assessment); - } - - /** - * Partially update a assessment. - * - * @param assessmentDTO the entity to update partially. - * @return the persisted entity. - */ - public Optional partialUpdate(AssessmentDTO assessmentDTO) { - log.debug("Request to partially update Assessment : {}", assessmentDTO); - - return assessmentRepository - .findById(assessmentDTO.getId()) - .map(existingAssessment -> { - assessmentMapper.partialUpdate(existingAssessment, assessmentDTO); - - return existingAssessment; - }) - .map(assessmentRepository::save) - .map(assessmentMapper::toDto); - } - - /** - * Get all the assessments. - * - * @param pageable the pagination information. - * @return the list of entities. - */ - public Page findAll(Pageable pageable) { - log.debug("Request to get all Assessments"); - return assessmentRepository.findAll(pageable).map(assessmentMapper::toDto); - } - - /** - * Get one assessment by id. - * - * @param id the id of the entity. - * @return the entity. - */ - public Optional findOne(String id) { - log.debug("Request to get Assessment : {}", id); - return assessmentRepository.findById(id).map(assessmentMapper::toDto); - } - - /** - * Delete the assessment by id. - * - * @param id the id of the entity. - */ - public void delete(String id) { - log.debug("Request to delete Assessment : {}", id); - assessmentRepository.deleteById(id); - } -} diff --git a/src/main/java/in/upcode/cat/service/AssignmentService.java b/src/main/java/in/upcode/cat/service/AssignmentService.java new file mode 100644 index 0000000..ce673dd --- /dev/null +++ b/src/main/java/in/upcode/cat/service/AssignmentService.java @@ -0,0 +1,108 @@ +package in.upcode.cat.service; + +import in.upcode.cat.domain.Assignment; +import in.upcode.cat.repository.AssignmentRepository; +import in.upcode.cat.service.dto.AssignmentDTO; +import in.upcode.cat.service.mapper.AssignmentMapper; +import java.util.Optional; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +/** + * Service Implementation for managing {@link in.upcode.cat.domain.Assignment}. + */ +@Service +public class AssignmentService { + + private final Logger log = LoggerFactory.getLogger(AssignmentService.class); + + private final AssignmentRepository assignmentRepository; + + private final AssignmentMapper assignmentMapper; + + public AssignmentService(AssignmentRepository assignmentRepository, AssignmentMapper assignmentMapper) { + this.assignmentRepository = assignmentRepository; + this.assignmentMapper = assignmentMapper; + } + + /** + * Save a assignment. + * + * @param assignmentDTO the entity to save. + * @return the persisted entity. + */ + public AssignmentDTO save(AssignmentDTO assignmentDTO) { + log.debug("Request to save Assignment : {}", assignmentDTO); + Assignment assignment = assignmentMapper.toEntity(assignmentDTO); + assignment = assignmentRepository.save(assignment); + return assignmentMapper.toDto(assignment); + } + + /** + * Update a assignment. + * + * @param assignmentDTO the entity to save. + * @return the persisted entity. + */ + public AssignmentDTO update(AssignmentDTO assignmentDTO) { + log.debug("Request to update Assignment : {}", assignmentDTO); + Assignment assignment = assignmentMapper.toEntity(assignmentDTO); + assignment = assignmentRepository.save(assignment); + return assignmentMapper.toDto(assignment); + } + + /** + * Partially update a assignment. + * + * @param assignmentDTO the entity to update partially. + * @return the persisted entity. + */ + public Optional partialUpdate(AssignmentDTO assignmentDTO) { + log.debug("Request to partially update Assignment : {}", assignmentDTO); + + return assignmentRepository + .findById(assignmentDTO.getId()) + .map(existingAssignment -> { + assignmentMapper.partialUpdate(existingAssignment, assignmentDTO); + + return existingAssignment; + }) + .map(assignmentRepository::save) + .map(assignmentMapper::toDto); + } + + /** + * Get all the assignments. + * + * @param pageable the pagination information. + * @return the list of entities. + */ + public Page findAll(Pageable pageable) { + log.debug("Request to get all Assignments"); + return assignmentRepository.findAll(pageable).map(assignmentMapper::toDto); + } + + /** + * Get one assignment by id. + * + * @param id the id of the entity. + * @return the entity. + */ + public Optional findOne(String id) { + log.debug("Request to get Assignment : {}", id); + return assignmentRepository.findById(id).map(assignmentMapper::toDto); + } + + /** + * Delete the assignment by id. + * + * @param id the id of the entity. + */ + public void delete(String id) { + log.debug("Request to delete Assignment : {}", id); + assignmentRepository.deleteById(id); + } +} diff --git a/src/main/java/in/upcode/cat/service/QuestionService.java b/src/main/java/in/upcode/cat/service/QuestionService.java deleted file mode 100644 index 2602117..0000000 --- a/src/main/java/in/upcode/cat/service/QuestionService.java +++ /dev/null @@ -1,108 +0,0 @@ -package in.upcode.cat.service; - -import in.upcode.cat.domain.Question; -import in.upcode.cat.repository.QuestionRepository; -import in.upcode.cat.service.dto.QuestionDTO; -import in.upcode.cat.service.mapper.QuestionMapper; -import java.util.LinkedList; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; - -/** - * Service Implementation for managing {@link in.upcode.cat.domain.Question}. - */ -@Service -public class QuestionService { - - private final Logger log = LoggerFactory.getLogger(QuestionService.class); - - private final QuestionRepository questionRepository; - - private final QuestionMapper questionMapper; - - public QuestionService(QuestionRepository questionRepository, QuestionMapper questionMapper) { - this.questionRepository = questionRepository; - this.questionMapper = questionMapper; - } - - /** - * Save a question. - * - * @param questionDTO the entity to save. - * @return the persisted entity. - */ - public QuestionDTO save(QuestionDTO questionDTO) { - log.debug("Request to save Question : {}", questionDTO); - Question question = questionMapper.toEntity(questionDTO); - question = questionRepository.save(question); - return questionMapper.toDto(question); - } - - /** - * Update a question. - * - * @param questionDTO the entity to save. - * @return the persisted entity. - */ - public QuestionDTO update(QuestionDTO questionDTO) { - log.debug("Request to update Question : {}", questionDTO); - Question question = questionMapper.toEntity(questionDTO); - question = questionRepository.save(question); - return questionMapper.toDto(question); - } - - /** - * Partially update a question. - * - * @param questionDTO the entity to update partially. - * @return the persisted entity. - */ - public Optional partialUpdate(QuestionDTO questionDTO) { - log.debug("Request to partially update Question : {}", questionDTO); - - return questionRepository - .findById(questionDTO.getId()) - .map(existingQuestion -> { - questionMapper.partialUpdate(existingQuestion, questionDTO); - - return existingQuestion; - }) - .map(questionRepository::save) - .map(questionMapper::toDto); - } - - /** - * Get all the questions. - * - * @return the list of entities. - */ - public List findAll() { - log.debug("Request to get all Questions"); - return questionRepository.findAll().stream().map(questionMapper::toDto).collect(Collectors.toCollection(LinkedList::new)); - } - - /** - * Get one question by id. - * - * @param id the id of the entity. - * @return the entity. - */ - public Optional findOne(String id) { - log.debug("Request to get Question : {}", id); - return questionRepository.findById(id).map(questionMapper::toDto); - } - - /** - * Delete the question by id. - * - * @param id the id of the entity. - */ - public void delete(String id) { - log.debug("Request to delete Question : {}", id); - questionRepository.deleteById(id); - } -} diff --git a/src/main/java/in/upcode/cat/service/UserAssessmentService.java b/src/main/java/in/upcode/cat/service/UserAssessmentService.java deleted file mode 100644 index 75a226e..0000000 --- a/src/main/java/in/upcode/cat/service/UserAssessmentService.java +++ /dev/null @@ -1,108 +0,0 @@ -package in.upcode.cat.service; - -import in.upcode.cat.domain.UserAssessment; -import in.upcode.cat.repository.UserAssessmentRepository; -import in.upcode.cat.service.dto.UserAssessmentDTO; -import in.upcode.cat.service.mapper.UserAssessmentMapper; -import java.util.Optional; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; - -/** - * Service Implementation for managing {@link in.upcode.cat.domain.UserAssessment}. - */ -@Service -public class UserAssessmentService { - - private final Logger log = LoggerFactory.getLogger(UserAssessmentService.class); - - private final UserAssessmentRepository userAssessmentRepository; - - private final UserAssessmentMapper userAssessmentMapper; - - public UserAssessmentService(UserAssessmentRepository userAssessmentRepository, UserAssessmentMapper userAssessmentMapper) { - this.userAssessmentRepository = userAssessmentRepository; - this.userAssessmentMapper = userAssessmentMapper; - } - - /** - * Save a userAssessment. - * - * @param userAssessmentDTO the entity to save. - * @return the persisted entity. - */ - public UserAssessmentDTO save(UserAssessmentDTO userAssessmentDTO) { - log.debug("Request to save UserAssessment : {}", userAssessmentDTO); - UserAssessment userAssessment = userAssessmentMapper.toEntity(userAssessmentDTO); - userAssessment = userAssessmentRepository.save(userAssessment); - return userAssessmentMapper.toDto(userAssessment); - } - - /** - * Update a userAssessment. - * - * @param userAssessmentDTO the entity to save. - * @return the persisted entity. - */ - public UserAssessmentDTO update(UserAssessmentDTO userAssessmentDTO) { - log.debug("Request to update UserAssessment : {}", userAssessmentDTO); - UserAssessment userAssessment = userAssessmentMapper.toEntity(userAssessmentDTO); - userAssessment = userAssessmentRepository.save(userAssessment); - return userAssessmentMapper.toDto(userAssessment); - } - - /** - * Partially update a userAssessment. - * - * @param userAssessmentDTO the entity to update partially. - * @return the persisted entity. - */ - public Optional partialUpdate(UserAssessmentDTO userAssessmentDTO) { - log.debug("Request to partially update UserAssessment : {}", userAssessmentDTO); - - return userAssessmentRepository - .findById(userAssessmentDTO.getId()) - .map(existingUserAssessment -> { - userAssessmentMapper.partialUpdate(existingUserAssessment, userAssessmentDTO); - - return existingUserAssessment; - }) - .map(userAssessmentRepository::save) - .map(userAssessmentMapper::toDto); - } - - /** - * Get all the userAssessments. - * - * @param pageable the pagination information. - * @return the list of entities. - */ - public Page findAll(Pageable pageable) { - log.debug("Request to get all UserAssessments"); - return userAssessmentRepository.findAll(pageable).map(userAssessmentMapper::toDto); - } - - /** - * Get one userAssessment by id. - * - * @param id the id of the entity. - * @return the entity. - */ - public Optional findOne(String id) { - log.debug("Request to get UserAssessment : {}", id); - return userAssessmentRepository.findById(id).map(userAssessmentMapper::toDto); - } - - /** - * Delete the userAssessment by id. - * - * @param id the id of the entity. - */ - public void delete(String id) { - log.debug("Request to delete UserAssessment : {}", id); - userAssessmentRepository.deleteById(id); - } -} diff --git a/src/main/java/in/upcode/cat/service/UserAssignmentService.java b/src/main/java/in/upcode/cat/service/UserAssignmentService.java new file mode 100644 index 0000000..2dcfb60 --- /dev/null +++ b/src/main/java/in/upcode/cat/service/UserAssignmentService.java @@ -0,0 +1,108 @@ +package in.upcode.cat.service; + +import in.upcode.cat.domain.UserAssignment; +import in.upcode.cat.repository.UserAssignmentRepository; +import in.upcode.cat.service.dto.UserAssignmentDTO; +import in.upcode.cat.service.mapper.UserAssignmentMapper; +import java.util.Optional; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +/** + * Service Implementation for managing {@link in.upcode.cat.domain.UserAssignment}. + */ +@Service +public class UserAssignmentService { + + private final Logger log = LoggerFactory.getLogger(UserAssignmentService.class); + + private final UserAssignmentRepository userAssignmentRepository; + + private final UserAssignmentMapper userAssignmentMapper; + + public UserAssignmentService(UserAssignmentRepository userAssignmentRepository, UserAssignmentMapper userAssignmentMapper) { + this.userAssignmentRepository = userAssignmentRepository; + this.userAssignmentMapper = userAssignmentMapper; + } + + /** + * Save a userAssignment. + * + * @param userAssignmentDTO the entity to save. + * @return the persisted entity. + */ + public UserAssignmentDTO save(UserAssignmentDTO userAssignmentDTO) { + log.debug("Request to save UserAssignment : {}", userAssignmentDTO); + UserAssignment userAssignment = userAssignmentMapper.toEntity(userAssignmentDTO); + userAssignment = userAssignmentRepository.save(userAssignment); + return userAssignmentMapper.toDto(userAssignment); + } + + /** + * Update a userAssignment. + * + * @param userAssignmentDTO the entity to save. + * @return the persisted entity. + */ + public UserAssignmentDTO update(UserAssignmentDTO userAssignmentDTO) { + log.debug("Request to update UserAssignment : {}", userAssignmentDTO); + UserAssignment userAssignment = userAssignmentMapper.toEntity(userAssignmentDTO); + userAssignment = userAssignmentRepository.save(userAssignment); + return userAssignmentMapper.toDto(userAssignment); + } + + /** + * Partially update a userAssignment. + * + * @param userAssignmentDTO the entity to update partially. + * @return the persisted entity. + */ + public Optional partialUpdate(UserAssignmentDTO userAssignmentDTO) { + log.debug("Request to partially update UserAssignment : {}", userAssignmentDTO); + + return userAssignmentRepository + .findById(userAssignmentDTO.getId()) + .map(existingUserAssignment -> { + userAssignmentMapper.partialUpdate(existingUserAssignment, userAssignmentDTO); + + return existingUserAssignment; + }) + .map(userAssignmentRepository::save) + .map(userAssignmentMapper::toDto); + } + + /** + * Get all the userAssignments. + * + * @param pageable the pagination information. + * @return the list of entities. + */ + public Page findAll(Pageable pageable) { + log.debug("Request to get all UserAssignments"); + return userAssignmentRepository.findAll(pageable).map(userAssignmentMapper::toDto); + } + + /** + * Get one userAssignment by id. + * + * @param id the id of the entity. + * @return the entity. + */ + public Optional findOne(String id) { + log.debug("Request to get UserAssignment : {}", id); + return userAssignmentRepository.findById(id).map(userAssignmentMapper::toDto); + } + + /** + * Delete the userAssignment by id. + * + * @param id the id of the entity. + */ + public void delete(String id) { + log.debug("Request to delete UserAssignment : {}", id); + userAssignmentRepository.deleteById(id); + } +} diff --git a/src/main/java/in/upcode/cat/service/ValidationRuleService.java b/src/main/java/in/upcode/cat/service/ValidationRuleService.java deleted file mode 100644 index 2a2febd..0000000 --- a/src/main/java/in/upcode/cat/service/ValidationRuleService.java +++ /dev/null @@ -1,112 +0,0 @@ -package in.upcode.cat.service; - -import in.upcode.cat.domain.ValidationRule; -import in.upcode.cat.repository.ValidationRuleRepository; -import in.upcode.cat.service.dto.ValidationRuleDTO; -import in.upcode.cat.service.mapper.ValidationRuleMapper; -import java.util.LinkedList; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; - -/** - * Service Implementation for managing {@link in.upcode.cat.domain.ValidationRule}. - */ -@Service -public class ValidationRuleService { - - private final Logger log = LoggerFactory.getLogger(ValidationRuleService.class); - - private final ValidationRuleRepository validationRuleRepository; - - private final ValidationRuleMapper validationRuleMapper; - - public ValidationRuleService(ValidationRuleRepository validationRuleRepository, ValidationRuleMapper validationRuleMapper) { - this.validationRuleRepository = validationRuleRepository; - this.validationRuleMapper = validationRuleMapper; - } - - /** - * Save a validationRule. - * - * @param validationRuleDTO the entity to save. - * @return the persisted entity. - */ - public ValidationRuleDTO save(ValidationRuleDTO validationRuleDTO) { - log.debug("Request to save ValidationRule : {}", validationRuleDTO); - ValidationRule validationRule = validationRuleMapper.toEntity(validationRuleDTO); - validationRule = validationRuleRepository.save(validationRule); - return validationRuleMapper.toDto(validationRule); - } - - /** - * Update a validationRule. - * - * @param validationRuleDTO the entity to save. - * @return the persisted entity. - */ - public ValidationRuleDTO update(ValidationRuleDTO validationRuleDTO) { - log.debug("Request to update ValidationRule : {}", validationRuleDTO); - ValidationRule validationRule = validationRuleMapper.toEntity(validationRuleDTO); - validationRule = validationRuleRepository.save(validationRule); - return validationRuleMapper.toDto(validationRule); - } - - /** - * Partially update a validationRule. - * - * @param validationRuleDTO the entity to update partially. - * @return the persisted entity. - */ - public Optional partialUpdate(ValidationRuleDTO validationRuleDTO) { - log.debug("Request to partially update ValidationRule : {}", validationRuleDTO); - - return validationRuleRepository - .findById(validationRuleDTO.getId()) - .map(existingValidationRule -> { - validationRuleMapper.partialUpdate(existingValidationRule, validationRuleDTO); - - return existingValidationRule; - }) - .map(validationRuleRepository::save) - .map(validationRuleMapper::toDto); - } - - /** - * Get all the validationRules. - * - * @return the list of entities. - */ - public List findAll() { - log.debug("Request to get all ValidationRules"); - return validationRuleRepository - .findAll() - .stream() - .map(validationRuleMapper::toDto) - .collect(Collectors.toCollection(LinkedList::new)); - } - - /** - * Get one validationRule by id. - * - * @param id the id of the entity. - * @return the entity. - */ - public Optional findOne(String id) { - log.debug("Request to get ValidationRule : {}", id); - return validationRuleRepository.findById(id).map(validationRuleMapper::toDto); - } - - /** - * Delete the validationRule by id. - * - * @param id the id of the entity. - */ - public void delete(String id) { - log.debug("Request to delete ValidationRule : {}", id); - validationRuleRepository.deleteById(id); - } -} diff --git a/src/main/java/in/upcode/cat/service/dto/AssessmentDTO.java b/src/main/java/in/upcode/cat/service/dto/AssessmentDTO.java deleted file mode 100644 index 4331b9c..0000000 --- a/src/main/java/in/upcode/cat/service/dto/AssessmentDTO.java +++ /dev/null @@ -1,179 +0,0 @@ -package in.upcode.cat.service.dto; - -import jakarta.validation.constraints.*; -import java.io.Serializable; -import java.time.ZonedDateTime; -import java.util.Objects; - -/** - * A DTO for the {@link in.upcode.cat.domain.Assessment} entity. - */ -@SuppressWarnings("common-java:DuplicatedBlocks") -public class AssessmentDTO implements Serializable { - - private String id; - - @NotNull - private String title; - - private String description; - - private String languageFramework; - - private String difficultyLevel; - - private Integer timeLimit; - - @NotNull - private String type; - - @NotNull - private String validationCriteria; - - @NotNull - private String question; - - @NotNull - private Integer maxPoints; - - @NotNull - private ZonedDateTime deadline; - - private UserDTO assignedToUser; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getLanguageFramework() { - return languageFramework; - } - - public void setLanguageFramework(String languageFramework) { - this.languageFramework = languageFramework; - } - - public String getDifficultyLevel() { - return difficultyLevel; - } - - public void setDifficultyLevel(String difficultyLevel) { - this.difficultyLevel = difficultyLevel; - } - - public Integer getTimeLimit() { - return timeLimit; - } - - public void setTimeLimit(Integer timeLimit) { - this.timeLimit = timeLimit; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getValidationCriteria() { - return validationCriteria; - } - - public void setValidationCriteria(String validationCriteria) { - this.validationCriteria = validationCriteria; - } - - public String getQuestion() { - return question; - } - - public void setQuestion(String question) { - this.question = question; - } - - public Integer getMaxPoints() { - return maxPoints; - } - - public void setMaxPoints(Integer maxPoints) { - this.maxPoints = maxPoints; - } - - public ZonedDateTime getDeadline() { - return deadline; - } - - public void setDeadline(ZonedDateTime deadline) { - this.deadline = deadline; - } - - public UserDTO getAssignedToUser() { - return assignedToUser; - } - - public void setAssignedToUser(UserDTO assignedToUser) { - this.assignedToUser = assignedToUser; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (!(o instanceof AssessmentDTO)) { - return false; - } - - AssessmentDTO assessmentDTO = (AssessmentDTO) o; - if (this.id == null) { - return false; - } - return Objects.equals(this.id, assessmentDTO.id); - } - - @Override - public int hashCode() { - return Objects.hash(this.id); - } - - // prettier-ignore - @Override - public String toString() { - return "AssessmentDTO{" + - "id='" + getId() + "'" + - ", title='" + getTitle() + "'" + - ", description='" + getDescription() + "'" + - ", languageFramework='" + getLanguageFramework() + "'" + - ", difficultyLevel='" + getDifficultyLevel() + "'" + - ", timeLimit=" + getTimeLimit() + - ", type='" + getType() + "'" + - ", validationCriteria='" + getValidationCriteria() + "'" + - ", question='" + getQuestion() + "'" + - ", maxPoints=" + getMaxPoints() + - ", deadline='" + getDeadline() + "'" + - ", assignedToUser=" + getAssignedToUser() + - "}"; - } -} diff --git a/src/main/java/in/upcode/cat/service/dto/AssignmentDTO.java b/src/main/java/in/upcode/cat/service/dto/AssignmentDTO.java new file mode 100644 index 0000000..8f54485 --- /dev/null +++ b/src/main/java/in/upcode/cat/service/dto/AssignmentDTO.java @@ -0,0 +1,282 @@ +package in.upcode.cat.service.dto; + +import in.upcode.cat.domain.Category; +import jakarta.validation.constraints.*; +import java.io.Serializable; +import java.time.LocalTime; +import java.time.ZonedDateTime; +import java.util.Arrays; +import java.util.Objects; + +/** + * A DTO for the {@link in.upcode.cat.domain.Assignment} entity. + */ +@SuppressWarnings("common-java:DuplicatedBlocks") +public class AssignmentDTO implements Serializable { + + private String id; + + @NotNull + private String question; + + private String description; + + private byte[] image; + + private String url; + + private Integer urlType; + + @NotNull + private String technology; + + @NotNull + private String difficultyLevel; + + @NotNull + private LocalTime timeLimit; + + @NotNull + private CategoryDTO type; + + @NotNull + private String evaluationType; + + private Integer maxPoints; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getQuestion() { + return question; + } + + public void setQuestion(String question) { + this.question = question; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public byte[] getImage() { + return image; + } + + public void setImage(byte[] image) { + this.image = image; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public Integer getUrlType() { + return urlType; + } + + public void setUrlType(Integer urlType) { + this.urlType = urlType; + } + + public String getTechnology() { + return technology; + } + + public void setTechnology(String technology) { + this.technology = technology; + } + + public String getDifficultyLevel() { + return difficultyLevel; + } + + public void setDifficultyLevel(String difficultyLevel) { + this.difficultyLevel = difficultyLevel; + } + + public LocalTime getTimeLimit() { + return timeLimit; + } + + public void setTimeLimit(LocalTime timeLimit) { + this.timeLimit = timeLimit; + } + + public CategoryDTO getType() { + return type; + } + + public void setType(CategoryDTO type) { + this.type = type; + } + + public String getEvaluationType() { + return evaluationType; + } + + public void setEvaluationType(String evaluationType) { + this.evaluationType = evaluationType; + } + + public Integer getMaxPoints() { + return maxPoints; + } + + public void setMaxPoints(Integer maxPoints) { + this.maxPoints = maxPoints; + } + + // @Override + // public int hashCode() { + // final int prime = 31; + // int result = 1; + // result = prime * result + ((id == null) ? 0 : id.hashCode()); + // result = prime * result + ((question == null) ? 0 : question.hashCode()); + // result = prime * result + ((description == null) ? 0 : description.hashCode()); + // result = prime * result + Arrays.hashCode(image); + // result = prime * result + ((url == null) ? 0 : url.hashCode()); + // result = prime * result + ((urlType == null) ? 0 : urlType.hashCode()); + // result = prime * result + ((technology == null) ? 0 : technology.hashCode()); + // result = prime * result + ((difficultyLevel == null) ? 0 : difficultyLevel.hashCode()); + // result = prime * result + ((timeLimit == null) ? 0 : timeLimit.hashCode()); + // result = prime * result + ((type == null) ? 0 : type.hashCode()); + // result = prime * result + ((evaluationType == null) ? 0 : evaluationType.hashCode()); + // result = prime * result + ((maxPoints == null) ? 0 : maxPoints.hashCode()); + // return result; + // } + + // @Override + // public boolean equals(Object obj) { + // if (this == obj) + // return true; + // if (obj == null) + // return false; + // if (getClass() != obj.getClass()) + // return false; + // AssignmentDTO other = (AssignmentDTO) obj; + // if (id == null) { + // if (other.id != null) + // return false; + // } else if (!id.equals(other.id)) + // return false; + // if (question == null) { + // if (other.question != null) + // return false; + // } else if (!question.equals(other.question)) + // return false; + // if (description == null) { + // if (other.description != null) + // return false; + // } else if (!description.equals(other.description)) + // return false; + // if (!Arrays.equals(image, other.image)) + // return false; + // if (url == null) { + // if (other.url != null) + // return false; + // } else if (!url.equals(other.url)) + // return false; + // if (urlType == null) { + // if (other.urlType != null) + // return false; + // } else if (!urlType.equals(other.urlType)) + // return false; + // if (technology == null) { + // if (other.technology != null) + // return false; + // } else if (!technology.equals(other.technology)) + // return false; + // if (difficultyLevel == null) { + // if (other.difficultyLevel != null) + // return false; + // } else if (!difficultyLevel.equals(other.difficultyLevel)) + // return false; + // if (timeLimit == null) { + // if (other.timeLimit != null) + // return false; + // } else if (!timeLimit.equals(other.timeLimit)) + // return false; + // if (type == null) { + // if (other.type != null) + // return false; + // } else if (!type.equals(other.type)) + // return false; + // if (evaluationType == null) { + // if (other.evaluationType != null) + // return false; + // } else if (!evaluationType.equals(other.evaluationType)) + // return false; + // if (maxPoints == null) { + // if (other.maxPoints != null) + // return false; + // } else if (!maxPoints.equals(other.maxPoints)) + // return false; + // return true; + // } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AssignmentDTO)) { + return false; + } + + AssignmentDTO assignmentDTO = (AssignmentDTO) o; + if (this.id == null) { + return false; + } + return Objects.equals(this.id, assignmentDTO.id); + } + + @Override + public int hashCode() { + return Objects.hash(this.id); + } + + @Override + public String toString() { + return ( + "AssignmentDTO [id=" + + id + + ", question=" + + question + + ", description=" + + description + + ", image=" + + Arrays.toString(image) + + ", url=" + + url + + ", urlType=" + + urlType + + ", technology=" + + technology + + ", difficultyLevel=" + + difficultyLevel + + ", timeLimit=" + + timeLimit + + ", type=" + + type + + ", evaluationType=" + + evaluationType + + ", maxPoints=" + + maxPoints + + "]" + ); + } +} diff --git a/src/main/java/in/upcode/cat/service/dto/CategoryDTO.java b/src/main/java/in/upcode/cat/service/dto/CategoryDTO.java new file mode 100644 index 0000000..2c2ebbe --- /dev/null +++ b/src/main/java/in/upcode/cat/service/dto/CategoryDTO.java @@ -0,0 +1,105 @@ +package in.upcode.cat.service.dto; + +import io.mongock.utils.field.Field; +import jakarta.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Arrays; +import java.util.Objects; +import org.springframework.data.annotation.Id; + +public class CategoryDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + private String id; + + @NotNull + private String assignmentType; + + private byte[] image; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getAssignmentType() { + return assignmentType; + } + + public void setAssignmentType(String assignmentType) { + this.assignmentType = assignmentType; + } + + public byte[] getImage() { + return image; + } + + public void setImage(byte[] image) { + this.image = image; + } + + // @Override + // public int hashCode() { + // final int prime = 31; + // int result = 1; + // result = prime * result + ((id == null) ? 0 : id.hashCode()); + // result = prime * result + ((assignmentType == null) ? 0 : assignmentType.hashCode()); + // result = prime * result + Arrays.hashCode(image); + // return result; + // } + + // @Override + // public boolean equals(Object obj) { + // if (this == obj) + // return true; + // if (obj == null) + // return false; + // if (getClass() != obj.getClass()) + // return false; + // CategoryDTO other = (CategoryDTO) obj; + // if (id == null) { + // if (other.id != null) + // return false; + // } else if (!id.equals(other.id)) + // return false; + // if (assignmentType == null) { + // if (other.assignmentType != null) + // return false; + // } else if (!assignmentType.equals(other.assignmentType)) + // return false; + // if (!Arrays.equals(image, other.image)) + // return false; + // return true; + // } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CategoryDTO)) { + return false; + } + + CategoryDTO categoryDTO = (CategoryDTO) o; + if (this.id == null) { + return false; + } + return Objects.equals(this.id, categoryDTO.id); + } + + @Override + public int hashCode() { + return Objects.hash(this.id); + } + + @Override + public String toString() { + return "CategoryDTO [id=" + id + ", assignmentType=" + assignmentType + ", image=" + Arrays.toString(image) + "]"; + } +} diff --git a/src/main/java/in/upcode/cat/service/dto/QuestionDTO.java b/src/main/java/in/upcode/cat/service/dto/QuestionDTO.java deleted file mode 100644 index 8ee6b66..0000000 --- a/src/main/java/in/upcode/cat/service/dto/QuestionDTO.java +++ /dev/null @@ -1,106 +0,0 @@ -package in.upcode.cat.service.dto; - -import jakarta.validation.constraints.*; -import java.io.Serializable; -import java.util.Objects; - -/** - * A DTO for the {@link in.upcode.cat.domain.Question} entity. - */ -@SuppressWarnings("common-java:DuplicatedBlocks") -public class QuestionDTO implements Serializable { - - private String id; - - private String questionText; - - private String codeSnippet; - - private String resources; - - private Integer points; - - private AssessmentDTO assessment; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getQuestionText() { - return questionText; - } - - public void setQuestionText(String questionText) { - this.questionText = questionText; - } - - public String getCodeSnippet() { - return codeSnippet; - } - - public void setCodeSnippet(String codeSnippet) { - this.codeSnippet = codeSnippet; - } - - public String getResources() { - return resources; - } - - public void setResources(String resources) { - this.resources = resources; - } - - public Integer getPoints() { - return points; - } - - public void setPoints(Integer points) { - this.points = points; - } - - public AssessmentDTO getAssessment() { - return assessment; - } - - public void setAssessment(AssessmentDTO assessment) { - this.assessment = assessment; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (!(o instanceof QuestionDTO)) { - return false; - } - - QuestionDTO questionDTO = (QuestionDTO) o; - if (this.id == null) { - return false; - } - return Objects.equals(this.id, questionDTO.id); - } - - @Override - public int hashCode() { - return Objects.hash(this.id); - } - - // prettier-ignore - @Override - public String toString() { - return "QuestionDTO{" + - "id='" + getId() + "'" + - ", questionText='" + getQuestionText() + "'" + - ", codeSnippet='" + getCodeSnippet() + "'" + - ", resources='" + getResources() + "'" + - ", points=" + getPoints() + - ", assessment=" + getAssessment() + - "}"; - } -} diff --git a/src/main/java/in/upcode/cat/service/dto/SubmissionDTO.java b/src/main/java/in/upcode/cat/service/dto/SubmissionDTO.java index dd0a394..e14ec22 100644 --- a/src/main/java/in/upcode/cat/service/dto/SubmissionDTO.java +++ b/src/main/java/in/upcode/cat/service/dto/SubmissionDTO.java @@ -2,6 +2,8 @@ import jakarta.validation.constraints.*; import java.io.Serializable; +import java.time.Instant; +import java.util.Arrays; import java.util.Objects; /** @@ -17,20 +19,19 @@ public class SubmissionDTO implements Serializable { private byte[] screenshots; - private String screenshotsContentType; - private String videoExplanation; - private String textDescription; + private Instant timeTaken; + private String feedback; private Integer pointsScored; - private UserAssessmentDTO forAssignment; + private UserAssignmentDTO forAssignment; private UserDTO user; - private AssessmentDTO assessment; + private AssignmentDTO assignment; public String getId() { return id; @@ -56,22 +57,6 @@ public void setScreenshots(byte[] screenshots) { this.screenshots = screenshots; } - public String getScreenshotsContentType() { - return screenshotsContentType; - } - - public void setScreenshotsContentType(String screenshotsContentType) { - this.screenshotsContentType = screenshotsContentType; - } - - public String getVideoExplanation() { - return videoExplanation; - } - - public void setVideoExplanation(String videoExplanation) { - this.videoExplanation = videoExplanation; - } - public String getTextDescription() { return textDescription; } @@ -80,6 +65,14 @@ public void setTextDescription(String textDescription) { this.textDescription = textDescription; } + public Instant getTimeTaken() { + return timeTaken; + } + + public void setTimeTaken(Instant timeTaken) { + this.timeTaken = timeTaken; + } + public String getFeedback() { return feedback; } @@ -96,11 +89,11 @@ public void setPointsScored(Integer pointsScored) { this.pointsScored = pointsScored; } - public UserAssessmentDTO getForAssignment() { + public UserAssignmentDTO getForAssignment() { return forAssignment; } - public void setForAssignment(UserAssessmentDTO forAssignment) { + public void setForAssignment(UserAssignmentDTO forAssignment) { this.forAssignment = forAssignment; } @@ -112,13 +105,89 @@ public void setUser(UserDTO user) { this.user = user; } - public AssessmentDTO getAssessment() { - return assessment; - } - - public void setAssessment(AssessmentDTO assessment) { - this.assessment = assessment; - } + public AssignmentDTO getAssignment() { + return assignment; + } + + public void setAssignment(AssignmentDTO assignment) { + this.assignment = assignment; + } + + // @Override + // public int hashCode() { + // final int prime = 31; + // int result = 1; + // result = prime * result + ((id == null) ? 0 : id.hashCode()); + // result = prime * result + ((githubUrl == null) ? 0 : githubUrl.hashCode()); + // result = prime * result + Arrays.hashCode(screenshots); + // result = prime * result + ((textDescription == null) ? 0 : textDescription.hashCode()); + // result = prime * result + ((timeTaken == null) ? 0 : timeTaken.hashCode()); + // result = prime * result + ((feedback == null) ? 0 : feedback.hashCode()); + // result = prime * result + ((pointsScored == null) ? 0 : pointsScored.hashCode()); + // result = prime * result + ((forAssignment == null) ? 0 : forAssignment.hashCode()); + // result = prime * result + ((user == null) ? 0 : user.hashCode()); + // result = prime * result + ((assignment == null) ? 0 : assignment.hashCode()); + // return result; + // } + + // @Override + // public boolean equals(Object obj) { + // if (this == obj) + // return true; + // if (obj == null) + // return false; + // if (getClass() != obj.getClass()) + // return false; + // SubmissionDTO other = (SubmissionDTO) obj; + // if (id == null) { + // if (other.id != null) + // return false; + // } else if (!id.equals(other.id)) + // return false; + // if (githubUrl == null) { + // if (other.githubUrl != null) + // return false; + // } else if (!githubUrl.equals(other.githubUrl)) + // return false; + // if (!Arrays.equals(screenshots, other.screenshots)) + // return false; + // if (textDescription == null) { + // if (other.textDescription != null) + // return false; + // } else if (!textDescription.equals(other.textDescription)) + // return false; + // if (timeTaken == null) { + // if (other.timeTaken != null) + // return false; + // } else if (!timeTaken.equals(other.timeTaken)) + // return false; + // if (feedback == null) { + // if (other.feedback != null) + // return false; + // } else if (!feedback.equals(other.feedback)) + // return false; + // if (pointsScored == null) { + // if (other.pointsScored != null) + // return false; + // } else if (!pointsScored.equals(other.pointsScored)) + // return false; + // if (forAssignment == null) { + // if (other.forAssignment != null) + // return false; + // } else if (!forAssignment.equals(other.forAssignment)) + // return false; + // if (user == null) { + // if (other.user != null) + // return false; + // } else if (!user.equals(other.user)) + // return false; + // if (assignment == null) { + // if (other.assignment != null) + // return false; + // } else if (!assignment.equals(other.assignment)) + // return false; + // return true; + // } @Override public boolean equals(Object o) { @@ -141,20 +210,30 @@ public int hashCode() { return Objects.hash(this.id); } - // prettier-ignore @Override public String toString() { - return "SubmissionDTO{" + - "id='" + getId() + "'" + - ", githubUrl='" + getGithubUrl() + "'" + - ", screenshots='" + getScreenshots() + "'" + - ", videoExplanation='" + getVideoExplanation() + "'" + - ", textDescription='" + getTextDescription() + "'" + - ", feedback='" + getFeedback() + "'" + - ", pointsScored=" + getPointsScored() + - ", forAssignment=" + getForAssignment() + - ", user=" + getUser() + - ", assessment=" + getAssessment() + - "}"; + return ( + "SubmissionDTO [id=" + + id + + ", githubUrl=" + + githubUrl + + ", screenshots=" + + Arrays.toString(screenshots) + + ", textDescription=" + + textDescription + + ", timeTaken=" + + timeTaken + + ", feedback=" + + feedback + + ", pointsScored=" + + pointsScored + + ", forAssignment=" + + forAssignment + + ", user=" + + user + + ", assignment=" + + assignment + + "]" + ); } } diff --git a/src/main/java/in/upcode/cat/service/dto/UserAssessmentDTO.java b/src/main/java/in/upcode/cat/service/dto/UserAssessmentDTO.java deleted file mode 100644 index 5164a86..0000000 --- a/src/main/java/in/upcode/cat/service/dto/UserAssessmentDTO.java +++ /dev/null @@ -1,121 +0,0 @@ -package in.upcode.cat.service.dto; - -import in.upcode.cat.domain.enumeration.AssessmentStatus; -import jakarta.validation.constraints.*; -import java.io.Serializable; -import java.time.Instant; -import java.util.Objects; - -/** - * A DTO for the {@link in.upcode.cat.domain.UserAssessment} entity. - */ -@SuppressWarnings("common-java:DuplicatedBlocks") -public class UserAssessmentDTO implements Serializable { - - private String id; - - @NotNull - private AssessmentStatus status; - - @NotNull - private Instant assignedAt; - - private Instant deadline; - - private UserDTO submittedByUser; - - private UserDTO user; - - private AssessmentDTO assessment; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public AssessmentStatus getStatus() { - return status; - } - - public void setStatus(AssessmentStatus status) { - this.status = status; - } - - public Instant getAssignedAt() { - return assignedAt; - } - - public void setAssignedAt(Instant assignedAt) { - this.assignedAt = assignedAt; - } - - public Instant getDeadline() { - return deadline; - } - - public void setDeadline(Instant deadline) { - this.deadline = deadline; - } - - public UserDTO getSubmittedByUser() { - return submittedByUser; - } - - public void setSubmittedByUser(UserDTO submittedByUser) { - this.submittedByUser = submittedByUser; - } - - public UserDTO getUser() { - return user; - } - - public void setUser(UserDTO user) { - this.user = user; - } - - public AssessmentDTO getAssessment() { - return assessment; - } - - public void setAssessment(AssessmentDTO assessment) { - this.assessment = assessment; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (!(o instanceof UserAssessmentDTO)) { - return false; - } - - UserAssessmentDTO userAssessmentDTO = (UserAssessmentDTO) o; - if (this.id == null) { - return false; - } - return Objects.equals(this.id, userAssessmentDTO.id); - } - - @Override - public int hashCode() { - return Objects.hash(this.id); - } - - // prettier-ignore - @Override - public String toString() { - return "UserAssessmentDTO{" + - "id='" + getId() + "'" + - ", status='" + getStatus() + "'" + - ", assignedAt='" + getAssignedAt() + "'" + - ", deadline='" + getDeadline() + "'" + - ", submittedByUser=" + getSubmittedByUser() + - ", user=" + getUser() + - ", assessment=" + getAssessment() + - "}"; - } -} diff --git a/src/main/java/in/upcode/cat/service/dto/UserAssignmentDTO.java b/src/main/java/in/upcode/cat/service/dto/UserAssignmentDTO.java new file mode 100644 index 0000000..60d8d0c --- /dev/null +++ b/src/main/java/in/upcode/cat/service/dto/UserAssignmentDTO.java @@ -0,0 +1,178 @@ +package in.upcode.cat.service.dto; + +import in.upcode.cat.domain.enumeration.AssignmentStatus; +import jakarta.validation.constraints.*; +import java.io.Serializable; +import java.time.Instant; +import java.util.Objects; + +/** + * A DTO for the {@link in.upcode.cat.domain.UserAssignment} entity. + */ +@SuppressWarnings("common-java:DuplicatedBlocks") +public class UserAssignmentDTO implements Serializable { + + private String id; + + @NotNull + private AssignmentStatus status; + + @NotNull + private Instant assignedAt; + + private Instant deadline; + + // private UserDTO submittedByUser; + + private UserDTO user; + + private AssignmentDTO assignment; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public AssignmentStatus getStatus() { + return status; + } + + public void setStatus(AssignmentStatus status) { + this.status = status; + } + + public Instant getAssignedAt() { + return assignedAt; + } + + public void setAssignedAt(Instant assignedAt) { + this.assignedAt = assignedAt; + } + + public Instant getDeadline() { + return deadline; + } + + public void setDeadline(Instant deadline) { + this.deadline = deadline; + } + + // public UserDTO getSubmittedByUser() { + // return submittedByUser; + // } + + // public void setSubmittedByUser(UserDTO submittedByUser) { + // this.submittedByUser = submittedByUser; + // } + + public UserDTO getUser() { + return user; + } + + public void setUser(UserDTO user) { + this.user = user; + } + + public AssignmentDTO getAssignment() { + return assignment; + } + + public void setAssignment(AssignmentDTO assignment) { + this.assignment = assignment; + } + + // @Override + // public int hashCode() { + // final int prime = 31; + // int result = 1; + // result = prime * result + ((id == null) ? 0 : id.hashCode()); + // result = prime * result + ((status == null) ? 0 : status.hashCode()); + // result = prime * result + ((assignedAt == null) ? 0 : assignedAt.hashCode()); + // result = prime * result + ((deadline == null) ? 0 : deadline.hashCode()); + // result = prime * result + ((user == null) ? 0 : user.hashCode()); + // result = prime * result + ((assignment == null) ? 0 : assignment.hashCode()); + // return result; + // } + + // @Override + // public boolean equals(Object obj) { + // if (this == obj) + // return true; + // if (obj == null) + // return false; + // if (getClass() != obj.getClass()) + // return false; + // UserAssignmentDTO other = (UserAssignmentDTO) obj; + // if (id == null) { + // if (other.id != null) + // return false; + // } else if (!id.equals(other.id)) + // return false; + // if (status != other.status) + // return false; + // if (assignedAt == null) { + // if (other.assignedAt != null) + // return false; + // } else if (!assignedAt.equals(other.assignedAt)) + // return false; + // if (deadline == null) { + // if (other.deadline != null) + // return false; + // } else if (!deadline.equals(other.deadline)) + // return false; + // if (user == null) { + // if (other.user != null) + // return false; + // } else if (!user.equals(other.user)) + // return false; + // if (assignment == null) { + // if (other.assignment != null) + // return false; + // } else if (!assignment.equals(other.assignment)) + // return false; + // return true; + // } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UserAssignmentDTO)) { + return false; + } + + UserAssignmentDTO userAssignmentDTO = (UserAssignmentDTO) o; + if (this.id == null) { + return false; + } + return Objects.equals(this.id, userAssignmentDTO.id); + } + + @Override + public int hashCode() { + return Objects.hash(this.id); + } + + @Override + public String toString() { + return ( + "UserAssignmentDTO [id=" + + id + + ", status=" + + status + + ", assignedAt=" + + assignedAt + + ", deadline=" + + deadline + + ", user=" + + user + + ", assignment=" + + assignment + + "]" + ); + } +} diff --git a/src/main/java/in/upcode/cat/service/dto/ValidationRuleDTO.java b/src/main/java/in/upcode/cat/service/dto/ValidationRuleDTO.java deleted file mode 100644 index 5e4528c..0000000 --- a/src/main/java/in/upcode/cat/service/dto/ValidationRuleDTO.java +++ /dev/null @@ -1,96 +0,0 @@ -package in.upcode.cat.service.dto; - -import jakarta.validation.constraints.*; -import java.io.Serializable; -import java.util.Objects; - -/** - * A DTO for the {@link in.upcode.cat.domain.ValidationRule} entity. - */ -@SuppressWarnings("common-java:DuplicatedBlocks") -public class ValidationRuleDTO implements Serializable { - - private String id; - - private String description; - - private String validationScript; - - @NotNull - private String ruleType; - - private AssessmentDTO assessment; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getValidationScript() { - return validationScript; - } - - public void setValidationScript(String validationScript) { - this.validationScript = validationScript; - } - - public String getRuleType() { - return ruleType; - } - - public void setRuleType(String ruleType) { - this.ruleType = ruleType; - } - - public AssessmentDTO getAssessment() { - return assessment; - } - - public void setAssessment(AssessmentDTO assessment) { - this.assessment = assessment; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (!(o instanceof ValidationRuleDTO)) { - return false; - } - - ValidationRuleDTO validationRuleDTO = (ValidationRuleDTO) o; - if (this.id == null) { - return false; - } - return Objects.equals(this.id, validationRuleDTO.id); - } - - @Override - public int hashCode() { - return Objects.hash(this.id); - } - - // prettier-ignore - @Override - public String toString() { - return "ValidationRuleDTO{" + - "id='" + getId() + "'" + - ", description='" + getDescription() + "'" + - ", validationScript='" + getValidationScript() + "'" + - ", ruleType='" + getRuleType() + "'" + - ", assessment=" + getAssessment() + - "}"; - } -} diff --git a/src/main/java/in/upcode/cat/service/mapper/AssessmentMapper.java b/src/main/java/in/upcode/cat/service/mapper/AssessmentMapper.java deleted file mode 100644 index add6a35..0000000 --- a/src/main/java/in/upcode/cat/service/mapper/AssessmentMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package in.upcode.cat.service.mapper; - -import in.upcode.cat.domain.Assessment; -import in.upcode.cat.domain.User; -import in.upcode.cat.service.dto.AssessmentDTO; -import in.upcode.cat.service.dto.UserDTO; -import org.mapstruct.*; - -/** - * Mapper for the entity {@link Assessment} and its DTO {@link AssessmentDTO}. - */ -@Mapper(componentModel = "spring") -public interface AssessmentMapper extends EntityMapper { - @Mapping(target = "assignedToUser", source = "assignedToUser", qualifiedByName = "userId") - AssessmentDTO toDto(Assessment s); - - @Named("userId") - @BeanMapping(ignoreByDefault = true) - @Mapping(target = "id", source = "id") - UserDTO toDtoUserId(User user); -} diff --git a/src/main/java/in/upcode/cat/service/mapper/AssignmentMapper.java b/src/main/java/in/upcode/cat/service/mapper/AssignmentMapper.java new file mode 100644 index 0000000..8dde19c --- /dev/null +++ b/src/main/java/in/upcode/cat/service/mapper/AssignmentMapper.java @@ -0,0 +1,31 @@ +package in.upcode.cat.service.mapper; + +import in.upcode.cat.domain.Assignment; +import in.upcode.cat.domain.Category; +import in.upcode.cat.domain.User; +import in.upcode.cat.service.dto.AssignmentDTO; +import in.upcode.cat.service.dto.CategoryDTO; +import in.upcode.cat.service.dto.UserDTO; +import org.mapstruct.*; + +/** + * Mapper for the entity {@link Assignment} and its DTO {@link AssignmentDTO}. + */ +@Mapper(componentModel = "spring") +public interface AssignmentMapper extends EntityMapper { + // @Mapping(target = "assignedToUser", source = "assignedToUser", qualifiedByName = "userId") + // AssignmentDTO toDto(Assignment s); + + // @Named("userId") + // @BeanMapping(ignoreByDefault = true) + // @Mapping(target = "id", source = "id") + // UserDTO toDtoUserId(User user); + + @Mapping(target = "type", source = "type", qualifiedByName = "typeId") + AssignmentDTO toDto(Assignment s); + + @Named("typeId") + @BeanMapping(ignoreByDefault = true) + @Mapping(target = "id", source = "id") + CategoryDTO toDtoCategoryId(Category category); +} diff --git a/src/main/java/in/upcode/cat/service/mapper/QuestionMapper.java b/src/main/java/in/upcode/cat/service/mapper/QuestionMapper.java deleted file mode 100644 index 92e5d76..0000000 --- a/src/main/java/in/upcode/cat/service/mapper/QuestionMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package in.upcode.cat.service.mapper; - -import in.upcode.cat.domain.Assessment; -import in.upcode.cat.domain.Question; -import in.upcode.cat.service.dto.AssessmentDTO; -import in.upcode.cat.service.dto.QuestionDTO; -import org.mapstruct.*; - -/** - * Mapper for the entity {@link Question} and its DTO {@link QuestionDTO}. - */ -@Mapper(componentModel = "spring") -public interface QuestionMapper extends EntityMapper { - @Mapping(target = "assessment", source = "assessment", qualifiedByName = "assessmentId") - QuestionDTO toDto(Question s); - - @Named("assessmentId") - @BeanMapping(ignoreByDefault = true) - @Mapping(target = "id", source = "id") - AssessmentDTO toDtoAssessmentId(Assessment assessment); -} diff --git a/src/main/java/in/upcode/cat/service/mapper/SubmissionMapper.java b/src/main/java/in/upcode/cat/service/mapper/SubmissionMapper.java index d20177b..d385988 100644 --- a/src/main/java/in/upcode/cat/service/mapper/SubmissionMapper.java +++ b/src/main/java/in/upcode/cat/service/mapper/SubmissionMapper.java @@ -1,12 +1,12 @@ package in.upcode.cat.service.mapper; -import in.upcode.cat.domain.Assessment; +import in.upcode.cat.domain.Assignment; import in.upcode.cat.domain.Submission; import in.upcode.cat.domain.User; -import in.upcode.cat.domain.UserAssessment; -import in.upcode.cat.service.dto.AssessmentDTO; +import in.upcode.cat.domain.UserAssignment; +import in.upcode.cat.service.dto.AssignmentDTO; import in.upcode.cat.service.dto.SubmissionDTO; -import in.upcode.cat.service.dto.UserAssessmentDTO; +import in.upcode.cat.service.dto.UserAssignmentDTO; import in.upcode.cat.service.dto.UserDTO; import org.mapstruct.*; @@ -15,23 +15,23 @@ */ @Mapper(componentModel = "spring") public interface SubmissionMapper extends EntityMapper { - @Mapping(target = "forAssignment", source = "forAssignment", qualifiedByName = "userAssessmentId") + @Mapping(target = "forAssignment", source = "forAssignment", qualifiedByName = "userAssignmentId") @Mapping(target = "user", source = "user", qualifiedByName = "userId") - @Mapping(target = "assessment", source = "assessment", qualifiedByName = "assessmentId") + @Mapping(target = "assignment", source = "assignment", qualifiedByName = "assignmentId") SubmissionDTO toDto(Submission s); - @Named("userAssessmentId") + @Named("userAssignmentId") @BeanMapping(ignoreByDefault = true) @Mapping(target = "id", source = "id") - UserAssessmentDTO toDtoUserAssessmentId(UserAssessment userAssessment); + UserAssignmentDTO toDtoUserAssignmentId(UserAssignment userAssignment); @Named("userId") @BeanMapping(ignoreByDefault = true) @Mapping(target = "id", source = "id") UserDTO toDtoUserId(User user); - @Named("assessmentId") + @Named("assignmentId") @BeanMapping(ignoreByDefault = true) @Mapping(target = "id", source = "id") - AssessmentDTO toDtoAssessmentId(Assessment assessment); + AssignmentDTO toDtoAssignmentId(Assignment assignment); } diff --git a/src/main/java/in/upcode/cat/service/mapper/UserAssessmentMapper.java b/src/main/java/in/upcode/cat/service/mapper/UserAssessmentMapper.java deleted file mode 100644 index d418d49..0000000 --- a/src/main/java/in/upcode/cat/service/mapper/UserAssessmentMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package in.upcode.cat.service.mapper; - -import in.upcode.cat.domain.Assessment; -import in.upcode.cat.domain.User; -import in.upcode.cat.domain.UserAssessment; -import in.upcode.cat.service.dto.AssessmentDTO; -import in.upcode.cat.service.dto.UserAssessmentDTO; -import in.upcode.cat.service.dto.UserDTO; -import org.mapstruct.*; - -/** - * Mapper for the entity {@link UserAssessment} and its DTO {@link UserAssessmentDTO}. - */ -@Mapper(componentModel = "spring") -public interface UserAssessmentMapper extends EntityMapper { - @Mapping(target = "submittedByUser", source = "submittedByUser", qualifiedByName = "userId") - @Mapping(target = "user", source = "user", qualifiedByName = "userId") - @Mapping(target = "assessment", source = "assessment", qualifiedByName = "assessmentId") - UserAssessmentDTO toDto(UserAssessment s); - - @Named("userId") - @BeanMapping(ignoreByDefault = true) - @Mapping(target = "id", source = "id") - UserDTO toDtoUserId(User user); - - @Named("assessmentId") - @BeanMapping(ignoreByDefault = true) - @Mapping(target = "id", source = "id") - AssessmentDTO toDtoAssessmentId(Assessment assessment); -} diff --git a/src/main/java/in/upcode/cat/service/mapper/UserAssignmentMapper.java b/src/main/java/in/upcode/cat/service/mapper/UserAssignmentMapper.java new file mode 100644 index 0000000..1d149ac --- /dev/null +++ b/src/main/java/in/upcode/cat/service/mapper/UserAssignmentMapper.java @@ -0,0 +1,35 @@ +package in.upcode.cat.service.mapper; + +import in.upcode.cat.domain.Assignment; +import in.upcode.cat.domain.User; +import in.upcode.cat.domain.UserAssignment; +import in.upcode.cat.service.dto.AssignmentDTO; +import in.upcode.cat.service.dto.UserAssignmentDTO; +import in.upcode.cat.service.dto.UserDTO; +import org.mapstruct.*; + +/** + * Mapper for the entity {@link UserAssignment} and its DTO {@link UserAssignmentDTO}. + */ +@Mapper(componentModel = "spring") +public interface UserAssignmentMapper extends EntityMapper { + // @Mapping(target = "submittedByUser", source = "submittedByUser", qualifiedByName = "userId") + @Mapping(target = "user", source = "user", qualifiedByName = "userId") + @Mapping(target = "assignment", source = "assignment", qualifiedByName = "assignmentId") + // @Mapping(target = "status", source = "status", qualifiedByName = "statusId") + UserAssignmentDTO toDto(UserAssignment s); + + @Named("userId") + @BeanMapping(ignoreByDefault = true) + @Mapping(target = "id", source = "id") + UserDTO toDtoUserId(User user); + + @Named("assignmentId") + @BeanMapping(ignoreByDefault = true) + @Mapping(target = "id", source = "id") + AssignmentDTO toDtoAssignmentId(Assignment assignment); + // @Named("statusId") + // @BeanMapping(ignoreByDefault = true) + // @Mapping(target = "id", source = "id") + // AssignmentStatusDTO toDtoAssignmentStatusId(AssignmentStatus assignmentStatus); +} diff --git a/src/main/java/in/upcode/cat/service/mapper/ValidationRuleMapper.java b/src/main/java/in/upcode/cat/service/mapper/ValidationRuleMapper.java deleted file mode 100644 index 2f2f841..0000000 --- a/src/main/java/in/upcode/cat/service/mapper/ValidationRuleMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package in.upcode.cat.service.mapper; - -import in.upcode.cat.domain.Assessment; -import in.upcode.cat.domain.ValidationRule; -import in.upcode.cat.service.dto.AssessmentDTO; -import in.upcode.cat.service.dto.ValidationRuleDTO; -import org.mapstruct.*; - -/** - * Mapper for the entity {@link ValidationRule} and its DTO {@link ValidationRuleDTO}. - */ -@Mapper(componentModel = "spring") -public interface ValidationRuleMapper extends EntityMapper { - @Mapping(target = "assessment", source = "assessment", qualifiedByName = "assessmentId") - ValidationRuleDTO toDto(ValidationRule s); - - @Named("assessmentId") - @BeanMapping(ignoreByDefault = true) - @Mapping(target = "id", source = "id") - AssessmentDTO toDtoAssessmentId(Assessment assessment); -} diff --git a/src/main/java/in/upcode/cat/web/rest/AssessmentResource.java b/src/main/java/in/upcode/cat/web/rest/AssessmentResource.java deleted file mode 100644 index a3b4098..0000000 --- a/src/main/java/in/upcode/cat/web/rest/AssessmentResource.java +++ /dev/null @@ -1,179 +0,0 @@ -package in.upcode.cat.web.rest; - -import in.upcode.cat.repository.AssessmentRepository; -import in.upcode.cat.service.AssessmentService; -import in.upcode.cat.service.dto.AssessmentDTO; -import in.upcode.cat.web.rest.errors.BadRequestAlertException; -import jakarta.validation.Valid; -import jakarta.validation.constraints.NotNull; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpHeaders; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.support.ServletUriComponentsBuilder; -import tech.jhipster.web.util.HeaderUtil; -import tech.jhipster.web.util.PaginationUtil; -import tech.jhipster.web.util.ResponseUtil; - -/** - * REST controller for managing {@link in.upcode.cat.domain.Assessment}. - */ -@RestController -@RequestMapping("/api/assessments") -public class AssessmentResource { - - private final Logger log = LoggerFactory.getLogger(AssessmentResource.class); - - private static final String ENTITY_NAME = "assessment"; - - @Value("${jhipster.clientApp.name}") - private String applicationName; - - private final AssessmentService assessmentService; - - private final AssessmentRepository assessmentRepository; - - public AssessmentResource(AssessmentService assessmentService, AssessmentRepository assessmentRepository) { - this.assessmentService = assessmentService; - this.assessmentRepository = assessmentRepository; - } - - /** - * {@code POST /assessments} : Create a new assessment. - * - * @param assessmentDTO the assessmentDTO to create. - * @return the {@link ResponseEntity} with status {@code 201 (Created)} and with body the new assessmentDTO, or with status {@code 400 (Bad Request)} if the assessment has already an ID. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PostMapping("") - public ResponseEntity createAssessment(@Valid @RequestBody AssessmentDTO assessmentDTO) throws URISyntaxException { - log.debug("REST request to save Assessment : {}", assessmentDTO); - if (assessmentDTO.getId() != null) { - throw new BadRequestAlertException("A new assessment cannot already have an ID", ENTITY_NAME, "idexists"); - } - AssessmentDTO result = assessmentService.save(assessmentDTO); - return ResponseEntity - .created(new URI("/api/assessments/" + result.getId())) - .headers(HeaderUtil.createEntityCreationAlert(applicationName, true, ENTITY_NAME, result.getId())) - .body(result); - } - - /** - * {@code PUT /assessments/:id} : Updates an existing assessment. - * - * @param id the id of the assessmentDTO to save. - * @param assessmentDTO the assessmentDTO to update. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated assessmentDTO, - * or with status {@code 400 (Bad Request)} if the assessmentDTO is not valid, - * or with status {@code 500 (Internal Server Error)} if the assessmentDTO couldn't be updated. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PutMapping("/{id}") - public ResponseEntity updateAssessment( - @PathVariable(value = "id", required = false) final String id, - @Valid @RequestBody AssessmentDTO assessmentDTO - ) throws URISyntaxException { - log.debug("REST request to update Assessment : {}, {}", id, assessmentDTO); - if (assessmentDTO.getId() == null) { - throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); - } - if (!Objects.equals(id, assessmentDTO.getId())) { - throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); - } - - if (!assessmentRepository.existsById(id)) { - throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); - } - - AssessmentDTO result = assessmentService.update(assessmentDTO); - return ResponseEntity - .ok() - .headers(HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, assessmentDTO.getId())) - .body(result); - } - - /** - * {@code PATCH /assessments/:id} : Partial updates given fields of an existing assessment, field will ignore if it is null - * - * @param id the id of the assessmentDTO to save. - * @param assessmentDTO the assessmentDTO to update. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated assessmentDTO, - * or with status {@code 400 (Bad Request)} if the assessmentDTO is not valid, - * or with status {@code 404 (Not Found)} if the assessmentDTO is not found, - * or with status {@code 500 (Internal Server Error)} if the assessmentDTO couldn't be updated. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PatchMapping(value = "/{id}", consumes = { "application/json", "application/merge-patch+json" }) - public ResponseEntity partialUpdateAssessment( - @PathVariable(value = "id", required = false) final String id, - @NotNull @RequestBody AssessmentDTO assessmentDTO - ) throws URISyntaxException { - log.debug("REST request to partial update Assessment partially : {}, {}", id, assessmentDTO); - if (assessmentDTO.getId() == null) { - throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); - } - if (!Objects.equals(id, assessmentDTO.getId())) { - throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); - } - - if (!assessmentRepository.existsById(id)) { - throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); - } - - Optional result = assessmentService.partialUpdate(assessmentDTO); - - return ResponseUtil.wrapOrNotFound( - result, - HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, assessmentDTO.getId()) - ); - } - - /** - * {@code GET /assessments} : get all the assessments. - * - * @param pageable the pagination information. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and the list of assessments in body. - */ - @GetMapping("") - public ResponseEntity> getAllAssessments(@org.springdoc.core.annotations.ParameterObject Pageable pageable) { - log.debug("REST request to get a page of Assessments"); - Page page = assessmentService.findAll(pageable); - HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(ServletUriComponentsBuilder.fromCurrentRequest(), page); - return ResponseEntity.ok().headers(headers).body(page.getContent()); - } - - /** - * {@code GET /assessments/:id} : get the "id" assessment. - * - * @param id the id of the assessmentDTO to retrieve. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the assessmentDTO, or with status {@code 404 (Not Found)}. - */ - @GetMapping("/{id}") - public ResponseEntity getAssessment(@PathVariable("id") String id) { - log.debug("REST request to get Assessment : {}", id); - Optional assessmentDTO = assessmentService.findOne(id); - return ResponseUtil.wrapOrNotFound(assessmentDTO); - } - - /** - * {@code DELETE /assessments/:id} : delete the "id" assessment. - * - * @param id the id of the assessmentDTO to delete. - * @return the {@link ResponseEntity} with status {@code 204 (NO_CONTENT)}. - */ - @DeleteMapping("/{id}") - public ResponseEntity deleteAssessment(@PathVariable("id") String id) { - log.debug("REST request to delete Assessment : {}", id); - assessmentService.delete(id); - return ResponseEntity.noContent().headers(HeaderUtil.createEntityDeletionAlert(applicationName, true, ENTITY_NAME, id)).build(); - } -} diff --git a/src/main/java/in/upcode/cat/web/rest/AssignmentResource.java b/src/main/java/in/upcode/cat/web/rest/AssignmentResource.java new file mode 100644 index 0000000..a0f96d8 --- /dev/null +++ b/src/main/java/in/upcode/cat/web/rest/AssignmentResource.java @@ -0,0 +1,179 @@ +package in.upcode.cat.web.rest; + +import in.upcode.cat.repository.AssignmentRepository; +import in.upcode.cat.service.AssignmentService; +import in.upcode.cat.service.dto.AssignmentDTO; +import in.upcode.cat.web.rest.errors.BadRequestAlertException; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpHeaders; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.support.ServletUriComponentsBuilder; +import tech.jhipster.web.util.HeaderUtil; +import tech.jhipster.web.util.PaginationUtil; +import tech.jhipster.web.util.ResponseUtil; + +/** + * REST controller for managing {@link in.upcode.cat.domain.Assignment}. + */ +@RestController +@RequestMapping("/api/assignments") +public class AssignmentResource { + + private final Logger log = LoggerFactory.getLogger(AssignmentResource.class); + + private static final String ENTITY_NAME = "assignment"; + + @Value("${jhipster.clientApp.name}") + private String applicationName; + + private final AssignmentService assignmentService; + + private final AssignmentRepository assignmentRepository; + + public AssignmentResource(AssignmentService assignmentService, AssignmentRepository assignmentRepository) { + this.assignmentService = assignmentService; + this.assignmentRepository = assignmentRepository; + } + + /** + * {@code POST /assignments} : Create a new assignment. + * + * @param assignmentDTO the assignmentDTO to create. + * @return the {@link ResponseEntity} with status {@code 201 (Created)} and with body the new assignmentDTO, or with status {@code 400 (Bad Request)} if the assignment has already an ID. + * @throws URISyntaxException if the Location URI syntax is incorrect. + */ + @PostMapping("") + public ResponseEntity createAssignment(@Valid @RequestBody AssignmentDTO assignmentDTO) throws URISyntaxException { + log.debug("REST request to save Assignment : {}", assignmentDTO); + if (assignmentDTO.getId() != null) { + throw new BadRequestAlertException("A new assignment cannot already have an ID", ENTITY_NAME, "idexists"); + } + AssignmentDTO result = assignmentService.save(assignmentDTO); + return ResponseEntity + .created(new URI("/api/assignments/" + result.getId())) + .headers(HeaderUtil.createEntityCreationAlert(applicationName, true, ENTITY_NAME, result.getId())) + .body(result); + } + + /** + * {@code PUT /assignments/:id} : Updates an existing assignment. + * + * @param id the id of the assignmentDTO to save. + * @param assignmentDTO the assignmentDTO to update. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated assignmentDTO, + * or with status {@code 400 (Bad Request)} if the assignmentDTO is not valid, + * or with status {@code 500 (Internal Server Error)} if the assignmentDTO couldn't be updated. + * @throws URISyntaxException if the Location URI syntax is incorrect. + */ + @PutMapping("/{id}") + public ResponseEntity updateAssignment( + @PathVariable(value = "id", required = false) final String id, + @Valid @RequestBody AssignmentDTO assignmentDTO + ) throws URISyntaxException { + log.debug("REST request to update Assignment : {}, {}", id, assignmentDTO); + if (assignmentDTO.getId() == null) { + throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); + } + if (!Objects.equals(id, assignmentDTO.getId())) { + throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); + } + + if (!assignmentRepository.existsById(id)) { + throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); + } + + AssignmentDTO result = assignmentService.update(assignmentDTO); + return ResponseEntity + .ok() + .headers(HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, assignmentDTO.getId())) + .body(result); + } + + /** + * {@code PATCH /assignments/:id} : Partial updates given fields of an existing assignment, field will ignore if it is null + * + * @param id the id of the assignmentDTO to save. + * @param assignmentDTO the assignmentDTO to update. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated assignmentDTO, + * or with status {@code 400 (Bad Request)} if the assignmentDTO is not valid, + * or with status {@code 404 (Not Found)} if the assignmentDTO is not found, + * or with status {@code 500 (Internal Server Error)} if the assignmentDTO couldn't be updated. + * @throws URISyntaxException if the Location URI syntax is incorrect. + */ + @PatchMapping(value = "/{id}", consumes = { "application/json", "application/merge-patch+json" }) + public ResponseEntity partialUpdateAssignment( + @PathVariable(value = "id", required = false) final String id, + @NotNull @RequestBody AssignmentDTO assignmentDTO + ) throws URISyntaxException { + log.debug("REST request to partial update Assignment partially : {}, {}", id, assignmentDTO); + if (assignmentDTO.getId() == null) { + throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); + } + if (!Objects.equals(id, assignmentDTO.getId())) { + throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); + } + + if (!assignmentRepository.existsById(id)) { + throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); + } + + Optional result = assignmentService.partialUpdate(assignmentDTO); + + return ResponseUtil.wrapOrNotFound( + result, + HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, assignmentDTO.getId()) + ); + } + + /** + * {@code GET /assignments} : get all the assignments. + * + * @param pageable the pagination information. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and the list of assignments in body. + */ + @GetMapping("") + public ResponseEntity> getAllAssignments(@org.springdoc.core.annotations.ParameterObject Pageable pageable) { + log.debug("REST request to get a page of Assignments"); + Page page = assignmentService.findAll(pageable); + HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(ServletUriComponentsBuilder.fromCurrentRequest(), page); + return ResponseEntity.ok().headers(headers).body(page.getContent()); + } + + /** + * {@code GET /assignments/:id} : get the "id" assignment. + * + * @param id the id of the assignmentDTO to retrieve. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the assignmentDTO, or with status {@code 404 (Not Found)}. + */ + @GetMapping("/{id}") + public ResponseEntity getAssignment(@PathVariable("id") String id) { + log.debug("REST request to get Assignment : {}", id); + Optional assignmentDTO = assignmentService.findOne(id); + return ResponseUtil.wrapOrNotFound(assignmentDTO); + } + + /** + * {@code DELETE /assignments/:id} : delete the "id" assignment. + * + * @param id the id of the assignmentDTO to delete. + * @return the {@link ResponseEntity} with status {@code 204 (NO_CONTENT)}. + */ + @DeleteMapping("/{id}") + public ResponseEntity deleteAssignment(@PathVariable("id") String id) { + log.debug("REST request to delete Assignment : {}", id); + assignmentService.delete(id); + return ResponseEntity.noContent().headers(HeaderUtil.createEntityDeletionAlert(applicationName, true, ENTITY_NAME, id)).build(); + } +} diff --git a/src/main/java/in/upcode/cat/web/rest/QuestionResource.java b/src/main/java/in/upcode/cat/web/rest/QuestionResource.java deleted file mode 100644 index 614d6ce..0000000 --- a/src/main/java/in/upcode/cat/web/rest/QuestionResource.java +++ /dev/null @@ -1,171 +0,0 @@ -package in.upcode.cat.web.rest; - -import in.upcode.cat.repository.QuestionRepository; -import in.upcode.cat.service.QuestionService; -import in.upcode.cat.service.dto.QuestionDTO; -import in.upcode.cat.web.rest.errors.BadRequestAlertException; -import jakarta.validation.Valid; -import jakarta.validation.constraints.NotNull; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -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 tech.jhipster.web.util.HeaderUtil; -import tech.jhipster.web.util.ResponseUtil; - -/** - * REST controller for managing {@link in.upcode.cat.domain.Question}. - */ -@RestController -@RequestMapping("/api/questions") -public class QuestionResource { - - private final Logger log = LoggerFactory.getLogger(QuestionResource.class); - - private static final String ENTITY_NAME = "question"; - - @Value("${jhipster.clientApp.name}") - private String applicationName; - - private final QuestionService questionService; - - private final QuestionRepository questionRepository; - - public QuestionResource(QuestionService questionService, QuestionRepository questionRepository) { - this.questionService = questionService; - this.questionRepository = questionRepository; - } - - /** - * {@code POST /questions} : Create a new question. - * - * @param questionDTO the questionDTO to create. - * @return the {@link ResponseEntity} with status {@code 201 (Created)} and with body the new questionDTO, or with status {@code 400 (Bad Request)} if the question has already an ID. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PostMapping("") - public ResponseEntity createQuestion(@Valid @RequestBody QuestionDTO questionDTO) throws URISyntaxException { - log.debug("REST request to save Question : {}", questionDTO); - if (questionDTO.getId() != null) { - throw new BadRequestAlertException("A new question cannot already have an ID", ENTITY_NAME, "idexists"); - } - QuestionDTO result = questionService.save(questionDTO); - return ResponseEntity - .created(new URI("/api/questions/" + result.getId())) - .headers(HeaderUtil.createEntityCreationAlert(applicationName, true, ENTITY_NAME, result.getId())) - .body(result); - } - - /** - * {@code PUT /questions/:id} : Updates an existing question. - * - * @param id the id of the questionDTO to save. - * @param questionDTO the questionDTO to update. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated questionDTO, - * or with status {@code 400 (Bad Request)} if the questionDTO is not valid, - * or with status {@code 500 (Internal Server Error)} if the questionDTO couldn't be updated. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PutMapping("/{id}") - public ResponseEntity updateQuestion( - @PathVariable(value = "id", required = false) final String id, - @Valid @RequestBody QuestionDTO questionDTO - ) throws URISyntaxException { - log.debug("REST request to update Question : {}, {}", id, questionDTO); - if (questionDTO.getId() == null) { - throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); - } - if (!Objects.equals(id, questionDTO.getId())) { - throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); - } - - if (!questionRepository.existsById(id)) { - throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); - } - - QuestionDTO result = questionService.update(questionDTO); - return ResponseEntity - .ok() - .headers(HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, questionDTO.getId())) - .body(result); - } - - /** - * {@code PATCH /questions/:id} : Partial updates given fields of an existing question, field will ignore if it is null - * - * @param id the id of the questionDTO to save. - * @param questionDTO the questionDTO to update. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated questionDTO, - * or with status {@code 400 (Bad Request)} if the questionDTO is not valid, - * or with status {@code 404 (Not Found)} if the questionDTO is not found, - * or with status {@code 500 (Internal Server Error)} if the questionDTO couldn't be updated. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PatchMapping(value = "/{id}", consumes = { "application/json", "application/merge-patch+json" }) - public ResponseEntity partialUpdateQuestion( - @PathVariable(value = "id", required = false) final String id, - @NotNull @RequestBody QuestionDTO questionDTO - ) throws URISyntaxException { - log.debug("REST request to partial update Question partially : {}, {}", id, questionDTO); - if (questionDTO.getId() == null) { - throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); - } - if (!Objects.equals(id, questionDTO.getId())) { - throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); - } - - if (!questionRepository.existsById(id)) { - throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); - } - - Optional result = questionService.partialUpdate(questionDTO); - - return ResponseUtil.wrapOrNotFound( - result, - HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, questionDTO.getId()) - ); - } - - /** - * {@code GET /questions} : get all the questions. - * - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and the list of questions in body. - */ - @GetMapping("") - public List getAllQuestions() { - log.debug("REST request to get all Questions"); - return questionService.findAll(); - } - - /** - * {@code GET /questions/:id} : get the "id" question. - * - * @param id the id of the questionDTO to retrieve. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the questionDTO, or with status {@code 404 (Not Found)}. - */ - @GetMapping("/{id}") - public ResponseEntity getQuestion(@PathVariable("id") String id) { - log.debug("REST request to get Question : {}", id); - Optional questionDTO = questionService.findOne(id); - return ResponseUtil.wrapOrNotFound(questionDTO); - } - - /** - * {@code DELETE /questions/:id} : delete the "id" question. - * - * @param id the id of the questionDTO to delete. - * @return the {@link ResponseEntity} with status {@code 204 (NO_CONTENT)}. - */ - @DeleteMapping("/{id}") - public ResponseEntity deleteQuestion(@PathVariable("id") String id) { - log.debug("REST request to delete Question : {}", id); - questionService.delete(id); - return ResponseEntity.noContent().headers(HeaderUtil.createEntityDeletionAlert(applicationName, true, ENTITY_NAME, id)).build(); - } -} diff --git a/src/main/java/in/upcode/cat/web/rest/UserAssessmentResource.java b/src/main/java/in/upcode/cat/web/rest/UserAssessmentResource.java deleted file mode 100644 index 5b56376..0000000 --- a/src/main/java/in/upcode/cat/web/rest/UserAssessmentResource.java +++ /dev/null @@ -1,182 +0,0 @@ -package in.upcode.cat.web.rest; - -import in.upcode.cat.repository.UserAssessmentRepository; -import in.upcode.cat.service.UserAssessmentService; -import in.upcode.cat.service.dto.UserAssessmentDTO; -import in.upcode.cat.web.rest.errors.BadRequestAlertException; -import jakarta.validation.Valid; -import jakarta.validation.constraints.NotNull; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpHeaders; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.support.ServletUriComponentsBuilder; -import tech.jhipster.web.util.HeaderUtil; -import tech.jhipster.web.util.PaginationUtil; -import tech.jhipster.web.util.ResponseUtil; - -/** - * REST controller for managing {@link in.upcode.cat.domain.UserAssessment}. - */ -@RestController -@RequestMapping("/api/user-assessments") -public class UserAssessmentResource { - - private final Logger log = LoggerFactory.getLogger(UserAssessmentResource.class); - - private static final String ENTITY_NAME = "userAssessment"; - - @Value("${jhipster.clientApp.name}") - private String applicationName; - - private final UserAssessmentService userAssessmentService; - - private final UserAssessmentRepository userAssessmentRepository; - - public UserAssessmentResource(UserAssessmentService userAssessmentService, UserAssessmentRepository userAssessmentRepository) { - this.userAssessmentService = userAssessmentService; - this.userAssessmentRepository = userAssessmentRepository; - } - - /** - * {@code POST /user-assessments} : Create a new userAssessment. - * - * @param userAssessmentDTO the userAssessmentDTO to create. - * @return the {@link ResponseEntity} with status {@code 201 (Created)} and with body the new userAssessmentDTO, or with status {@code 400 (Bad Request)} if the userAssessment has already an ID. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PostMapping("") - public ResponseEntity createUserAssessment(@Valid @RequestBody UserAssessmentDTO userAssessmentDTO) - throws URISyntaxException { - log.debug("REST request to save UserAssessment : {}", userAssessmentDTO); - if (userAssessmentDTO.getId() != null) { - throw new BadRequestAlertException("A new userAssessment cannot already have an ID", ENTITY_NAME, "idexists"); - } - UserAssessmentDTO result = userAssessmentService.save(userAssessmentDTO); - return ResponseEntity - .created(new URI("/api/user-assessments/" + result.getId())) - .headers(HeaderUtil.createEntityCreationAlert(applicationName, true, ENTITY_NAME, result.getId())) - .body(result); - } - - /** - * {@code PUT /user-assessments/:id} : Updates an existing userAssessment. - * - * @param id the id of the userAssessmentDTO to save. - * @param userAssessmentDTO the userAssessmentDTO to update. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated userAssessmentDTO, - * or with status {@code 400 (Bad Request)} if the userAssessmentDTO is not valid, - * or with status {@code 500 (Internal Server Error)} if the userAssessmentDTO couldn't be updated. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PutMapping("/{id}") - public ResponseEntity updateUserAssessment( - @PathVariable(value = "id", required = false) final String id, - @Valid @RequestBody UserAssessmentDTO userAssessmentDTO - ) throws URISyntaxException { - log.debug("REST request to update UserAssessment : {}, {}", id, userAssessmentDTO); - if (userAssessmentDTO.getId() == null) { - throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); - } - if (!Objects.equals(id, userAssessmentDTO.getId())) { - throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); - } - - if (!userAssessmentRepository.existsById(id)) { - throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); - } - - UserAssessmentDTO result = userAssessmentService.update(userAssessmentDTO); - return ResponseEntity - .ok() - .headers(HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, userAssessmentDTO.getId())) - .body(result); - } - - /** - * {@code PATCH /user-assessments/:id} : Partial updates given fields of an existing userAssessment, field will ignore if it is null - * - * @param id the id of the userAssessmentDTO to save. - * @param userAssessmentDTO the userAssessmentDTO to update. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated userAssessmentDTO, - * or with status {@code 400 (Bad Request)} if the userAssessmentDTO is not valid, - * or with status {@code 404 (Not Found)} if the userAssessmentDTO is not found, - * or with status {@code 500 (Internal Server Error)} if the userAssessmentDTO couldn't be updated. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PatchMapping(value = "/{id}", consumes = { "application/json", "application/merge-patch+json" }) - public ResponseEntity partialUpdateUserAssessment( - @PathVariable(value = "id", required = false) final String id, - @NotNull @RequestBody UserAssessmentDTO userAssessmentDTO - ) throws URISyntaxException { - log.debug("REST request to partial update UserAssessment partially : {}, {}", id, userAssessmentDTO); - if (userAssessmentDTO.getId() == null) { - throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); - } - if (!Objects.equals(id, userAssessmentDTO.getId())) { - throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); - } - - if (!userAssessmentRepository.existsById(id)) { - throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); - } - - Optional result = userAssessmentService.partialUpdate(userAssessmentDTO); - - return ResponseUtil.wrapOrNotFound( - result, - HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, userAssessmentDTO.getId()) - ); - } - - /** - * {@code GET /user-assessments} : get all the userAssessments. - * - * @param pageable the pagination information. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and the list of userAssessments in body. - */ - @GetMapping("") - public ResponseEntity> getAllUserAssessments( - @org.springdoc.core.annotations.ParameterObject Pageable pageable - ) { - log.debug("REST request to get a page of UserAssessments"); - Page page = userAssessmentService.findAll(pageable); - HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(ServletUriComponentsBuilder.fromCurrentRequest(), page); - return ResponseEntity.ok().headers(headers).body(page.getContent()); - } - - /** - * {@code GET /user-assessments/:id} : get the "id" userAssessment. - * - * @param id the id of the userAssessmentDTO to retrieve. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the userAssessmentDTO, or with status {@code 404 (Not Found)}. - */ - @GetMapping("/{id}") - public ResponseEntity getUserAssessment(@PathVariable("id") String id) { - log.debug("REST request to get UserAssessment : {}", id); - Optional userAssessmentDTO = userAssessmentService.findOne(id); - return ResponseUtil.wrapOrNotFound(userAssessmentDTO); - } - - /** - * {@code DELETE /user-assessments/:id} : delete the "id" userAssessment. - * - * @param id the id of the userAssessmentDTO to delete. - * @return the {@link ResponseEntity} with status {@code 204 (NO_CONTENT)}. - */ - @DeleteMapping("/{id}") - public ResponseEntity deleteUserAssessment(@PathVariable("id") String id) { - log.debug("REST request to delete UserAssessment : {}", id); - userAssessmentService.delete(id); - return ResponseEntity.noContent().headers(HeaderUtil.createEntityDeletionAlert(applicationName, true, ENTITY_NAME, id)).build(); - } -} diff --git a/src/main/java/in/upcode/cat/web/rest/UserAssignmentResource.java b/src/main/java/in/upcode/cat/web/rest/UserAssignmentResource.java new file mode 100644 index 0000000..7d334ba --- /dev/null +++ b/src/main/java/in/upcode/cat/web/rest/UserAssignmentResource.java @@ -0,0 +1,182 @@ +package in.upcode.cat.web.rest; + +import in.upcode.cat.repository.UserAssignmentRepository; +import in.upcode.cat.service.UserAssignmentService; +import in.upcode.cat.service.dto.UserAssignmentDTO; +import in.upcode.cat.web.rest.errors.BadRequestAlertException; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpHeaders; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.support.ServletUriComponentsBuilder; +import tech.jhipster.web.util.HeaderUtil; +import tech.jhipster.web.util.PaginationUtil; +import tech.jhipster.web.util.ResponseUtil; + +/** + * REST controller for managing {@link in.upcode.cat.domain.UserAssignment}. + */ +@RestController +@RequestMapping("/api/user-assignments") +public class UserAssignmentResource { + + private final Logger log = LoggerFactory.getLogger(UserAssignmentResource.class); + + private static final String ENTITY_NAME = "userAssignment"; + + @Value("${jhipster.clientApp.name}") + private String applicationName; + + private final UserAssignmentService userAssignmentService; + + private final UserAssignmentRepository userAssignmentRepository; + + public UserAssignmentResource(UserAssignmentService userAssignmentService, UserAssignmentRepository userAssignmentRepository) { + this.userAssignmentService = userAssignmentService; + this.userAssignmentRepository = userAssignmentRepository; + } + + /** + * {@code POST /user-assignments} : Create a new userAssignment. + * + * @param userAssignmentDTO the userAssignmentDTO to create. + * @return the {@link ResponseEntity} with status {@code 201 (Created)} and with body the new userAssignmentDTO, or with status {@code 400 (Bad Request)} if the userAssignment has already an ID. + * @throws URISyntaxException if the Location URI syntax is incorrect. + */ + @PostMapping("") + public ResponseEntity createUserAssignment(@Valid @RequestBody UserAssignmentDTO userAssignmentDTO) + throws URISyntaxException { + log.debug("REST request to save UserAssignment : {}", userAssignmentDTO); + if (userAssignmentDTO.getId() != null) { + throw new BadRequestAlertException("A new userAssignment cannot already have an ID", ENTITY_NAME, "idexists"); + } + UserAssignmentDTO result = userAssignmentService.save(userAssignmentDTO); + return ResponseEntity + .created(new URI("/api/user-assignments/" + result.getId())) + .headers(HeaderUtil.createEntityCreationAlert(applicationName, true, ENTITY_NAME, result.getId())) + .body(result); + } + + /** + * {@code PUT /user-assignments/:id} : Updates an existing userAssignment. + * + * @param id the id of the userAssignmentDTO to save. + * @param userAssignmentDTO the userAssignmentDTO to update. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated userAssignmentDTO, + * or with status {@code 400 (Bad Request)} if the userAssignmentDTO is not valid, + * or with status {@code 500 (Internal Server Error)} if the userAssignmentDTO couldn't be updated. + * @throws URISyntaxException if the Location URI syntax is incorrect. + */ + @PutMapping("/{id}") + public ResponseEntity updateUserAssignment( + @PathVariable(value = "id", required = false) final String id, + @Valid @RequestBody UserAssignmentDTO userAssignmentDTO + ) throws URISyntaxException { + log.debug("REST request to update UserAssignment : {}, {}", id, userAssignmentDTO); + if (userAssignmentDTO.getId() == null) { + throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); + } + if (!Objects.equals(id, userAssignmentDTO.getId())) { + throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); + } + + if (!userAssignmentRepository.existsById(id)) { + throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); + } + + UserAssignmentDTO result = userAssignmentService.update(userAssignmentDTO); + return ResponseEntity + .ok() + .headers(HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, userAssignmentDTO.getId())) + .body(result); + } + + /** + * {@code PATCH /user-assignments/:id} : Partial updates given fields of an existing userAssignment, field will ignore if it is null + * + * @param id the id of the userAssignmentDTO to save. + * @param userAssignmentDTO the userAssignmentDTO to update. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated userAssignmentDTO, + * or with status {@code 400 (Bad Request)} if the userAssignmentDTO is not valid, + * or with status {@code 404 (Not Found)} if the userAssignmentDTO is not found, + * or with status {@code 500 (Internal Server Error)} if the userAssignmentDTO couldn't be updated. + * @throws URISyntaxException if the Location URI syntax is incorrect. + */ + @PatchMapping(value = "/{id}", consumes = { "application/json", "application/merge-patch+json" }) + public ResponseEntity partialUpdateUserAssignment( + @PathVariable(value = "id", required = false) final String id, + @NotNull @RequestBody UserAssignmentDTO userAssignmentDTO + ) throws URISyntaxException { + log.debug("REST request to partial update UserAssignment partially : {}, {}", id, userAssignmentDTO); + if (userAssignmentDTO.getId() == null) { + throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); + } + if (!Objects.equals(id, userAssignmentDTO.getId())) { + throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); + } + + if (!userAssignmentRepository.existsById(id)) { + throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); + } + + Optional result = userAssignmentService.partialUpdate(userAssignmentDTO); + + return ResponseUtil.wrapOrNotFound( + result, + HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, userAssignmentDTO.getId()) + ); + } + + /** + * {@code GET /user-assignments} : get all the userAssignments. + * + * @param pageable the pagination information. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and the list of userAssignments in body. + */ + @GetMapping("") + public ResponseEntity> getAllUserAssignments( + @org.springdoc.core.annotations.ParameterObject Pageable pageable + ) { + log.debug("REST request to get a page of UserAssignments"); + Page page = userAssignmentService.findAll(pageable); + HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(ServletUriComponentsBuilder.fromCurrentRequest(), page); + return ResponseEntity.ok().headers(headers).body(page.getContent()); + } + + /** + * {@code GET /user-assignments/:id} : get the "id" userAssignment. + * + * @param id the id of the userAssignmentDTO to retrieve. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the userAssignmentDTO, or with status {@code 404 (Not Found)}. + */ + @GetMapping("/{id}") + public ResponseEntity getUserAssignment(@PathVariable("id") String id) { + log.debug("REST request to get UserAssignment : {}", id); + Optional userAssignmentDTO = userAssignmentService.findOne(id); + return ResponseUtil.wrapOrNotFound(userAssignmentDTO); + } + + /** + * {@code DELETE /user-assignments/:id} : delete the "id" userAssignment. + * + * @param id the id of the userAssignmentDTO to delete. + * @return the {@link ResponseEntity} with status {@code 204 (NO_CONTENT)}. + */ + @DeleteMapping("/{id}") + public ResponseEntity deleteUserAssignment(@PathVariable("id") String id) { + log.debug("REST request to delete UserAssignment : {}", id); + userAssignmentService.delete(id); + return ResponseEntity.noContent().headers(HeaderUtil.createEntityDeletionAlert(applicationName, true, ENTITY_NAME, id)).build(); + } +} diff --git a/src/main/java/in/upcode/cat/web/rest/ValidationRuleResource.java b/src/main/java/in/upcode/cat/web/rest/ValidationRuleResource.java deleted file mode 100644 index 9a7d99e..0000000 --- a/src/main/java/in/upcode/cat/web/rest/ValidationRuleResource.java +++ /dev/null @@ -1,172 +0,0 @@ -package in.upcode.cat.web.rest; - -import in.upcode.cat.repository.ValidationRuleRepository; -import in.upcode.cat.service.ValidationRuleService; -import in.upcode.cat.service.dto.ValidationRuleDTO; -import in.upcode.cat.web.rest.errors.BadRequestAlertException; -import jakarta.validation.Valid; -import jakarta.validation.constraints.NotNull; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -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 tech.jhipster.web.util.HeaderUtil; -import tech.jhipster.web.util.ResponseUtil; - -/** - * REST controller for managing {@link in.upcode.cat.domain.ValidationRule}. - */ -@RestController -@RequestMapping("/api/validation-rules") -public class ValidationRuleResource { - - private final Logger log = LoggerFactory.getLogger(ValidationRuleResource.class); - - private static final String ENTITY_NAME = "validationRule"; - - @Value("${jhipster.clientApp.name}") - private String applicationName; - - private final ValidationRuleService validationRuleService; - - private final ValidationRuleRepository validationRuleRepository; - - public ValidationRuleResource(ValidationRuleService validationRuleService, ValidationRuleRepository validationRuleRepository) { - this.validationRuleService = validationRuleService; - this.validationRuleRepository = validationRuleRepository; - } - - /** - * {@code POST /validation-rules} : Create a new validationRule. - * - * @param validationRuleDTO the validationRuleDTO to create. - * @return the {@link ResponseEntity} with status {@code 201 (Created)} and with body the new validationRuleDTO, or with status {@code 400 (Bad Request)} if the validationRule has already an ID. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PostMapping("") - public ResponseEntity createValidationRule(@Valid @RequestBody ValidationRuleDTO validationRuleDTO) - throws URISyntaxException { - log.debug("REST request to save ValidationRule : {}", validationRuleDTO); - if (validationRuleDTO.getId() != null) { - throw new BadRequestAlertException("A new validationRule cannot already have an ID", ENTITY_NAME, "idexists"); - } - ValidationRuleDTO result = validationRuleService.save(validationRuleDTO); - return ResponseEntity - .created(new URI("/api/validation-rules/" + result.getId())) - .headers(HeaderUtil.createEntityCreationAlert(applicationName, true, ENTITY_NAME, result.getId())) - .body(result); - } - - /** - * {@code PUT /validation-rules/:id} : Updates an existing validationRule. - * - * @param id the id of the validationRuleDTO to save. - * @param validationRuleDTO the validationRuleDTO to update. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated validationRuleDTO, - * or with status {@code 400 (Bad Request)} if the validationRuleDTO is not valid, - * or with status {@code 500 (Internal Server Error)} if the validationRuleDTO couldn't be updated. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PutMapping("/{id}") - public ResponseEntity updateValidationRule( - @PathVariable(value = "id", required = false) final String id, - @Valid @RequestBody ValidationRuleDTO validationRuleDTO - ) throws URISyntaxException { - log.debug("REST request to update ValidationRule : {}, {}", id, validationRuleDTO); - if (validationRuleDTO.getId() == null) { - throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); - } - if (!Objects.equals(id, validationRuleDTO.getId())) { - throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); - } - - if (!validationRuleRepository.existsById(id)) { - throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); - } - - ValidationRuleDTO result = validationRuleService.update(validationRuleDTO); - return ResponseEntity - .ok() - .headers(HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, validationRuleDTO.getId())) - .body(result); - } - - /** - * {@code PATCH /validation-rules/:id} : Partial updates given fields of an existing validationRule, field will ignore if it is null - * - * @param id the id of the validationRuleDTO to save. - * @param validationRuleDTO the validationRuleDTO to update. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated validationRuleDTO, - * or with status {@code 400 (Bad Request)} if the validationRuleDTO is not valid, - * or with status {@code 404 (Not Found)} if the validationRuleDTO is not found, - * or with status {@code 500 (Internal Server Error)} if the validationRuleDTO couldn't be updated. - * @throws URISyntaxException if the Location URI syntax is incorrect. - */ - @PatchMapping(value = "/{id}", consumes = { "application/json", "application/merge-patch+json" }) - public ResponseEntity partialUpdateValidationRule( - @PathVariable(value = "id", required = false) final String id, - @NotNull @RequestBody ValidationRuleDTO validationRuleDTO - ) throws URISyntaxException { - log.debug("REST request to partial update ValidationRule partially : {}, {}", id, validationRuleDTO); - if (validationRuleDTO.getId() == null) { - throw new BadRequestAlertException("Invalid id", ENTITY_NAME, "idnull"); - } - if (!Objects.equals(id, validationRuleDTO.getId())) { - throw new BadRequestAlertException("Invalid ID", ENTITY_NAME, "idinvalid"); - } - - if (!validationRuleRepository.existsById(id)) { - throw new BadRequestAlertException("Entity not found", ENTITY_NAME, "idnotfound"); - } - - Optional result = validationRuleService.partialUpdate(validationRuleDTO); - - return ResponseUtil.wrapOrNotFound( - result, - HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, validationRuleDTO.getId()) - ); - } - - /** - * {@code GET /validation-rules} : get all the validationRules. - * - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and the list of validationRules in body. - */ - @GetMapping("") - public List getAllValidationRules() { - log.debug("REST request to get all ValidationRules"); - return validationRuleService.findAll(); - } - - /** - * {@code GET /validation-rules/:id} : get the "id" validationRule. - * - * @param id the id of the validationRuleDTO to retrieve. - * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the validationRuleDTO, or with status {@code 404 (Not Found)}. - */ - @GetMapping("/{id}") - public ResponseEntity getValidationRule(@PathVariable("id") String id) { - log.debug("REST request to get ValidationRule : {}", id); - Optional validationRuleDTO = validationRuleService.findOne(id); - return ResponseUtil.wrapOrNotFound(validationRuleDTO); - } - - /** - * {@code DELETE /validation-rules/:id} : delete the "id" validationRule. - * - * @param id the id of the validationRuleDTO to delete. - * @return the {@link ResponseEntity} with status {@code 204 (NO_CONTENT)}. - */ - @DeleteMapping("/{id}") - public ResponseEntity deleteValidationRule(@PathVariable("id") String id) { - log.debug("REST request to delete ValidationRule : {}", id); - validationRuleService.delete(id); - return ResponseEntity.noContent().headers(HeaderUtil.createEntityDeletionAlert(applicationName, true, ENTITY_NAME, id)).build(); - } -} diff --git a/src/test/java/gatling/simulations/AssessmentGatlingTest.java b/src/test/java/gatling/simulations/AssignmentGatlingTest.java similarity index 87% rename from src/test/java/gatling/simulations/AssessmentGatlingTest.java rename to src/test/java/gatling/simulations/AssignmentGatlingTest.java index 7bcb5e1..34f3ef3 100644 --- a/src/test/java/gatling/simulations/AssessmentGatlingTest.java +++ b/src/test/java/gatling/simulations/AssignmentGatlingTest.java @@ -20,9 +20,9 @@ import org.slf4j.LoggerFactory; /** - * Performance test for the Assessment entity. + * Performance test for the Assignment entity. */ -public class AssessmentGatlingTest extends Simulation { +public class AssignmentGatlingTest extends Simulation { LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); @@ -68,11 +68,11 @@ public class AssessmentGatlingTest extends Simulation { .pause(10) .repeat(2) .on( - exec(http("Get all assessments").get("/api/assessments").headers(headers_http_authenticated).check(status().is(200))) + exec(http("Get all assignments").get("/api/assignments").headers(headers_http_authenticated).check(status().is(200))) .pause(Duration.ofSeconds(10), Duration.ofSeconds(20)) .exec( - http("Create new assessment") - .post("/api/assessments") + http("Create new assignment") + .post("/api/assignments") .headers(headers_http_authenticated) .body( StringBody( @@ -92,17 +92,17 @@ public class AssessmentGatlingTest extends Simulation { ) .asJson() .check(status().is(201)) - .check(headerRegex("Location", "(.*)").saveAs("new_assessment_url")) + .check(headerRegex("Location", "(.*)").saveAs("new_assignment_url")) ) .exitHereIfFailed() .pause(10) .repeat(5) - .on(exec(http("Get created assessment").get("${new_assessment_url}").headers(headers_http_authenticated)).pause(10)) - .exec(http("Delete created assessment").delete("${new_assessment_url}").headers(headers_http_authenticated)) + .on(exec(http("Get created assignment").get("${new_assignment_url}").headers(headers_http_authenticated)).pause(10)) + .exec(http("Delete created assignment").delete("${new_assignment_url}").headers(headers_http_authenticated)) .pause(10) ); - ScenarioBuilder users = scenario("Test the Assessment entity").exec(scn); + ScenarioBuilder users = scenario("Test the Assignment entity").exec(scn); { setUp(users.injectOpen(rampUsers(Integer.getInteger("users", 100)).during(Duration.ofMinutes(Integer.getInteger("ramp", 1))))) diff --git a/src/test/java/gatling/simulations/QuestionGatlingTest.java b/src/test/java/gatling/simulations/QuestionGatlingTest.java deleted file mode 100644 index 044b281..0000000 --- a/src/test/java/gatling/simulations/QuestionGatlingTest.java +++ /dev/null @@ -1,105 +0,0 @@ -package gatling.simulations; - -import static io.gatling.javaapi.core.CoreDsl.StringBody; -import static io.gatling.javaapi.core.CoreDsl.exec; -import static io.gatling.javaapi.core.CoreDsl.rampUsers; -import static io.gatling.javaapi.core.CoreDsl.scenario; -import static io.gatling.javaapi.http.HttpDsl.header; -import static io.gatling.javaapi.http.HttpDsl.headerRegex; -import static io.gatling.javaapi.http.HttpDsl.http; -import static io.gatling.javaapi.http.HttpDsl.status; - -import ch.qos.logback.classic.LoggerContext; -import io.gatling.javaapi.core.ChainBuilder; -import io.gatling.javaapi.core.ScenarioBuilder; -import io.gatling.javaapi.core.Simulation; -import io.gatling.javaapi.http.HttpProtocolBuilder; -import java.time.Duration; -import java.util.Map; -import java.util.Optional; -import org.slf4j.LoggerFactory; - -/** - * Performance test for the Question entity. - */ -public class QuestionGatlingTest extends Simulation { - - LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); - - { - // Log all HTTP requests - //context.getLogger("io.gatling.http").setLevel(Level.valueOf("TRACE")); - // Log failed HTTP requests - //context.getLogger("io.gatling.http").setLevel(Level.valueOf("DEBUG")); - } - - String baseURL = Optional.ofNullable(System.getProperty("baseURL")).orElse("http://localhost:8080"); - - HttpProtocolBuilder httpConf = http - .baseUrl(baseURL) - .inferHtmlResources() - .acceptHeader("*/*") - .acceptEncodingHeader("gzip, deflate") - .acceptLanguageHeader("fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3") - .connectionHeader("keep-alive") - .userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:33.0) Gecko/20100101 Firefox/33.0") - .silentResources(); // Silence all resources like css or css so they don't clutter the results - - Map headers_http = Map.of("Accept", "application/json"); - - Map headers_http_authentication = Map.of("Content-Type", "application/json", "Accept", "application/json"); - - Map headers_http_authenticated = Map.of("Accept", "application/json", "Authorization", "${access_token}"); - - ChainBuilder scn = exec(http("First unauthenticated request").get("/api/account").headers(headers_http).check(status().is(401))) - .exitHereIfFailed() - .pause(10) - .exec( - http("Authentication") - .post("/api/authenticate") - .headers(headers_http_authentication) - .body(StringBody("{\"username\":\"admin\", \"password\":\"admin\"}")) - .asJson() - .check(header("Authorization").saveAs("access_token")) - ) - .exitHereIfFailed() - .pause(2) - .exec(http("Authenticated request").get("/api/account").headers(headers_http_authenticated).check(status().is(200))) - .pause(10) - .repeat(2) - .on( - exec(http("Get all questions").get("/api/questions").headers(headers_http_authenticated).check(status().is(200))) - .pause(Duration.ofSeconds(10), Duration.ofSeconds(20)) - .exec( - http("Create new question") - .post("/api/questions") - .headers(headers_http_authenticated) - .body( - StringBody( - "{" + - "\"questionText\": null" + - ", \"codeSnippet\": null" + - ", \"resources\": \"SAMPLE_TEXT\"" + - ", \"points\": 0" + - "}" - ) - ) - .asJson() - .check(status().is(201)) - .check(headerRegex("Location", "(.*)").saveAs("new_question_url")) - ) - .exitHereIfFailed() - .pause(10) - .repeat(5) - .on(exec(http("Get created question").get("${new_question_url}").headers(headers_http_authenticated)).pause(10)) - .exec(http("Delete created question").delete("${new_question_url}").headers(headers_http_authenticated)) - .pause(10) - ); - - ScenarioBuilder users = scenario("Test the Question entity").exec(scn); - - { - setUp(users.injectOpen(rampUsers(Integer.getInteger("users", 100)).during(Duration.ofMinutes(Integer.getInteger("ramp", 1))))) - .protocols(httpConf); - } -} diff --git a/src/test/java/gatling/simulations/UserAssessmentGatlingTest.java b/src/test/java/gatling/simulations/UserAssignmentGatlingTest.java similarity index 84% rename from src/test/java/gatling/simulations/UserAssessmentGatlingTest.java rename to src/test/java/gatling/simulations/UserAssignmentGatlingTest.java index 6ad94ab..7d70535 100644 --- a/src/test/java/gatling/simulations/UserAssessmentGatlingTest.java +++ b/src/test/java/gatling/simulations/UserAssignmentGatlingTest.java @@ -20,9 +20,9 @@ import org.slf4j.LoggerFactory; /** - * Performance test for the UserAssessment entity. + * Performance test for the UserAssignment entity. */ -public class UserAssessmentGatlingTest extends Simulation { +public class UserAssignmentGatlingTest extends Simulation { LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); @@ -68,11 +68,11 @@ public class UserAssessmentGatlingTest extends Simulation { .pause(10) .repeat(2) .on( - exec(http("Get all userAssessments").get("/api/user-assessments").headers(headers_http_authenticated).check(status().is(200))) + exec(http("Get all userAssignments").get("/api/user-assignments").headers(headers_http_authenticated).check(status().is(200))) .pause(Duration.ofSeconds(10), Duration.ofSeconds(20)) .exec( - http("Create new userAssessment") - .post("/api/user-assessments") + http("Create new userAssignment") + .post("/api/user-assignments") .headers(headers_http_authenticated) .body( StringBody( @@ -85,17 +85,17 @@ public class UserAssessmentGatlingTest extends Simulation { ) .asJson() .check(status().is(201)) - .check(headerRegex("Location", "(.*)").saveAs("new_userAssessment_url")) + .check(headerRegex("Location", "(.*)").saveAs("new_userAssignment_url")) ) .exitHereIfFailed() .pause(10) .repeat(5) - .on(exec(http("Get created userAssessment").get("${new_userAssessment_url}").headers(headers_http_authenticated)).pause(10)) - .exec(http("Delete created userAssessment").delete("${new_userAssessment_url}").headers(headers_http_authenticated)) + .on(exec(http("Get created userAssignment").get("${new_userAssignment_url}").headers(headers_http_authenticated)).pause(10)) + .exec(http("Delete created userAssignment").delete("${new_userAssignment_url}").headers(headers_http_authenticated)) .pause(10) ); - ScenarioBuilder users = scenario("Test the UserAssessment entity").exec(scn); + ScenarioBuilder users = scenario("Test the UserAssignment entity").exec(scn); { setUp(users.injectOpen(rampUsers(Integer.getInteger("users", 100)).during(Duration.ofMinutes(Integer.getInteger("ramp", 1))))) diff --git a/src/test/java/gatling/simulations/ValidationRuleGatlingTest.java b/src/test/java/gatling/simulations/ValidationRuleGatlingTest.java deleted file mode 100644 index 7515d4c..0000000 --- a/src/test/java/gatling/simulations/ValidationRuleGatlingTest.java +++ /dev/null @@ -1,100 +0,0 @@ -package gatling.simulations; - -import static io.gatling.javaapi.core.CoreDsl.StringBody; -import static io.gatling.javaapi.core.CoreDsl.exec; -import static io.gatling.javaapi.core.CoreDsl.rampUsers; -import static io.gatling.javaapi.core.CoreDsl.scenario; -import static io.gatling.javaapi.http.HttpDsl.header; -import static io.gatling.javaapi.http.HttpDsl.headerRegex; -import static io.gatling.javaapi.http.HttpDsl.http; -import static io.gatling.javaapi.http.HttpDsl.status; - -import ch.qos.logback.classic.LoggerContext; -import io.gatling.javaapi.core.ChainBuilder; -import io.gatling.javaapi.core.ScenarioBuilder; -import io.gatling.javaapi.core.Simulation; -import io.gatling.javaapi.http.HttpProtocolBuilder; -import java.time.Duration; -import java.util.Map; -import java.util.Optional; -import org.slf4j.LoggerFactory; - -/** - * Performance test for the ValidationRule entity. - */ -public class ValidationRuleGatlingTest extends Simulation { - - LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); - - { - // Log all HTTP requests - //context.getLogger("io.gatling.http").setLevel(Level.valueOf("TRACE")); - // Log failed HTTP requests - //context.getLogger("io.gatling.http").setLevel(Level.valueOf("DEBUG")); - } - - String baseURL = Optional.ofNullable(System.getProperty("baseURL")).orElse("http://localhost:8080"); - - HttpProtocolBuilder httpConf = http - .baseUrl(baseURL) - .inferHtmlResources() - .acceptHeader("*/*") - .acceptEncodingHeader("gzip, deflate") - .acceptLanguageHeader("fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3") - .connectionHeader("keep-alive") - .userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:33.0) Gecko/20100101 Firefox/33.0") - .silentResources(); // Silence all resources like css or css so they don't clutter the results - - Map headers_http = Map.of("Accept", "application/json"); - - Map headers_http_authentication = Map.of("Content-Type", "application/json", "Accept", "application/json"); - - Map headers_http_authenticated = Map.of("Accept", "application/json", "Authorization", "${access_token}"); - - ChainBuilder scn = exec(http("First unauthenticated request").get("/api/account").headers(headers_http).check(status().is(401))) - .exitHereIfFailed() - .pause(10) - .exec( - http("Authentication") - .post("/api/authenticate") - .headers(headers_http_authentication) - .body(StringBody("{\"username\":\"admin\", \"password\":\"admin\"}")) - .asJson() - .check(header("Authorization").saveAs("access_token")) - ) - .exitHereIfFailed() - .pause(2) - .exec(http("Authenticated request").get("/api/account").headers(headers_http_authenticated).check(status().is(200))) - .pause(10) - .repeat(2) - .on( - exec(http("Get all validationRules").get("/api/validation-rules").headers(headers_http_authenticated).check(status().is(200))) - .pause(Duration.ofSeconds(10), Duration.ofSeconds(20)) - .exec( - http("Create new validationRule") - .post("/api/validation-rules") - .headers(headers_http_authenticated) - .body( - StringBody( - "{" + "\"description\": null" + ", \"validationScript\": null" + ", \"ruleType\": \"SAMPLE_TEXT\"" + "}" - ) - ) - .asJson() - .check(status().is(201)) - .check(headerRegex("Location", "(.*)").saveAs("new_validationRule_url")) - ) - .exitHereIfFailed() - .pause(10) - .repeat(5) - .on(exec(http("Get created validationRule").get("${new_validationRule_url}").headers(headers_http_authenticated)).pause(10)) - .exec(http("Delete created validationRule").delete("${new_validationRule_url}").headers(headers_http_authenticated)) - .pause(10) - ); - - ScenarioBuilder users = scenario("Test the ValidationRule entity").exec(scn); - - { - setUp(users.injectOpen(rampUsers(Integer.getInteger("users", 100)).during(Duration.ofMinutes(Integer.getInteger("ramp", 1))))) - .protocols(httpConf); - } -} diff --git a/src/test/java/in/upcode/cat/domain/AssessmentTest.java b/src/test/java/in/upcode/cat/domain/AssessmentTest.java deleted file mode 100644 index f6371c8..0000000 --- a/src/test/java/in/upcode/cat/domain/AssessmentTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package in.upcode.cat.domain; - -import static in.upcode.cat.domain.AssessmentTestSamples.*; -import static org.assertj.core.api.Assertions.assertThat; - -import in.upcode.cat.web.rest.TestUtil; -import org.junit.jupiter.api.Test; - -class AssessmentTest { - - @Test - void equalsVerifier() throws Exception { - TestUtil.equalsVerifier(Assessment.class); - Assessment assessment1 = getAssessmentSample1(); - Assessment assessment2 = new Assessment(); - assertThat(assessment1).isNotEqualTo(assessment2); - - assessment2.setId(assessment1.getId()); - assertThat(assessment1).isEqualTo(assessment2); - - assessment2 = getAssessmentSample2(); - assertThat(assessment1).isNotEqualTo(assessment2); - } -} diff --git a/src/test/java/in/upcode/cat/domain/AssessmentTestSamples.java b/src/test/java/in/upcode/cat/domain/AssessmentTestSamples.java deleted file mode 100644 index 4a66fd7..0000000 --- a/src/test/java/in/upcode/cat/domain/AssessmentTestSamples.java +++ /dev/null @@ -1,50 +0,0 @@ -package in.upcode.cat.domain; - -import java.util.Random; -import java.util.UUID; -import java.util.concurrent.atomic.AtomicInteger; - -public class AssessmentTestSamples { - - private static final Random random = new Random(); - private static final AtomicInteger intCount = new AtomicInteger(random.nextInt() + (2 * Short.MAX_VALUE)); - - public static Assessment getAssessmentSample1() { - return new Assessment() - .id("id1") - .title("title1") - .languageFramework("languageFramework1") - .difficultyLevel("difficultyLevel1") - .timeLimit(1) - .type("type1") - .validationCriteria("validationCriteria1") - .question("question1") - .maxPoints(1); - } - - public static Assessment getAssessmentSample2() { - return new Assessment() - .id("id2") - .title("title2") - .languageFramework("languageFramework2") - .difficultyLevel("difficultyLevel2") - .timeLimit(2) - .type("type2") - .validationCriteria("validationCriteria2") - .question("question2") - .maxPoints(2); - } - - public static Assessment getAssessmentRandomSampleGenerator() { - return new Assessment() - .id(UUID.randomUUID().toString()) - .title(UUID.randomUUID().toString()) - .languageFramework(UUID.randomUUID().toString()) - .difficultyLevel(UUID.randomUUID().toString()) - .timeLimit(intCount.incrementAndGet()) - .type(UUID.randomUUID().toString()) - .validationCriteria(UUID.randomUUID().toString()) - .question(UUID.randomUUID().toString()) - .maxPoints(intCount.incrementAndGet()); - } -} diff --git a/src/test/java/in/upcode/cat/domain/AssignmentTest.java b/src/test/java/in/upcode/cat/domain/AssignmentTest.java new file mode 100644 index 0000000..938b34f --- /dev/null +++ b/src/test/java/in/upcode/cat/domain/AssignmentTest.java @@ -0,0 +1,24 @@ +package in.upcode.cat.domain; + +import static in.upcode.cat.domain.AssignmentTestSamples.*; +import static org.assertj.core.api.Assertions.assertThat; + +import in.upcode.cat.web.rest.TestUtil; +import org.junit.jupiter.api.Test; + +class AssignmentTest { + + @Test + void equalsVerifier() throws Exception { + TestUtil.equalsVerifier(Assignment.class); + Assignment assignment1 = getAssignmentSample1(); + Assignment assignment2 = new Assignment(); + assertThat(assignment1).isNotEqualTo(assignment2); + + assignment2.setId(assignment1.getId()); + assertThat(assignment1).isEqualTo(assignment2); + + assignment2 = getAssignmentSample2(); + assertThat(assignment1).isNotEqualTo(assignment2); + } +} diff --git a/src/test/java/in/upcode/cat/domain/AssignmentTestSamples.java b/src/test/java/in/upcode/cat/domain/AssignmentTestSamples.java new file mode 100644 index 0000000..6a77630 --- /dev/null +++ b/src/test/java/in/upcode/cat/domain/AssignmentTestSamples.java @@ -0,0 +1,68 @@ +package in.upcode.cat.domain; + +import java.nio.charset.StandardCharsets; +import java.time.LocalTime; +import java.util.Random; +import java.util.UUID; +import java.util.concurrent.atomic.AtomicInteger; + +public class AssignmentTestSamples { + + private static final Random random = new Random(); + private static final AtomicInteger intCount = new AtomicInteger(random.nextInt() + (2 * Short.MAX_VALUE)); + + public static Assignment getAssignmentSample1() { + return new Assignment() + .id("id1") + .question("question1") + .description("description1") + .image(null) + .url("url1") + .urlType("urlType1") + .technology("technology1") + .difficultyLevel("difficultyLevel1") + .timeLimit(null) + .type(new Category().id("sampleCategoryId1").assignmentType("sampleType1").image(null)) + .evaluationType("evaluationType1") + .maxPoints(1); + } + + public static Assignment getAssignmentSample2() { + return new Assignment() + .id("id2") + .question("question2") + .description("description2") + .image(null) + .url("url2") + .urlType("urlType2") + .technology("technology2") + .difficultyLevel("difficultyLevel2") + .timeLimit(null) + .type(new Category().id("sampleCategoryId2").assignmentType("sampleType2").image(null)) + .evaluationType("evaluationType2") + .maxPoints(2); + } + + public static Assignment getAssignmentRandomSampleGenerator() { + Assignment sample = new Assignment(); + sample.setId(UUID.randomUUID().toString()); + sample.setQuestion(UUID.randomUUID().toString()); + sample.setDescription(UUID.randomUUID().toString()); + sample.setImage(UUID.randomUUID().toString().getBytes(StandardCharsets.UTF_8)); + sample.setUrl(UUID.randomUUID().toString()); + sample.setUrlType(UUID.randomUUID().toString()); + sample.setTechnology(UUID.randomUUID().toString()); + sample.setDifficultyLevel(UUID.randomUUID().toString()); + sample.setTimeLimit(LocalTime.now()); + sample.setType( + new Category() + .id(UUID.randomUUID().toString()) + .assignmentType(UUID.randomUUID().toString()) + .image(UUID.randomUUID().toString().getBytes(StandardCharsets.UTF_8)) + ); + sample.setEvaluationType(UUID.randomUUID().toString()); + sample.setMaxPoints((int) (Math.random() * 100)); + + return sample; + } +} diff --git a/src/test/java/in/upcode/cat/domain/QuestionTest.java b/src/test/java/in/upcode/cat/domain/QuestionTest.java deleted file mode 100644 index 5e63508..0000000 --- a/src/test/java/in/upcode/cat/domain/QuestionTest.java +++ /dev/null @@ -1,37 +0,0 @@ -package in.upcode.cat.domain; - -import static in.upcode.cat.domain.AssessmentTestSamples.*; -import static in.upcode.cat.domain.QuestionTestSamples.*; -import static org.assertj.core.api.Assertions.assertThat; - -import in.upcode.cat.web.rest.TestUtil; -import org.junit.jupiter.api.Test; - -class QuestionTest { - - @Test - void equalsVerifier() throws Exception { - TestUtil.equalsVerifier(Question.class); - Question question1 = getQuestionSample1(); - Question question2 = new Question(); - assertThat(question1).isNotEqualTo(question2); - - question2.setId(question1.getId()); - assertThat(question1).isEqualTo(question2); - - question2 = getQuestionSample2(); - assertThat(question1).isNotEqualTo(question2); - } - - @Test - void assessmentTest() throws Exception { - Question question = getQuestionRandomSampleGenerator(); - Assessment assessmentBack = getAssessmentRandomSampleGenerator(); - - question.setAssessment(assessmentBack); - assertThat(question.getAssessment()).isEqualTo(assessmentBack); - - question.assessment(null); - assertThat(question.getAssessment()).isNull(); - } -} diff --git a/src/test/java/in/upcode/cat/domain/QuestionTestSamples.java b/src/test/java/in/upcode/cat/domain/QuestionTestSamples.java deleted file mode 100644 index 320655f..0000000 --- a/src/test/java/in/upcode/cat/domain/QuestionTestSamples.java +++ /dev/null @@ -1,23 +0,0 @@ -package in.upcode.cat.domain; - -import java.util.Random; -import java.util.UUID; -import java.util.concurrent.atomic.AtomicInteger; - -public class QuestionTestSamples { - - private static final Random random = new Random(); - private static final AtomicInteger intCount = new AtomicInteger(random.nextInt() + (2 * Short.MAX_VALUE)); - - public static Question getQuestionSample1() { - return new Question().id("id1").resources("resources1").points(1); - } - - public static Question getQuestionSample2() { - return new Question().id("id2").resources("resources2").points(2); - } - - public static Question getQuestionRandomSampleGenerator() { - return new Question().id(UUID.randomUUID().toString()).resources(UUID.randomUUID().toString()).points(intCount.incrementAndGet()); - } -} diff --git a/src/test/java/in/upcode/cat/domain/SubmissionTest.java b/src/test/java/in/upcode/cat/domain/SubmissionTest.java index 7212979..92bf18d 100644 --- a/src/test/java/in/upcode/cat/domain/SubmissionTest.java +++ b/src/test/java/in/upcode/cat/domain/SubmissionTest.java @@ -1,8 +1,8 @@ package in.upcode.cat.domain; -import static in.upcode.cat.domain.AssessmentTestSamples.*; +import static in.upcode.cat.domain.AssignmentTestSamples.*; import static in.upcode.cat.domain.SubmissionTestSamples.*; -import static in.upcode.cat.domain.UserAssessmentTestSamples.*; +import static in.upcode.cat.domain.UserAssignmentTestSamples.*; import static org.assertj.core.api.Assertions.assertThat; import in.upcode.cat.web.rest.TestUtil; @@ -27,24 +27,24 @@ void equalsVerifier() throws Exception { @Test void forAssignmentTest() throws Exception { Submission submission = getSubmissionRandomSampleGenerator(); - UserAssessment userAssessmentBack = getUserAssessmentRandomSampleGenerator(); + UserAssignment userAssignmentBack = getUserAssignmentRandomSampleGenerator(); - submission.setForAssignment(userAssessmentBack); - assertThat(submission.getForAssignment()).isEqualTo(userAssessmentBack); + submission.setForAssignment(userAssignmentBack); + assertThat(submission.getForAssignment()).isEqualTo(userAssignmentBack); submission.forAssignment(null); assertThat(submission.getForAssignment()).isNull(); } @Test - void assessmentTest() throws Exception { + void assignmentTest() throws Exception { Submission submission = getSubmissionRandomSampleGenerator(); - Assessment assessmentBack = getAssessmentRandomSampleGenerator(); + Assignment assignmentBack = getAssignmentRandomSampleGenerator(); - submission.setAssessment(assessmentBack); - assertThat(submission.getAssessment()).isEqualTo(assessmentBack); + submission.setAssignment(assignmentBack); + assertThat(submission.getAssignment()).isEqualTo(assignmentBack); - submission.assessment(null); - assertThat(submission.getAssessment()).isNull(); + submission.assignment(null); + assertThat(submission.getAssignment()).isNull(); } } diff --git a/src/test/java/in/upcode/cat/domain/SubmissionTestSamples.java b/src/test/java/in/upcode/cat/domain/SubmissionTestSamples.java index 251f892..71d488f 100644 --- a/src/test/java/in/upcode/cat/domain/SubmissionTestSamples.java +++ b/src/test/java/in/upcode/cat/domain/SubmissionTestSamples.java @@ -13,26 +13,45 @@ public static Submission getSubmissionSample1() { return new Submission() .id("id1") .githubUrl("githubUrl1") - .videoExplanation("videoExplanation1") + .screenshots(null) .textDescription("textDescription1") - .pointsScored(1); + .timeTaken(null) + .feedback("feedback1") + .pointsScored(1) + .forAssignment( + new UserAssignment().id("sampleUserAssignmentId1").status(null).assignedAt(null).deadline(null).user(null).assignment(null) + ) + .user(null) + .assignment(null); } public static Submission getSubmissionSample2() { return new Submission() .id("id2") .githubUrl("githubUrl2") - .videoExplanation("videoExplanation2") + .screenshots(null) .textDescription("textDescription2") - .pointsScored(2); + .timeTaken(null) + .feedback("feedback2") + .pointsScored(1) + .forAssignment( + new UserAssignment().id("sampleUserAssignmentId2").status(null).assignedAt(null).deadline(null).user(null).assignment(null) + ) + .user(null) + .assignment(null); } public static Submission getSubmissionRandomSampleGenerator() { return new Submission() .id(UUID.randomUUID().toString()) .githubUrl(UUID.randomUUID().toString()) - .videoExplanation(UUID.randomUUID().toString()) + .screenshots(null) .textDescription(UUID.randomUUID().toString()) - .pointsScored(intCount.incrementAndGet()); + .timeTaken(null) + .feedback(null) + .pointsScored(intCount.incrementAndGet()) + .forAssignment(null) + .user(null) + .assignment(null); } } diff --git a/src/test/java/in/upcode/cat/domain/UserAssessmentTest.java b/src/test/java/in/upcode/cat/domain/UserAssessmentTest.java deleted file mode 100644 index 10da637..0000000 --- a/src/test/java/in/upcode/cat/domain/UserAssessmentTest.java +++ /dev/null @@ -1,37 +0,0 @@ -package in.upcode.cat.domain; - -import static in.upcode.cat.domain.AssessmentTestSamples.*; -import static in.upcode.cat.domain.UserAssessmentTestSamples.*; -import static org.assertj.core.api.Assertions.assertThat; - -import in.upcode.cat.web.rest.TestUtil; -import org.junit.jupiter.api.Test; - -class UserAssessmentTest { - - @Test - void equalsVerifier() throws Exception { - TestUtil.equalsVerifier(UserAssessment.class); - UserAssessment userAssessment1 = getUserAssessmentSample1(); - UserAssessment userAssessment2 = new UserAssessment(); - assertThat(userAssessment1).isNotEqualTo(userAssessment2); - - userAssessment2.setId(userAssessment1.getId()); - assertThat(userAssessment1).isEqualTo(userAssessment2); - - userAssessment2 = getUserAssessmentSample2(); - assertThat(userAssessment1).isNotEqualTo(userAssessment2); - } - - @Test - void assessmentTest() throws Exception { - UserAssessment userAssessment = getUserAssessmentRandomSampleGenerator(); - Assessment assessmentBack = getAssessmentRandomSampleGenerator(); - - userAssessment.setAssessment(assessmentBack); - assertThat(userAssessment.getAssessment()).isEqualTo(assessmentBack); - - userAssessment.assessment(null); - assertThat(userAssessment.getAssessment()).isNull(); - } -} diff --git a/src/test/java/in/upcode/cat/domain/UserAssessmentTestSamples.java b/src/test/java/in/upcode/cat/domain/UserAssessmentTestSamples.java deleted file mode 100644 index 540f041..0000000 --- a/src/test/java/in/upcode/cat/domain/UserAssessmentTestSamples.java +++ /dev/null @@ -1,18 +0,0 @@ -package in.upcode.cat.domain; - -import java.util.UUID; - -public class UserAssessmentTestSamples { - - public static UserAssessment getUserAssessmentSample1() { - return new UserAssessment().id("id1"); - } - - public static UserAssessment getUserAssessmentSample2() { - return new UserAssessment().id("id2"); - } - - public static UserAssessment getUserAssessmentRandomSampleGenerator() { - return new UserAssessment().id(UUID.randomUUID().toString()); - } -} diff --git a/src/test/java/in/upcode/cat/domain/UserAssignmentTest.java b/src/test/java/in/upcode/cat/domain/UserAssignmentTest.java new file mode 100644 index 0000000..53f0668 --- /dev/null +++ b/src/test/java/in/upcode/cat/domain/UserAssignmentTest.java @@ -0,0 +1,37 @@ +package in.upcode.cat.domain; + +import static in.upcode.cat.domain.AssignmentTestSamples.*; +import static in.upcode.cat.domain.UserAssignmentTestSamples.*; +import static org.assertj.core.api.Assertions.assertThat; + +import in.upcode.cat.web.rest.TestUtil; +import org.junit.jupiter.api.Test; + +class UserAssignmentTest { + + @Test + void equalsVerifier() throws Exception { + TestUtil.equalsVerifier(UserAssignment.class); + UserAssignment userAssignment1 = getUserAssignmentSample1(); + UserAssignment userAssignment2 = new UserAssignment(); + assertThat(userAssignment1).isNotEqualTo(userAssignment2); + + userAssignment2.setId(userAssignment1.getId()); + assertThat(userAssignment1).isEqualTo(userAssignment2); + + userAssignment2 = getUserAssignmentSample2(); + assertThat(userAssignment1).isNotEqualTo(userAssignment2); + } + + @Test + void assignmentTest() throws Exception { + UserAssignment userAssignment = getUserAssignmentRandomSampleGenerator(); + Assignment assignmentBack = getAssignmentRandomSampleGenerator(); + + userAssignment.setAssignment(assignmentBack); + assertThat(userAssignment.getAssignment()).isEqualTo(assignmentBack); + + userAssignment.assignment(null); + assertThat(userAssignment.getAssignment()).isNull(); + } +} diff --git a/src/test/java/in/upcode/cat/domain/UserAssignmentTestSamples.java b/src/test/java/in/upcode/cat/domain/UserAssignmentTestSamples.java new file mode 100644 index 0000000..e85f200 --- /dev/null +++ b/src/test/java/in/upcode/cat/domain/UserAssignmentTestSamples.java @@ -0,0 +1,18 @@ +package in.upcode.cat.domain; + +import java.util.UUID; + +public class UserAssignmentTestSamples { + + public static UserAssignment getUserAssignmentSample1() { + return new UserAssignment().id("id1"); + } + + public static UserAssignment getUserAssignmentSample2() { + return new UserAssignment().id("id2"); + } + + public static UserAssignment getUserAssignmentRandomSampleGenerator() { + return new UserAssignment().id(UUID.randomUUID().toString()); + } +} diff --git a/src/test/java/in/upcode/cat/domain/ValidationRuleTest.java b/src/test/java/in/upcode/cat/domain/ValidationRuleTest.java deleted file mode 100644 index 49aeb6b..0000000 --- a/src/test/java/in/upcode/cat/domain/ValidationRuleTest.java +++ /dev/null @@ -1,37 +0,0 @@ -package in.upcode.cat.domain; - -import static in.upcode.cat.domain.AssessmentTestSamples.*; -import static in.upcode.cat.domain.ValidationRuleTestSamples.*; -import static org.assertj.core.api.Assertions.assertThat; - -import in.upcode.cat.web.rest.TestUtil; -import org.junit.jupiter.api.Test; - -class ValidationRuleTest { - - @Test - void equalsVerifier() throws Exception { - TestUtil.equalsVerifier(ValidationRule.class); - ValidationRule validationRule1 = getValidationRuleSample1(); - ValidationRule validationRule2 = new ValidationRule(); - assertThat(validationRule1).isNotEqualTo(validationRule2); - - validationRule2.setId(validationRule1.getId()); - assertThat(validationRule1).isEqualTo(validationRule2); - - validationRule2 = getValidationRuleSample2(); - assertThat(validationRule1).isNotEqualTo(validationRule2); - } - - @Test - void assessmentTest() throws Exception { - ValidationRule validationRule = getValidationRuleRandomSampleGenerator(); - Assessment assessmentBack = getAssessmentRandomSampleGenerator(); - - validationRule.setAssessment(assessmentBack); - assertThat(validationRule.getAssessment()).isEqualTo(assessmentBack); - - validationRule.assessment(null); - assertThat(validationRule.getAssessment()).isNull(); - } -} diff --git a/src/test/java/in/upcode/cat/domain/ValidationRuleTestSamples.java b/src/test/java/in/upcode/cat/domain/ValidationRuleTestSamples.java deleted file mode 100644 index dfd0c35..0000000 --- a/src/test/java/in/upcode/cat/domain/ValidationRuleTestSamples.java +++ /dev/null @@ -1,18 +0,0 @@ -package in.upcode.cat.domain; - -import java.util.UUID; - -public class ValidationRuleTestSamples { - - public static ValidationRule getValidationRuleSample1() { - return new ValidationRule().id("id1").ruleType("ruleType1"); - } - - public static ValidationRule getValidationRuleSample2() { - return new ValidationRule().id("id2").ruleType("ruleType2"); - } - - public static ValidationRule getValidationRuleRandomSampleGenerator() { - return new ValidationRule().id(UUID.randomUUID().toString()).ruleType(UUID.randomUUID().toString()); - } -} diff --git a/src/test/java/in/upcode/cat/service/dto/AssessmentDTOTest.java b/src/test/java/in/upcode/cat/service/dto/AssessmentDTOTest.java deleted file mode 100644 index f932778..0000000 --- a/src/test/java/in/upcode/cat/service/dto/AssessmentDTOTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package in.upcode.cat.service.dto; - -import static org.assertj.core.api.Assertions.assertThat; - -import in.upcode.cat.web.rest.TestUtil; -import org.junit.jupiter.api.Test; - -class AssessmentDTOTest { - - @Test - void dtoEqualsVerifier() throws Exception { - TestUtil.equalsVerifier(AssessmentDTO.class); - AssessmentDTO assessmentDTO1 = new AssessmentDTO(); - assessmentDTO1.setId("id1"); - AssessmentDTO assessmentDTO2 = new AssessmentDTO(); - assertThat(assessmentDTO1).isNotEqualTo(assessmentDTO2); - assessmentDTO2.setId(assessmentDTO1.getId()); - assertThat(assessmentDTO1).isEqualTo(assessmentDTO2); - assessmentDTO2.setId("id2"); - assertThat(assessmentDTO1).isNotEqualTo(assessmentDTO2); - assessmentDTO1.setId(null); - assertThat(assessmentDTO1).isNotEqualTo(assessmentDTO2); - } -} diff --git a/src/test/java/in/upcode/cat/service/dto/AssignmentDTOTest.java b/src/test/java/in/upcode/cat/service/dto/AssignmentDTOTest.java new file mode 100644 index 0000000..6e2b5f2 --- /dev/null +++ b/src/test/java/in/upcode/cat/service/dto/AssignmentDTOTest.java @@ -0,0 +1,24 @@ +package in.upcode.cat.service.dto; + +import static org.assertj.core.api.Assertions.assertThat; + +import in.upcode.cat.web.rest.TestUtil; +import org.junit.jupiter.api.Test; + +class AssignmentDTOTest { + + @Test + void dtoEqualsVerifier() throws Exception { + TestUtil.equalsVerifier(AssignmentDTO.class); + AssignmentDTO assignmentDTO1 = new AssignmentDTO(); + assignmentDTO1.setId("id1"); + AssignmentDTO assignmentDTO2 = new AssignmentDTO(); + assertThat(assignmentDTO1).isNotEqualTo(assignmentDTO2); + assignmentDTO2.setId(assignmentDTO1.getId()); + assertThat(assignmentDTO1).isEqualTo(assignmentDTO2); + assignmentDTO2.setId("id2"); + assertThat(assignmentDTO1).isNotEqualTo(assignmentDTO2); + assignmentDTO1.setId(null); + assertThat(assignmentDTO1).isNotEqualTo(assignmentDTO2); + } +} diff --git a/src/test/java/in/upcode/cat/service/dto/QuestionDTOTest.java b/src/test/java/in/upcode/cat/service/dto/QuestionDTOTest.java deleted file mode 100644 index 2199d1e..0000000 --- a/src/test/java/in/upcode/cat/service/dto/QuestionDTOTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package in.upcode.cat.service.dto; - -import static org.assertj.core.api.Assertions.assertThat; - -import in.upcode.cat.web.rest.TestUtil; -import org.junit.jupiter.api.Test; - -class QuestionDTOTest { - - @Test - void dtoEqualsVerifier() throws Exception { - TestUtil.equalsVerifier(QuestionDTO.class); - QuestionDTO questionDTO1 = new QuestionDTO(); - questionDTO1.setId("id1"); - QuestionDTO questionDTO2 = new QuestionDTO(); - assertThat(questionDTO1).isNotEqualTo(questionDTO2); - questionDTO2.setId(questionDTO1.getId()); - assertThat(questionDTO1).isEqualTo(questionDTO2); - questionDTO2.setId("id2"); - assertThat(questionDTO1).isNotEqualTo(questionDTO2); - questionDTO1.setId(null); - assertThat(questionDTO1).isNotEqualTo(questionDTO2); - } -} diff --git a/src/test/java/in/upcode/cat/service/dto/UserAssessmentDTOTest.java b/src/test/java/in/upcode/cat/service/dto/UserAssessmentDTOTest.java deleted file mode 100644 index f7d87b4..0000000 --- a/src/test/java/in/upcode/cat/service/dto/UserAssessmentDTOTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package in.upcode.cat.service.dto; - -import static org.assertj.core.api.Assertions.assertThat; - -import in.upcode.cat.web.rest.TestUtil; -import org.junit.jupiter.api.Test; - -class UserAssessmentDTOTest { - - @Test - void dtoEqualsVerifier() throws Exception { - TestUtil.equalsVerifier(UserAssessmentDTO.class); - UserAssessmentDTO userAssessmentDTO1 = new UserAssessmentDTO(); - userAssessmentDTO1.setId("id1"); - UserAssessmentDTO userAssessmentDTO2 = new UserAssessmentDTO(); - assertThat(userAssessmentDTO1).isNotEqualTo(userAssessmentDTO2); - userAssessmentDTO2.setId(userAssessmentDTO1.getId()); - assertThat(userAssessmentDTO1).isEqualTo(userAssessmentDTO2); - userAssessmentDTO2.setId("id2"); - assertThat(userAssessmentDTO1).isNotEqualTo(userAssessmentDTO2); - userAssessmentDTO1.setId(null); - assertThat(userAssessmentDTO1).isNotEqualTo(userAssessmentDTO2); - } -} diff --git a/src/test/java/in/upcode/cat/service/dto/UserAssignmentDTOTest.java b/src/test/java/in/upcode/cat/service/dto/UserAssignmentDTOTest.java new file mode 100644 index 0000000..4f17ac3 --- /dev/null +++ b/src/test/java/in/upcode/cat/service/dto/UserAssignmentDTOTest.java @@ -0,0 +1,24 @@ +package in.upcode.cat.service.dto; + +import static org.assertj.core.api.Assertions.assertThat; + +import in.upcode.cat.web.rest.TestUtil; +import org.junit.jupiter.api.Test; + +class UserAssignmentDTOTest { + + @Test + void dtoEqualsVerifier() throws Exception { + TestUtil.equalsVerifier(UserAssignmentDTO.class); + UserAssignmentDTO userAssignmentDTO1 = new UserAssignmentDTO(); + userAssignmentDTO1.setId("id1"); + UserAssignmentDTO userAssignmentDTO2 = new UserAssignmentDTO(); + assertThat(userAssignmentDTO1).isNotEqualTo(userAssignmentDTO2); + userAssignmentDTO2.setId(userAssignmentDTO1.getId()); + assertThat(userAssignmentDTO1).isEqualTo(userAssignmentDTO2); + userAssignmentDTO2.setId("id2"); + assertThat(userAssignmentDTO1).isNotEqualTo(userAssignmentDTO2); + userAssignmentDTO1.setId(null); + assertThat(userAssignmentDTO1).isNotEqualTo(userAssignmentDTO2); + } +} diff --git a/src/test/java/in/upcode/cat/service/dto/ValidationRuleDTOTest.java b/src/test/java/in/upcode/cat/service/dto/ValidationRuleDTOTest.java deleted file mode 100644 index 214c0bb..0000000 --- a/src/test/java/in/upcode/cat/service/dto/ValidationRuleDTOTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package in.upcode.cat.service.dto; - -import static org.assertj.core.api.Assertions.assertThat; - -import in.upcode.cat.web.rest.TestUtil; -import org.junit.jupiter.api.Test; - -class ValidationRuleDTOTest { - - @Test - void dtoEqualsVerifier() throws Exception { - TestUtil.equalsVerifier(ValidationRuleDTO.class); - ValidationRuleDTO validationRuleDTO1 = new ValidationRuleDTO(); - validationRuleDTO1.setId("id1"); - ValidationRuleDTO validationRuleDTO2 = new ValidationRuleDTO(); - assertThat(validationRuleDTO1).isNotEqualTo(validationRuleDTO2); - validationRuleDTO2.setId(validationRuleDTO1.getId()); - assertThat(validationRuleDTO1).isEqualTo(validationRuleDTO2); - validationRuleDTO2.setId("id2"); - assertThat(validationRuleDTO1).isNotEqualTo(validationRuleDTO2); - validationRuleDTO1.setId(null); - assertThat(validationRuleDTO1).isNotEqualTo(validationRuleDTO2); - } -} diff --git a/src/test/java/in/upcode/cat/service/mapper/AssessmentMapperTest.java b/src/test/java/in/upcode/cat/service/mapper/AssignmentMapperTest.java similarity index 50% rename from src/test/java/in/upcode/cat/service/mapper/AssessmentMapperTest.java rename to src/test/java/in/upcode/cat/service/mapper/AssignmentMapperTest.java index cb1eab4..0887405 100644 --- a/src/test/java/in/upcode/cat/service/mapper/AssessmentMapperTest.java +++ b/src/test/java/in/upcode/cat/service/mapper/AssignmentMapperTest.java @@ -2,12 +2,12 @@ import org.junit.jupiter.api.BeforeEach; -class AssessmentMapperTest { +class AssignmentMapperTest { - private AssessmentMapper assessmentMapper; + private AssignmentMapper assignmentMapper; @BeforeEach public void setUp() { - assessmentMapper = new AssessmentMapperImpl(); + assignmentMapper = new AssignmentMapperImpl(); } } diff --git a/src/test/java/in/upcode/cat/service/mapper/QuestionMapperTest.java b/src/test/java/in/upcode/cat/service/mapper/QuestionMapperTest.java deleted file mode 100644 index 7852260..0000000 --- a/src/test/java/in/upcode/cat/service/mapper/QuestionMapperTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package in.upcode.cat.service.mapper; - -import org.junit.jupiter.api.BeforeEach; - -class QuestionMapperTest { - - private QuestionMapper questionMapper; - - @BeforeEach - public void setUp() { - questionMapper = new QuestionMapperImpl(); - } -} diff --git a/src/test/java/in/upcode/cat/service/mapper/UserAssessmentMapperTest.java b/src/test/java/in/upcode/cat/service/mapper/UserAssessmentMapperTest.java deleted file mode 100644 index 35d4678..0000000 --- a/src/test/java/in/upcode/cat/service/mapper/UserAssessmentMapperTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package in.upcode.cat.service.mapper; - -import org.junit.jupiter.api.BeforeEach; - -class UserAssessmentMapperTest { - - private UserAssessmentMapper userAssessmentMapper; - - @BeforeEach - public void setUp() { - userAssessmentMapper = new UserAssessmentMapperImpl(); - } -} diff --git a/src/test/java/in/upcode/cat/service/mapper/UserAssignmentMapperTest.java b/src/test/java/in/upcode/cat/service/mapper/UserAssignmentMapperTest.java new file mode 100644 index 0000000..9801ef6 --- /dev/null +++ b/src/test/java/in/upcode/cat/service/mapper/UserAssignmentMapperTest.java @@ -0,0 +1,13 @@ +package in.upcode.cat.service.mapper; + +import org.junit.jupiter.api.BeforeEach; + +class UserAssignmentMapperTest { + + private UserAssignmentMapper userAssignmentMapper; + + @BeforeEach + public void setUp() { + userAssignmentMapper = new UserAssignmentMapperImpl(); + } +} diff --git a/src/test/java/in/upcode/cat/service/mapper/ValidationRuleMapperTest.java b/src/test/java/in/upcode/cat/service/mapper/ValidationRuleMapperTest.java deleted file mode 100644 index dd0b449..0000000 --- a/src/test/java/in/upcode/cat/service/mapper/ValidationRuleMapperTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package in.upcode.cat.service.mapper; - -import org.junit.jupiter.api.BeforeEach; - -class ValidationRuleMapperTest { - - private ValidationRuleMapper validationRuleMapper; - - @BeforeEach - public void setUp() { - validationRuleMapper = new ValidationRuleMapperImpl(); - } -} diff --git a/src/test/java/in/upcode/cat/web/rest/AssessmentResourceIT.java b/src/test/java/in/upcode/cat/web/rest/AssessmentResourceIT.java deleted file mode 100644 index 7f63db6..0000000 --- a/src/test/java/in/upcode/cat/web/rest/AssessmentResourceIT.java +++ /dev/null @@ -1,604 +0,0 @@ -package in.upcode.cat.web.rest; - -import static in.upcode.cat.web.rest.TestUtil.sameInstant; -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 in.upcode.cat.IntegrationTest; -import in.upcode.cat.domain.Assessment; -import in.upcode.cat.repository.AssessmentRepository; -import in.upcode.cat.service.dto.AssessmentDTO; -import in.upcode.cat.service.mapper.AssessmentMapper; -import java.time.Instant; -import java.time.ZoneId; -import java.time.ZoneOffset; -import java.time.ZonedDateTime; -import java.util.List; -import java.util.UUID; -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.http.MediaType; -import org.springframework.security.test.context.support.WithMockUser; -import org.springframework.test.web.servlet.MockMvc; - -/** - * Integration tests for the {@link AssessmentResource} REST controller. - */ -@IntegrationTest -@AutoConfigureMockMvc -@WithMockUser -class AssessmentResourceIT { - - private static final String DEFAULT_TITLE = "AAAAAAAAAA"; - private static final String UPDATED_TITLE = "BBBBBBBBBB"; - - private static final String DEFAULT_DESCRIPTION = "AAAAAAAAAA"; - private static final String UPDATED_DESCRIPTION = "BBBBBBBBBB"; - - private static final String DEFAULT_LANGUAGE_FRAMEWORK = "AAAAAAAAAA"; - private static final String UPDATED_LANGUAGE_FRAMEWORK = "BBBBBBBBBB"; - - private static final String DEFAULT_DIFFICULTY_LEVEL = "AAAAAAAAAA"; - private static final String UPDATED_DIFFICULTY_LEVEL = "BBBBBBBBBB"; - - private static final Integer DEFAULT_TIME_LIMIT = 1; - private static final Integer UPDATED_TIME_LIMIT = 2; - - private static final String DEFAULT_TYPE = "AAAAAAAAAA"; - private static final String UPDATED_TYPE = "BBBBBBBBBB"; - - private static final String DEFAULT_VALIDATION_CRITERIA = "AAAAAAAAAA"; - private static final String UPDATED_VALIDATION_CRITERIA = "BBBBBBBBBB"; - - private static final String DEFAULT_QUESTION = "AAAAAAAAAA"; - private static final String UPDATED_QUESTION = "BBBBBBBBBB"; - - private static final Integer DEFAULT_MAX_POINTS = 1; - private static final Integer UPDATED_MAX_POINTS = 2; - - private static final ZonedDateTime DEFAULT_DEADLINE = ZonedDateTime.ofInstant(Instant.ofEpochMilli(0L), ZoneOffset.UTC); - private static final ZonedDateTime UPDATED_DEADLINE = ZonedDateTime.now(ZoneId.systemDefault()).withNano(0); - - private static final String ENTITY_API_URL = "/api/assessments"; - private static final String ENTITY_API_URL_ID = ENTITY_API_URL + "/{id}"; - - @Autowired - private AssessmentRepository assessmentRepository; - - @Autowired - private AssessmentMapper assessmentMapper; - - @Autowired - private MockMvc restAssessmentMockMvc; - - private Assessment assessment; - - /** - * 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 Assessment createEntity() { - Assessment assessment = new Assessment() - .title(DEFAULT_TITLE) - .description(DEFAULT_DESCRIPTION) - .languageFramework(DEFAULT_LANGUAGE_FRAMEWORK) - .difficultyLevel(DEFAULT_DIFFICULTY_LEVEL) - .timeLimit(DEFAULT_TIME_LIMIT) - .type(DEFAULT_TYPE) - .validationCriteria(DEFAULT_VALIDATION_CRITERIA) - .question(DEFAULT_QUESTION) - .maxPoints(DEFAULT_MAX_POINTS) - .deadline(DEFAULT_DEADLINE); - return assessment; - } - - /** - * 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 Assessment createUpdatedEntity() { - Assessment assessment = new Assessment() - .title(UPDATED_TITLE) - .description(UPDATED_DESCRIPTION) - .languageFramework(UPDATED_LANGUAGE_FRAMEWORK) - .difficultyLevel(UPDATED_DIFFICULTY_LEVEL) - .timeLimit(UPDATED_TIME_LIMIT) - .type(UPDATED_TYPE) - .validationCriteria(UPDATED_VALIDATION_CRITERIA) - .question(UPDATED_QUESTION) - .maxPoints(UPDATED_MAX_POINTS) - .deadline(UPDATED_DEADLINE); - return assessment; - } - - @BeforeEach - public void initTest() { - assessmentRepository.deleteAll(); - assessment = createEntity(); - } - - @Test - void createAssessment() throws Exception { - int databaseSizeBeforeCreate = assessmentRepository.findAll().size(); - // Create the Assessment - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - restAssessmentMockMvc - .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assessmentDTO))) - .andExpect(status().isCreated()); - - // Validate the Assessment in the database - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeCreate + 1); - Assessment testAssessment = assessmentList.get(assessmentList.size() - 1); - assertThat(testAssessment.getTitle()).isEqualTo(DEFAULT_TITLE); - assertThat(testAssessment.getDescription()).isEqualTo(DEFAULT_DESCRIPTION); - assertThat(testAssessment.getLanguageFramework()).isEqualTo(DEFAULT_LANGUAGE_FRAMEWORK); - assertThat(testAssessment.getDifficultyLevel()).isEqualTo(DEFAULT_DIFFICULTY_LEVEL); - assertThat(testAssessment.getTimeLimit()).isEqualTo(DEFAULT_TIME_LIMIT); - assertThat(testAssessment.getType()).isEqualTo(DEFAULT_TYPE); - assertThat(testAssessment.getValidationCriteria()).isEqualTo(DEFAULT_VALIDATION_CRITERIA); - assertThat(testAssessment.getQuestion()).isEqualTo(DEFAULT_QUESTION); - assertThat(testAssessment.getMaxPoints()).isEqualTo(DEFAULT_MAX_POINTS); - assertThat(testAssessment.getDeadline()).isEqualTo(DEFAULT_DEADLINE); - } - - @Test - void createAssessmentWithExistingId() throws Exception { - // Create the Assessment with an existing ID - assessment.setId("existing_id"); - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - int databaseSizeBeforeCreate = assessmentRepository.findAll().size(); - - // An entity with an existing ID cannot be created, so this API call must fail - restAssessmentMockMvc - .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assessmentDTO))) - .andExpect(status().isBadRequest()); - - // Validate the Assessment in the database - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeCreate); - } - - @Test - void checkTitleIsRequired() throws Exception { - int databaseSizeBeforeTest = assessmentRepository.findAll().size(); - // set the field null - assessment.setTitle(null); - - // Create the Assessment, which fails. - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - restAssessmentMockMvc - .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assessmentDTO))) - .andExpect(status().isBadRequest()); - - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeTest); - } - - @Test - void checkTypeIsRequired() throws Exception { - int databaseSizeBeforeTest = assessmentRepository.findAll().size(); - // set the field null - assessment.setType(null); - - // Create the Assessment, which fails. - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - restAssessmentMockMvc - .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assessmentDTO))) - .andExpect(status().isBadRequest()); - - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeTest); - } - - @Test - void checkValidationCriteriaIsRequired() throws Exception { - int databaseSizeBeforeTest = assessmentRepository.findAll().size(); - // set the field null - assessment.setValidationCriteria(null); - - // Create the Assessment, which fails. - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - restAssessmentMockMvc - .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assessmentDTO))) - .andExpect(status().isBadRequest()); - - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeTest); - } - - @Test - void checkQuestionIsRequired() throws Exception { - int databaseSizeBeforeTest = assessmentRepository.findAll().size(); - // set the field null - assessment.setQuestion(null); - - // Create the Assessment, which fails. - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - restAssessmentMockMvc - .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assessmentDTO))) - .andExpect(status().isBadRequest()); - - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeTest); - } - - @Test - void checkMaxPointsIsRequired() throws Exception { - int databaseSizeBeforeTest = assessmentRepository.findAll().size(); - // set the field null - assessment.setMaxPoints(null); - - // Create the Assessment, which fails. - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - restAssessmentMockMvc - .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assessmentDTO))) - .andExpect(status().isBadRequest()); - - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeTest); - } - - @Test - void checkDeadlineIsRequired() throws Exception { - int databaseSizeBeforeTest = assessmentRepository.findAll().size(); - // set the field null - assessment.setDeadline(null); - - // Create the Assessment, which fails. - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - restAssessmentMockMvc - .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assessmentDTO))) - .andExpect(status().isBadRequest()); - - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeTest); - } - - @Test - void getAllAssessments() throws Exception { - // Initialize the database - assessmentRepository.save(assessment); - - // Get all the assessmentList - restAssessmentMockMvc - .perform(get(ENTITY_API_URL + "?sort=id,desc")) - .andExpect(status().isOk()) - .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) - .andExpect(jsonPath("$.[*].id").value(hasItem(assessment.getId()))) - .andExpect(jsonPath("$.[*].title").value(hasItem(DEFAULT_TITLE))) - .andExpect(jsonPath("$.[*].description").value(hasItem(DEFAULT_DESCRIPTION.toString()))) - .andExpect(jsonPath("$.[*].languageFramework").value(hasItem(DEFAULT_LANGUAGE_FRAMEWORK))) - .andExpect(jsonPath("$.[*].difficultyLevel").value(hasItem(DEFAULT_DIFFICULTY_LEVEL))) - .andExpect(jsonPath("$.[*].timeLimit").value(hasItem(DEFAULT_TIME_LIMIT))) - .andExpect(jsonPath("$.[*].type").value(hasItem(DEFAULT_TYPE))) - .andExpect(jsonPath("$.[*].validationCriteria").value(hasItem(DEFAULT_VALIDATION_CRITERIA))) - .andExpect(jsonPath("$.[*].question").value(hasItem(DEFAULT_QUESTION))) - .andExpect(jsonPath("$.[*].maxPoints").value(hasItem(DEFAULT_MAX_POINTS))) - .andExpect(jsonPath("$.[*].deadline").value(hasItem(sameInstant(DEFAULT_DEADLINE)))); - } - - @Test - void getAssessment() throws Exception { - // Initialize the database - assessmentRepository.save(assessment); - - // Get the assessment - restAssessmentMockMvc - .perform(get(ENTITY_API_URL_ID, assessment.getId())) - .andExpect(status().isOk()) - .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) - .andExpect(jsonPath("$.id").value(assessment.getId())) - .andExpect(jsonPath("$.title").value(DEFAULT_TITLE)) - .andExpect(jsonPath("$.description").value(DEFAULT_DESCRIPTION.toString())) - .andExpect(jsonPath("$.languageFramework").value(DEFAULT_LANGUAGE_FRAMEWORK)) - .andExpect(jsonPath("$.difficultyLevel").value(DEFAULT_DIFFICULTY_LEVEL)) - .andExpect(jsonPath("$.timeLimit").value(DEFAULT_TIME_LIMIT)) - .andExpect(jsonPath("$.type").value(DEFAULT_TYPE)) - .andExpect(jsonPath("$.validationCriteria").value(DEFAULT_VALIDATION_CRITERIA)) - .andExpect(jsonPath("$.question").value(DEFAULT_QUESTION)) - .andExpect(jsonPath("$.maxPoints").value(DEFAULT_MAX_POINTS)) - .andExpect(jsonPath("$.deadline").value(sameInstant(DEFAULT_DEADLINE))); - } - - @Test - void getNonExistingAssessment() throws Exception { - // Get the assessment - restAssessmentMockMvc.perform(get(ENTITY_API_URL_ID, Long.MAX_VALUE)).andExpect(status().isNotFound()); - } - - @Test - void putExistingAssessment() throws Exception { - // Initialize the database - assessmentRepository.save(assessment); - - int databaseSizeBeforeUpdate = assessmentRepository.findAll().size(); - - // Update the assessment - Assessment updatedAssessment = assessmentRepository.findById(assessment.getId()).orElseThrow(); - updatedAssessment - .title(UPDATED_TITLE) - .description(UPDATED_DESCRIPTION) - .languageFramework(UPDATED_LANGUAGE_FRAMEWORK) - .difficultyLevel(UPDATED_DIFFICULTY_LEVEL) - .timeLimit(UPDATED_TIME_LIMIT) - .type(UPDATED_TYPE) - .validationCriteria(UPDATED_VALIDATION_CRITERIA) - .question(UPDATED_QUESTION) - .maxPoints(UPDATED_MAX_POINTS) - .deadline(UPDATED_DEADLINE); - AssessmentDTO assessmentDTO = assessmentMapper.toDto(updatedAssessment); - - restAssessmentMockMvc - .perform( - put(ENTITY_API_URL_ID, assessmentDTO.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(assessmentDTO)) - ) - .andExpect(status().isOk()); - - // Validate the Assessment in the database - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeUpdate); - Assessment testAssessment = assessmentList.get(assessmentList.size() - 1); - assertThat(testAssessment.getTitle()).isEqualTo(UPDATED_TITLE); - assertThat(testAssessment.getDescription()).isEqualTo(UPDATED_DESCRIPTION); - assertThat(testAssessment.getLanguageFramework()).isEqualTo(UPDATED_LANGUAGE_FRAMEWORK); - assertThat(testAssessment.getDifficultyLevel()).isEqualTo(UPDATED_DIFFICULTY_LEVEL); - assertThat(testAssessment.getTimeLimit()).isEqualTo(UPDATED_TIME_LIMIT); - assertThat(testAssessment.getType()).isEqualTo(UPDATED_TYPE); - assertThat(testAssessment.getValidationCriteria()).isEqualTo(UPDATED_VALIDATION_CRITERIA); - assertThat(testAssessment.getQuestion()).isEqualTo(UPDATED_QUESTION); - assertThat(testAssessment.getMaxPoints()).isEqualTo(UPDATED_MAX_POINTS); - assertThat(testAssessment.getDeadline()).isEqualTo(UPDATED_DEADLINE); - } - - @Test - void putNonExistingAssessment() throws Exception { - int databaseSizeBeforeUpdate = assessmentRepository.findAll().size(); - assessment.setId(UUID.randomUUID().toString()); - - // Create the Assessment - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - // If the entity doesn't have an ID, it will throw BadRequestAlertException - restAssessmentMockMvc - .perform( - put(ENTITY_API_URL_ID, assessmentDTO.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(assessmentDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the Assessment in the database - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void putWithIdMismatchAssessment() throws Exception { - int databaseSizeBeforeUpdate = assessmentRepository.findAll().size(); - assessment.setId(UUID.randomUUID().toString()); - - // Create the Assessment - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restAssessmentMockMvc - .perform( - put(ENTITY_API_URL_ID, UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(assessmentDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the Assessment in the database - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void putWithMissingIdPathParamAssessment() throws Exception { - int databaseSizeBeforeUpdate = assessmentRepository.findAll().size(); - assessment.setId(UUID.randomUUID().toString()); - - // Create the Assessment - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restAssessmentMockMvc - .perform(put(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assessmentDTO))) - .andExpect(status().isMethodNotAllowed()); - - // Validate the Assessment in the database - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void partialUpdateAssessmentWithPatch() throws Exception { - // Initialize the database - assessmentRepository.save(assessment); - - int databaseSizeBeforeUpdate = assessmentRepository.findAll().size(); - - // Update the assessment using partial update - Assessment partialUpdatedAssessment = new Assessment(); - partialUpdatedAssessment.setId(assessment.getId()); - - partialUpdatedAssessment - .title(UPDATED_TITLE) - .description(UPDATED_DESCRIPTION) - .timeLimit(UPDATED_TIME_LIMIT) - .type(UPDATED_TYPE) - .validationCriteria(UPDATED_VALIDATION_CRITERIA) - .question(UPDATED_QUESTION) - .deadline(UPDATED_DEADLINE); - - restAssessmentMockMvc - .perform( - patch(ENTITY_API_URL_ID, partialUpdatedAssessment.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(partialUpdatedAssessment)) - ) - .andExpect(status().isOk()); - - // Validate the Assessment in the database - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeUpdate); - Assessment testAssessment = assessmentList.get(assessmentList.size() - 1); - assertThat(testAssessment.getTitle()).isEqualTo(UPDATED_TITLE); - assertThat(testAssessment.getDescription()).isEqualTo(UPDATED_DESCRIPTION); - assertThat(testAssessment.getLanguageFramework()).isEqualTo(DEFAULT_LANGUAGE_FRAMEWORK); - assertThat(testAssessment.getDifficultyLevel()).isEqualTo(DEFAULT_DIFFICULTY_LEVEL); - assertThat(testAssessment.getTimeLimit()).isEqualTo(UPDATED_TIME_LIMIT); - assertThat(testAssessment.getType()).isEqualTo(UPDATED_TYPE); - assertThat(testAssessment.getValidationCriteria()).isEqualTo(UPDATED_VALIDATION_CRITERIA); - assertThat(testAssessment.getQuestion()).isEqualTo(UPDATED_QUESTION); - assertThat(testAssessment.getMaxPoints()).isEqualTo(DEFAULT_MAX_POINTS); - assertThat(testAssessment.getDeadline()).isEqualTo(UPDATED_DEADLINE); - } - - @Test - void fullUpdateAssessmentWithPatch() throws Exception { - // Initialize the database - assessmentRepository.save(assessment); - - int databaseSizeBeforeUpdate = assessmentRepository.findAll().size(); - - // Update the assessment using partial update - Assessment partialUpdatedAssessment = new Assessment(); - partialUpdatedAssessment.setId(assessment.getId()); - - partialUpdatedAssessment - .title(UPDATED_TITLE) - .description(UPDATED_DESCRIPTION) - .languageFramework(UPDATED_LANGUAGE_FRAMEWORK) - .difficultyLevel(UPDATED_DIFFICULTY_LEVEL) - .timeLimit(UPDATED_TIME_LIMIT) - .type(UPDATED_TYPE) - .validationCriteria(UPDATED_VALIDATION_CRITERIA) - .question(UPDATED_QUESTION) - .maxPoints(UPDATED_MAX_POINTS) - .deadline(UPDATED_DEADLINE); - - restAssessmentMockMvc - .perform( - patch(ENTITY_API_URL_ID, partialUpdatedAssessment.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(partialUpdatedAssessment)) - ) - .andExpect(status().isOk()); - - // Validate the Assessment in the database - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeUpdate); - Assessment testAssessment = assessmentList.get(assessmentList.size() - 1); - assertThat(testAssessment.getTitle()).isEqualTo(UPDATED_TITLE); - assertThat(testAssessment.getDescription()).isEqualTo(UPDATED_DESCRIPTION); - assertThat(testAssessment.getLanguageFramework()).isEqualTo(UPDATED_LANGUAGE_FRAMEWORK); - assertThat(testAssessment.getDifficultyLevel()).isEqualTo(UPDATED_DIFFICULTY_LEVEL); - assertThat(testAssessment.getTimeLimit()).isEqualTo(UPDATED_TIME_LIMIT); - assertThat(testAssessment.getType()).isEqualTo(UPDATED_TYPE); - assertThat(testAssessment.getValidationCriteria()).isEqualTo(UPDATED_VALIDATION_CRITERIA); - assertThat(testAssessment.getQuestion()).isEqualTo(UPDATED_QUESTION); - assertThat(testAssessment.getMaxPoints()).isEqualTo(UPDATED_MAX_POINTS); - assertThat(testAssessment.getDeadline()).isEqualTo(UPDATED_DEADLINE); - } - - @Test - void patchNonExistingAssessment() throws Exception { - int databaseSizeBeforeUpdate = assessmentRepository.findAll().size(); - assessment.setId(UUID.randomUUID().toString()); - - // Create the Assessment - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - // If the entity doesn't have an ID, it will throw BadRequestAlertException - restAssessmentMockMvc - .perform( - patch(ENTITY_API_URL_ID, assessmentDTO.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(assessmentDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the Assessment in the database - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void patchWithIdMismatchAssessment() throws Exception { - int databaseSizeBeforeUpdate = assessmentRepository.findAll().size(); - assessment.setId(UUID.randomUUID().toString()); - - // Create the Assessment - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restAssessmentMockMvc - .perform( - patch(ENTITY_API_URL_ID, UUID.randomUUID().toString()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(assessmentDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the Assessment in the database - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void patchWithMissingIdPathParamAssessment() throws Exception { - int databaseSizeBeforeUpdate = assessmentRepository.findAll().size(); - assessment.setId(UUID.randomUUID().toString()); - - // Create the Assessment - AssessmentDTO assessmentDTO = assessmentMapper.toDto(assessment); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restAssessmentMockMvc - .perform( - patch(ENTITY_API_URL).contentType("application/merge-patch+json").content(TestUtil.convertObjectToJsonBytes(assessmentDTO)) - ) - .andExpect(status().isMethodNotAllowed()); - - // Validate the Assessment in the database - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void deleteAssessment() throws Exception { - // Initialize the database - assessmentRepository.save(assessment); - - int databaseSizeBeforeDelete = assessmentRepository.findAll().size(); - - // Delete the assessment - restAssessmentMockMvc - .perform(delete(ENTITY_API_URL_ID, assessment.getId()).accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isNoContent()); - - // Validate the database contains one less item - List assessmentList = assessmentRepository.findAll(); - assertThat(assessmentList).hasSize(databaseSizeBeforeDelete - 1); - } -} diff --git a/src/test/java/in/upcode/cat/web/rest/AssignmentResourceIT.java b/src/test/java/in/upcode/cat/web/rest/AssignmentResourceIT.java new file mode 100644 index 0000000..466cf19 --- /dev/null +++ b/src/test/java/in/upcode/cat/web/rest/AssignmentResourceIT.java @@ -0,0 +1,708 @@ +package in.upcode.cat.web.rest; + +import static in.upcode.cat.web.rest.TestUtil.sameInstant; +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 in.upcode.cat.IntegrationTest; +import in.upcode.cat.domain.Assignment; +import in.upcode.cat.domain.Category; +import in.upcode.cat.repository.AssignmentRepository; +import in.upcode.cat.service.dto.AssignmentDTO; +import in.upcode.cat.service.mapper.AssignmentMapper; +import java.time.Instant; +import java.time.LocalTime; +import java.time.ZoneId; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; +import java.util.List; +import java.util.UUID; +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.http.MediaType; +import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.web.servlet.MockMvc; + +/** + * Integration tests for the {@link AssignmentResource} REST controller. + */ +@IntegrationTest +@AutoConfigureMockMvc +@WithMockUser +class AssignmentResourceIT { + + private static final String DEFAULT_QUESTION = "AAAAAAAAAA"; + private static final String UPDATED_QUESTION = "BBBBBBBBBB"; + + private static final String DEFAULT_DESCRIPTION = "AAAAAAAAAA"; + private static final String UPDATED_DESCRIPTION = "BBBBBBBBBB"; + + private static final byte[] DEFAULT_IMAGE = new byte[0]; + private static final byte[] UPDATED_IMAGE = new byte[0]; + + private static final String DEFAULT_URL = "AAAAAAAAAA"; + private static final String UPDATED_URL = "BBBBBBBBBB"; + + private static final String DEFAULT_URL_TYPE = "AAAAAAAAAA"; + private static final String UPDATED_URL_TYPE = "BBBBBBBBBB"; + + private static final String DEFAULT_TECHNOLOGY = "AAAAAAAAAA"; + private static final String UPDATED_TECHNOLOGY = "BBBBBBBBBB"; + + private static final String DEFAULT_DIFFICULTY_LEVEL = "AAAAAAAAAA"; + private static final String UPDATED_DIFFICULTY_LEVEL = "BBBBBBBBBB"; + + private static final LocalTime DEFAULT_TIME_LIMIT = LocalTime.now(); + private static final LocalTime UPDATED_TIME_LIMIT = LocalTime.now(); + + private static final Category DEFAULT_TYPE = new Category(); + private static final Category UPDATED_TYPE = new Category(); + + private static final String DEFAULT_EVALUATION_TYPE = "AAAAAAAAAA"; + private static final String UPDATED_EVALUATION_TYPE = "BBBBBBBBBB"; + + private static final Integer DEFAULT_MAX_POINTS = 1; + private static final Integer UPDATED_MAX_POINTS = 2; + + private static final String ENTITY_API_URL = "/api/assignments"; + private static final String ENTITY_API_URL_ID = ENTITY_API_URL + "/{id}"; + + @Autowired + private AssignmentRepository assignmentRepository; + + @Autowired + private AssignmentMapper assignmentMapper; + + @Autowired + private MockMvc restAssignmentMockMvc; + + private Assignment assignment; + + /** + * 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 Assignment createEntity() { + Assignment assignment = new Assignment() + .question(DEFAULT_QUESTION) + .description(DEFAULT_DESCRIPTION) + .image(DEFAULT_IMAGE) + .url(DEFAULT_URL) + .urlType(DEFAULT_URL_TYPE) + .technology(DEFAULT_TECHNOLOGY) + .difficultyLevel(DEFAULT_DIFFICULTY_LEVEL) + .timeLimit(DEFAULT_TIME_LIMIT) + .type(DEFAULT_TYPE) + .evaluationType(DEFAULT_EVALUATION_TYPE) + .maxPoints(DEFAULT_MAX_POINTS); + return assignment; + } + + /** + * 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 Assignment createUpdatedEntity() { + Assignment assignment = new Assignment() + .question(UPDATED_QUESTION) + .description(UPDATED_DESCRIPTION) + .image(UPDATED_IMAGE) + .url(UPDATED_URL) + .urlType(UPDATED_URL_TYPE) + .technology(UPDATED_TECHNOLOGY) + .difficultyLevel(UPDATED_DIFFICULTY_LEVEL) + .timeLimit(UPDATED_TIME_LIMIT) + .type(UPDATED_TYPE) + .evaluationType(UPDATED_EVALUATION_TYPE) + .maxPoints(UPDATED_MAX_POINTS); + return assignment; + } + + @BeforeEach + public void initTest() { + assignmentRepository.deleteAll(); + assignment = createEntity(); + } + + @Test + void createAssignment() throws Exception { + int databaseSizeBeforeCreate = assignmentRepository.findAll().size(); + // Create the Assignment + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isCreated()); + + // Validate the Assignment in the database + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeCreate + 1); + Assignment testAssignment = assignmentList.get(assignmentList.size() - 1); + assertThat(testAssignment.getQuestion()).isEqualTo(DEFAULT_QUESTION); + assertThat(testAssignment.getDescription()).isEqualTo(DEFAULT_DESCRIPTION); + assertThat(testAssignment.getImage()).isEqualTo(DEFAULT_IMAGE); + assertThat(testAssignment.getUrl()).isEqualTo(DEFAULT_URL); + assertThat(testAssignment.getUrlType()).isEqualTo(DEFAULT_URL_TYPE); + assertThat(testAssignment.getTechnology()).isEqualTo(DEFAULT_TECHNOLOGY); + assertThat(testAssignment.getDifficultyLevel()).isEqualTo(DEFAULT_DIFFICULTY_LEVEL); + assertThat(testAssignment.getTimeLimit()).isEqualTo(DEFAULT_TIME_LIMIT); + assertThat(testAssignment.getType()).isEqualTo(DEFAULT_TYPE); + assertThat(testAssignment.getEvaluationType()).isEqualTo(DEFAULT_EVALUATION_TYPE); + assertThat(testAssignment.getMaxPoints()).isEqualTo(DEFAULT_MAX_POINTS); + } + + @Test + void createAssignmentWithExistingId() throws Exception { + // Create the Assignment with an existing ID + assignment.setId("existing_id"); + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + int databaseSizeBeforeCreate = assignmentRepository.findAll().size(); + + // An entity with an existing ID cannot be created, so this API call must fail + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + // Validate the Assignment in the database + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeCreate); + } + + @Test + void checkQuestionIsRequired() throws Exception { + int databaseSizeBeforeTest = assignmentRepository.findAll().size(); + // set the field null + assignment.setQuestion(null); + + // Create the Assignment, which fails. + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void checkDescriptionIsRequired() throws Exception { + int databaseSizeBeforeTest = assignmentRepository.findAll().size(); + // set the field null + assignment.setDescription(null); + + // Create the Assignment, which fails. + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void checkImageIsRequired() throws Exception { + int databaseSizeBeforeTest = assignmentRepository.findAll().size(); + // set the field null + assignment.setImage(null); + + // Create the Assignment, which fails. + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void checkUrlIsRequired() throws Exception { + int databaseSizeBeforeTest = assignmentRepository.findAll().size(); + // set the field null + assignment.setUrl(null); + + // Create the Assignment, which fails. + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void checkUrlTypeIsRequired() throws Exception { + int databaseSizeBeforeTest = assignmentRepository.findAll().size(); + // set the field null + assignment.setUrlType(null); + + // Create the Assignment, which fails. + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void checkTechnologyIsRequired() throws Exception { + int databaseSizeBeforeTest = assignmentRepository.findAll().size(); + // set the field null + assignment.setTechnology(null); + + // Create the Assignment, which fails. + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void checkDifficultyLevelIsRequired() throws Exception { + int databaseSizeBeforeTest = assignmentRepository.findAll().size(); + // set the field null + assignment.setDifficultyLevel(null); + + // Create the Assignment, which fails. + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void checkTimeLimitIsRequired() throws Exception { + int databaseSizeBeforeTest = assignmentRepository.findAll().size(); + // set the field null + assignment.setTimeLimit(null); + + // Create the Assignment, which fails. + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void checkTypeIsRequired() throws Exception { + int databaseSizeBeforeTest = assignmentRepository.findAll().size(); + // set the field null + assignment.setType(null); + + // Create the Assignment, which fails. + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void checkEvaluationTypeIsRequired() throws Exception { + int databaseSizeBeforeTest = assignmentRepository.findAll().size(); + // set the field null + assignment.setEvaluationType(null); + + // Create the Assignment, which fails. + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void checkMaxPointsIsRequired() throws Exception { + int databaseSizeBeforeTest = assignmentRepository.findAll().size(); + // set the field null + assignment.setMaxPoints(null); + + // Create the Assignment, which fails. + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + restAssignmentMockMvc + .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isBadRequest()); + + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void getAllAssignments() throws Exception { + // Initialize the database + assignmentRepository.save(assignment); + + // Get all the assignmentList + restAssignmentMockMvc + .perform(get(ENTITY_API_URL + "?sort=id,desc")) + .andExpect(status().isOk()) + .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) + .andExpect(jsonPath("$.[*].id").value(hasItem(assignment.getId()))) + .andExpect(jsonPath("$.[*].question").value(hasItem(DEFAULT_QUESTION))) + .andExpect(jsonPath("$.[*].description").value(hasItem(DEFAULT_DESCRIPTION.toString()))) + .andExpect(jsonPath("$.[*].image").value(hasItem(DEFAULT_IMAGE))) + .andExpect(jsonPath("$.[*].url").value(hasItem(DEFAULT_URL))) + .andExpect(jsonPath("$.[*].urlType").value(hasItem(DEFAULT_URL_TYPE))) + .andExpect(jsonPath("$.[*].technology").value(hasItem(DEFAULT_TECHNOLOGY))) + .andExpect(jsonPath("$.[*].difficultyLevel").value(hasItem(DEFAULT_DIFFICULTY_LEVEL))) + .andExpect(jsonPath("$.[*].timeLimit").value(hasItem(DEFAULT_TIME_LIMIT))) + .andExpect(jsonPath("$.[*].type").value(hasItem(DEFAULT_TYPE))) + .andExpect(jsonPath("$.[*].evaluationType").value(hasItem(DEFAULT_EVALUATION_TYPE))) + .andExpect(jsonPath("$.[*].maxPoints").value(hasItem(DEFAULT_MAX_POINTS))); + } + + @Test + void getAssignment() throws Exception { + // Initialize the database + assignmentRepository.save(assignment); + + // Get the assignment + restAssignmentMockMvc + .perform(get(ENTITY_API_URL_ID, assignment.getId())) + .andExpect(status().isOk()) + .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) + .andExpect(jsonPath("$.id").value(assignment.getId())) + .andExpect(jsonPath("$.question").value(DEFAULT_QUESTION)) + .andExpect(jsonPath("$.description").value(DEFAULT_DESCRIPTION.toString())) + .andExpect(jsonPath("$.image").value(DEFAULT_IMAGE)) + .andExpect(jsonPath("$.url").value(DEFAULT_URL)) + .andExpect(jsonPath("$.urlType").value(DEFAULT_URL_TYPE)) + .andExpect(jsonPath("$.technology").value(DEFAULT_TECHNOLOGY)) + .andExpect(jsonPath("$.difficultyLevel").value(DEFAULT_DIFFICULTY_LEVEL)) + .andExpect(jsonPath("$.timeLimit").value(DEFAULT_TIME_LIMIT)) + .andExpect(jsonPath("$.type").value(DEFAULT_TYPE)) + .andExpect(jsonPath("$.evaluationType").value(DEFAULT_EVALUATION_TYPE)) + .andExpect(jsonPath("$.maxPoints").value(DEFAULT_MAX_POINTS)); + } + + @Test + void getNonExistingAssignment() throws Exception { + // Get the assignment + restAssignmentMockMvc.perform(get(ENTITY_API_URL_ID, Long.MAX_VALUE)).andExpect(status().isNotFound()); + } + + @Test + void putExistingAssignment() throws Exception { + // Initialize the database + assignmentRepository.save(assignment); + + int databaseSizeBeforeUpdate = assignmentRepository.findAll().size(); + + // Update the assignment + Assignment updatedAssignment = assignmentRepository.findById(assignment.getId()).orElseThrow(); + updatedAssignment + .question(UPDATED_QUESTION) + .description(UPDATED_DESCRIPTION) + .image(UPDATED_IMAGE) + .url(UPDATED_URL) + .urlType(UPDATED_DESCRIPTION) + .technology(UPDATED_TECHNOLOGY) + .difficultyLevel(UPDATED_DIFFICULTY_LEVEL) + .timeLimit(UPDATED_TIME_LIMIT) + .type(UPDATED_TYPE) + .evaluationType(UPDATED_EVALUATION_TYPE) + .maxPoints(UPDATED_MAX_POINTS); + AssignmentDTO assignmentDTO = assignmentMapper.toDto(updatedAssignment); + + restAssignmentMockMvc + .perform( + put(ENTITY_API_URL_ID, assignmentDTO.getId()) + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(assignmentDTO)) + ) + .andExpect(status().isOk()); + + // Validate the Assignment in the database + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeUpdate); + Assignment testAssignment = assignmentList.get(assignmentList.size() - 1); + assertThat(testAssignment.getQuestion()).isEqualTo(UPDATED_QUESTION); + assertThat(testAssignment.getDescription()).isEqualTo(UPDATED_DESCRIPTION); + assertThat(testAssignment.getImage()).isEqualTo(UPDATED_IMAGE); + assertThat(testAssignment.getUrl()).isEqualTo(UPDATED_URL); + assertThat(testAssignment.getUrlType()).isEqualTo(UPDATED_URL_TYPE); + assertThat(testAssignment.getTechnology()).isEqualTo(UPDATED_TECHNOLOGY); + assertThat(testAssignment.getDifficultyLevel()).isEqualTo(UPDATED_DIFFICULTY_LEVEL); + assertThat(testAssignment.getTimeLimit()).isEqualTo(UPDATED_TIME_LIMIT); + assertThat(testAssignment.getType()).isEqualTo(UPDATED_TYPE); + assertThat(testAssignment.getEvaluationType()).isEqualTo(UPDATED_EVALUATION_TYPE); + assertThat(testAssignment.getMaxPoints()).isEqualTo(UPDATED_MAX_POINTS); + } + + @Test + void putNonExistingAssignment() throws Exception { + int databaseSizeBeforeUpdate = assignmentRepository.findAll().size(); + assignment.setId(UUID.randomUUID().toString()); + + // Create the Assignment + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + // If the entity doesn't have an ID, it will throw BadRequestAlertException + restAssignmentMockMvc + .perform( + put(ENTITY_API_URL_ID, assignmentDTO.getId()) + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(assignmentDTO)) + ) + .andExpect(status().isBadRequest()); + + // Validate the Assignment in the database + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void putWithIdMismatchAssignment() throws Exception { + int databaseSizeBeforeUpdate = assignmentRepository.findAll().size(); + assignment.setId(UUID.randomUUID().toString()); + + // Create the Assignment + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + // If url ID doesn't match entity ID, it will throw BadRequestAlertException + restAssignmentMockMvc + .perform( + put(ENTITY_API_URL_ID, UUID.randomUUID().toString()) + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(assignmentDTO)) + ) + .andExpect(status().isBadRequest()); + + // Validate the Assignment in the database + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void putWithMissingIdPathParamAssignment() throws Exception { + int databaseSizeBeforeUpdate = assignmentRepository.findAll().size(); + assignment.setId(UUID.randomUUID().toString()); + + // Create the Assignment + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + // If url ID doesn't match entity ID, it will throw BadRequestAlertException + restAssignmentMockMvc + .perform(put(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(assignmentDTO))) + .andExpect(status().isMethodNotAllowed()); + + // Validate the Assignment in the database + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void partialUpdateAssignmentWithPatch() throws Exception { + // Initialize the database + assignmentRepository.save(assignment); + + int databaseSizeBeforeUpdate = assignmentRepository.findAll().size(); + + // Update the assignment using partial update + Assignment partialUpdatedAssignment = new Assignment(); + partialUpdatedAssignment.setId(assignment.getId()); + + partialUpdatedAssignment + .question(UPDATED_QUESTION) + .description(UPDATED_DESCRIPTION) + .image(UPDATED_IMAGE) + .url(UPDATED_URL) + .urlType(UPDATED_DESCRIPTION) + .technology(UPDATED_TECHNOLOGY) + .difficultyLevel(UPDATED_DIFFICULTY_LEVEL) + .timeLimit(UPDATED_TIME_LIMIT) + .type(UPDATED_TYPE) + .evaluationType(UPDATED_EVALUATION_TYPE) + .maxPoints(UPDATED_MAX_POINTS); + + restAssignmentMockMvc + .perform( + patch(ENTITY_API_URL_ID, partialUpdatedAssignment.getId()) + .contentType("application/merge-patch+json") + .content(TestUtil.convertObjectToJsonBytes(partialUpdatedAssignment)) + ) + .andExpect(status().isOk()); + + // Validate the Assignment in the database + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeUpdate); + Assignment testAssignment = assignmentList.get(assignmentList.size() - 1); + assertThat(testAssignment.getQuestion()).isEqualTo(UPDATED_QUESTION); + assertThat(testAssignment.getDescription()).isEqualTo(UPDATED_DESCRIPTION); + assertThat(testAssignment.getImage()).isEqualTo(UPDATED_IMAGE); + assertThat(testAssignment.getUrl()).isEqualTo(UPDATED_URL); + assertThat(testAssignment.getUrlType()).isEqualTo(UPDATED_URL_TYPE); + assertThat(testAssignment.getTechnology()).isEqualTo(UPDATED_TECHNOLOGY); + assertThat(testAssignment.getDifficultyLevel()).isEqualTo(UPDATED_DIFFICULTY_LEVEL); + assertThat(testAssignment.getTimeLimit()).isEqualTo(UPDATED_TIME_LIMIT); + assertThat(testAssignment.getType()).isEqualTo(UPDATED_TYPE); + assertThat(testAssignment.getEvaluationType()).isEqualTo(UPDATED_EVALUATION_TYPE); + assertThat(testAssignment.getMaxPoints()).isEqualTo(UPDATED_MAX_POINTS); + } + + @Test + void fullUpdateAssignmentWithPatch() throws Exception { + // Initialize the database + assignmentRepository.save(assignment); + + int databaseSizeBeforeUpdate = assignmentRepository.findAll().size(); + + // Update the assignment using partial update + Assignment partialUpdatedAssignment = new Assignment(); + partialUpdatedAssignment.setId(assignment.getId()); + + partialUpdatedAssignment + .question(UPDATED_QUESTION) + .description(UPDATED_DESCRIPTION) + .image(UPDATED_IMAGE) + .url(UPDATED_URL) + .urlType(UPDATED_DESCRIPTION) + .technology(UPDATED_TECHNOLOGY) + .difficultyLevel(UPDATED_DIFFICULTY_LEVEL) + .timeLimit(UPDATED_TIME_LIMIT) + .type(UPDATED_TYPE) + .evaluationType(UPDATED_EVALUATION_TYPE) + .maxPoints(UPDATED_MAX_POINTS); + + restAssignmentMockMvc + .perform( + patch(ENTITY_API_URL_ID, partialUpdatedAssignment.getId()) + .contentType("application/merge-patch+json") + .content(TestUtil.convertObjectToJsonBytes(partialUpdatedAssignment)) + ) + .andExpect(status().isOk()); + + // Validate the Assignment in the database + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeUpdate); + Assignment testAssignment = assignmentList.get(assignmentList.size() - 1); + assertThat(testAssignment.getQuestion()).isEqualTo(UPDATED_QUESTION); + assertThat(testAssignment.getDescription()).isEqualTo(UPDATED_DESCRIPTION); + assertThat(testAssignment.getImage()).isEqualTo(UPDATED_IMAGE); + assertThat(testAssignment.getUrl()).isEqualTo(UPDATED_URL); + assertThat(testAssignment.getUrlType()).isEqualTo(UPDATED_URL_TYPE); + assertThat(testAssignment.getTechnology()).isEqualTo(UPDATED_TECHNOLOGY); + assertThat(testAssignment.getDifficultyLevel()).isEqualTo(UPDATED_DIFFICULTY_LEVEL); + assertThat(testAssignment.getTimeLimit()).isEqualTo(UPDATED_TIME_LIMIT); + assertThat(testAssignment.getType()).isEqualTo(UPDATED_TYPE); + assertThat(testAssignment.getEvaluationType()).isEqualTo(UPDATED_EVALUATION_TYPE); + assertThat(testAssignment.getMaxPoints()).isEqualTo(UPDATED_MAX_POINTS); + } + + @Test + void patchNonExistingAssignment() throws Exception { + int databaseSizeBeforeUpdate = assignmentRepository.findAll().size(); + assignment.setId(UUID.randomUUID().toString()); + + // Create the Assignment + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + // If the entity doesn't have an ID, it will throw BadRequestAlertException + restAssignmentMockMvc + .perform( + patch(ENTITY_API_URL_ID, assignmentDTO.getId()) + .contentType("application/merge-patch+json") + .content(TestUtil.convertObjectToJsonBytes(assignmentDTO)) + ) + .andExpect(status().isBadRequest()); + + // Validate the Assignment in the database + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void patchWithIdMismatchAssignment() throws Exception { + int databaseSizeBeforeUpdate = assignmentRepository.findAll().size(); + assignment.setId(UUID.randomUUID().toString()); + + // Create the Assignment + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + // If url ID doesn't match entity ID, it will throw BadRequestAlertException + restAssignmentMockMvc + .perform( + patch(ENTITY_API_URL_ID, UUID.randomUUID().toString()) + .contentType("application/merge-patch+json") + .content(TestUtil.convertObjectToJsonBytes(assignmentDTO)) + ) + .andExpect(status().isBadRequest()); + + // Validate the Assignment in the database + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void patchWithMissingIdPathParamAssignment() throws Exception { + int databaseSizeBeforeUpdate = assignmentRepository.findAll().size(); + assignment.setId(UUID.randomUUID().toString()); + + // Create the Assignment + AssignmentDTO assignmentDTO = assignmentMapper.toDto(assignment); + + // If url ID doesn't match entity ID, it will throw BadRequestAlertException + restAssignmentMockMvc + .perform( + patch(ENTITY_API_URL).contentType("application/merge-patch+json").content(TestUtil.convertObjectToJsonBytes(assignmentDTO)) + ) + .andExpect(status().isMethodNotAllowed()); + + // Validate the Assignment in the database + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void deleteAssignment() throws Exception { + // Initialize the database + assignmentRepository.save(assignment); + + int databaseSizeBeforeDelete = assignmentRepository.findAll().size(); + + // Delete the assignment + restAssignmentMockMvc + .perform(delete(ENTITY_API_URL_ID, assignment.getId()).accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isNoContent()); + + // Validate the database contains one less item + List assignmentList = assignmentRepository.findAll(); + assertThat(assignmentList).hasSize(databaseSizeBeforeDelete - 1); + } +} diff --git a/src/test/java/in/upcode/cat/web/rest/QuestionResourceIT.java b/src/test/java/in/upcode/cat/web/rest/QuestionResourceIT.java deleted file mode 100644 index 742d58a..0000000 --- a/src/test/java/in/upcode/cat/web/rest/QuestionResourceIT.java +++ /dev/null @@ -1,412 +0,0 @@ -package in.upcode.cat.web.rest; - -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 in.upcode.cat.IntegrationTest; -import in.upcode.cat.domain.Question; -import in.upcode.cat.repository.QuestionRepository; -import in.upcode.cat.service.dto.QuestionDTO; -import in.upcode.cat.service.mapper.QuestionMapper; -import java.util.List; -import java.util.UUID; -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.http.MediaType; -import org.springframework.security.test.context.support.WithMockUser; -import org.springframework.test.web.servlet.MockMvc; - -/** - * Integration tests for the {@link QuestionResource} REST controller. - */ -@IntegrationTest -@AutoConfigureMockMvc -@WithMockUser -class QuestionResourceIT { - - private static final String DEFAULT_QUESTION_TEXT = "AAAAAAAAAA"; - private static final String UPDATED_QUESTION_TEXT = "BBBBBBBBBB"; - - private static final String DEFAULT_CODE_SNIPPET = "AAAAAAAAAA"; - private static final String UPDATED_CODE_SNIPPET = "BBBBBBBBBB"; - - private static final String DEFAULT_RESOURCES = "AAAAAAAAAA"; - private static final String UPDATED_RESOURCES = "BBBBBBBBBB"; - - private static final Integer DEFAULT_POINTS = 1; - private static final Integer UPDATED_POINTS = 2; - - private static final String ENTITY_API_URL = "/api/questions"; - private static final String ENTITY_API_URL_ID = ENTITY_API_URL + "/{id}"; - - @Autowired - private QuestionRepository questionRepository; - - @Autowired - private QuestionMapper questionMapper; - - @Autowired - private MockMvc restQuestionMockMvc; - - private Question question; - - /** - * 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 Question createEntity() { - Question question = new Question() - .questionText(DEFAULT_QUESTION_TEXT) - .codeSnippet(DEFAULT_CODE_SNIPPET) - .resources(DEFAULT_RESOURCES) - .points(DEFAULT_POINTS); - return question; - } - - /** - * 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 Question createUpdatedEntity() { - Question question = new Question() - .questionText(UPDATED_QUESTION_TEXT) - .codeSnippet(UPDATED_CODE_SNIPPET) - .resources(UPDATED_RESOURCES) - .points(UPDATED_POINTS); - return question; - } - - @BeforeEach - public void initTest() { - questionRepository.deleteAll(); - question = createEntity(); - } - - @Test - void createQuestion() throws Exception { - int databaseSizeBeforeCreate = questionRepository.findAll().size(); - // Create the Question - QuestionDTO questionDTO = questionMapper.toDto(question); - restQuestionMockMvc - .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(questionDTO))) - .andExpect(status().isCreated()); - - // Validate the Question in the database - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeCreate + 1); - Question testQuestion = questionList.get(questionList.size() - 1); - assertThat(testQuestion.getQuestionText()).isEqualTo(DEFAULT_QUESTION_TEXT); - assertThat(testQuestion.getCodeSnippet()).isEqualTo(DEFAULT_CODE_SNIPPET); - assertThat(testQuestion.getResources()).isEqualTo(DEFAULT_RESOURCES); - assertThat(testQuestion.getPoints()).isEqualTo(DEFAULT_POINTS); - } - - @Test - void createQuestionWithExistingId() throws Exception { - // Create the Question with an existing ID - question.setId("existing_id"); - QuestionDTO questionDTO = questionMapper.toDto(question); - - int databaseSizeBeforeCreate = questionRepository.findAll().size(); - - // An entity with an existing ID cannot be created, so this API call must fail - restQuestionMockMvc - .perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(questionDTO))) - .andExpect(status().isBadRequest()); - - // Validate the Question in the database - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeCreate); - } - - @Test - void getAllQuestions() throws Exception { - // Initialize the database - questionRepository.save(question); - - // Get all the questionList - restQuestionMockMvc - .perform(get(ENTITY_API_URL + "?sort=id,desc")) - .andExpect(status().isOk()) - .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) - .andExpect(jsonPath("$.[*].id").value(hasItem(question.getId()))) - .andExpect(jsonPath("$.[*].questionText").value(hasItem(DEFAULT_QUESTION_TEXT.toString()))) - .andExpect(jsonPath("$.[*].codeSnippet").value(hasItem(DEFAULT_CODE_SNIPPET.toString()))) - .andExpect(jsonPath("$.[*].resources").value(hasItem(DEFAULT_RESOURCES))) - .andExpect(jsonPath("$.[*].points").value(hasItem(DEFAULT_POINTS))); - } - - @Test - void getQuestion() throws Exception { - // Initialize the database - questionRepository.save(question); - - // Get the question - restQuestionMockMvc - .perform(get(ENTITY_API_URL_ID, question.getId())) - .andExpect(status().isOk()) - .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) - .andExpect(jsonPath("$.id").value(question.getId())) - .andExpect(jsonPath("$.questionText").value(DEFAULT_QUESTION_TEXT.toString())) - .andExpect(jsonPath("$.codeSnippet").value(DEFAULT_CODE_SNIPPET.toString())) - .andExpect(jsonPath("$.resources").value(DEFAULT_RESOURCES)) - .andExpect(jsonPath("$.points").value(DEFAULT_POINTS)); - } - - @Test - void getNonExistingQuestion() throws Exception { - // Get the question - restQuestionMockMvc.perform(get(ENTITY_API_URL_ID, Long.MAX_VALUE)).andExpect(status().isNotFound()); - } - - @Test - void putExistingQuestion() throws Exception { - // Initialize the database - questionRepository.save(question); - - int databaseSizeBeforeUpdate = questionRepository.findAll().size(); - - // Update the question - Question updatedQuestion = questionRepository.findById(question.getId()).orElseThrow(); - updatedQuestion - .questionText(UPDATED_QUESTION_TEXT) - .codeSnippet(UPDATED_CODE_SNIPPET) - .resources(UPDATED_RESOURCES) - .points(UPDATED_POINTS); - QuestionDTO questionDTO = questionMapper.toDto(updatedQuestion); - - restQuestionMockMvc - .perform( - put(ENTITY_API_URL_ID, questionDTO.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(questionDTO)) - ) - .andExpect(status().isOk()); - - // Validate the Question in the database - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeUpdate); - Question testQuestion = questionList.get(questionList.size() - 1); - assertThat(testQuestion.getQuestionText()).isEqualTo(UPDATED_QUESTION_TEXT); - assertThat(testQuestion.getCodeSnippet()).isEqualTo(UPDATED_CODE_SNIPPET); - assertThat(testQuestion.getResources()).isEqualTo(UPDATED_RESOURCES); - assertThat(testQuestion.getPoints()).isEqualTo(UPDATED_POINTS); - } - - @Test - void putNonExistingQuestion() throws Exception { - int databaseSizeBeforeUpdate = questionRepository.findAll().size(); - question.setId(UUID.randomUUID().toString()); - - // Create the Question - QuestionDTO questionDTO = questionMapper.toDto(question); - - // If the entity doesn't have an ID, it will throw BadRequestAlertException - restQuestionMockMvc - .perform( - put(ENTITY_API_URL_ID, questionDTO.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(questionDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the Question in the database - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void putWithIdMismatchQuestion() throws Exception { - int databaseSizeBeforeUpdate = questionRepository.findAll().size(); - question.setId(UUID.randomUUID().toString()); - - // Create the Question - QuestionDTO questionDTO = questionMapper.toDto(question); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restQuestionMockMvc - .perform( - put(ENTITY_API_URL_ID, UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(questionDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the Question in the database - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void putWithMissingIdPathParamQuestion() throws Exception { - int databaseSizeBeforeUpdate = questionRepository.findAll().size(); - question.setId(UUID.randomUUID().toString()); - - // Create the Question - QuestionDTO questionDTO = questionMapper.toDto(question); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restQuestionMockMvc - .perform(put(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(questionDTO))) - .andExpect(status().isMethodNotAllowed()); - - // Validate the Question in the database - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void partialUpdateQuestionWithPatch() throws Exception { - // Initialize the database - questionRepository.save(question); - - int databaseSizeBeforeUpdate = questionRepository.findAll().size(); - - // Update the question using partial update - Question partialUpdatedQuestion = new Question(); - partialUpdatedQuestion.setId(question.getId()); - - partialUpdatedQuestion.questionText(UPDATED_QUESTION_TEXT).resources(UPDATED_RESOURCES); - - restQuestionMockMvc - .perform( - patch(ENTITY_API_URL_ID, partialUpdatedQuestion.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(partialUpdatedQuestion)) - ) - .andExpect(status().isOk()); - - // Validate the Question in the database - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeUpdate); - Question testQuestion = questionList.get(questionList.size() - 1); - assertThat(testQuestion.getQuestionText()).isEqualTo(UPDATED_QUESTION_TEXT); - assertThat(testQuestion.getCodeSnippet()).isEqualTo(DEFAULT_CODE_SNIPPET); - assertThat(testQuestion.getResources()).isEqualTo(UPDATED_RESOURCES); - assertThat(testQuestion.getPoints()).isEqualTo(DEFAULT_POINTS); - } - - @Test - void fullUpdateQuestionWithPatch() throws Exception { - // Initialize the database - questionRepository.save(question); - - int databaseSizeBeforeUpdate = questionRepository.findAll().size(); - - // Update the question using partial update - Question partialUpdatedQuestion = new Question(); - partialUpdatedQuestion.setId(question.getId()); - - partialUpdatedQuestion - .questionText(UPDATED_QUESTION_TEXT) - .codeSnippet(UPDATED_CODE_SNIPPET) - .resources(UPDATED_RESOURCES) - .points(UPDATED_POINTS); - - restQuestionMockMvc - .perform( - patch(ENTITY_API_URL_ID, partialUpdatedQuestion.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(partialUpdatedQuestion)) - ) - .andExpect(status().isOk()); - - // Validate the Question in the database - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeUpdate); - Question testQuestion = questionList.get(questionList.size() - 1); - assertThat(testQuestion.getQuestionText()).isEqualTo(UPDATED_QUESTION_TEXT); - assertThat(testQuestion.getCodeSnippet()).isEqualTo(UPDATED_CODE_SNIPPET); - assertThat(testQuestion.getResources()).isEqualTo(UPDATED_RESOURCES); - assertThat(testQuestion.getPoints()).isEqualTo(UPDATED_POINTS); - } - - @Test - void patchNonExistingQuestion() throws Exception { - int databaseSizeBeforeUpdate = questionRepository.findAll().size(); - question.setId(UUID.randomUUID().toString()); - - // Create the Question - QuestionDTO questionDTO = questionMapper.toDto(question); - - // If the entity doesn't have an ID, it will throw BadRequestAlertException - restQuestionMockMvc - .perform( - patch(ENTITY_API_URL_ID, questionDTO.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(questionDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the Question in the database - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void patchWithIdMismatchQuestion() throws Exception { - int databaseSizeBeforeUpdate = questionRepository.findAll().size(); - question.setId(UUID.randomUUID().toString()); - - // Create the Question - QuestionDTO questionDTO = questionMapper.toDto(question); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restQuestionMockMvc - .perform( - patch(ENTITY_API_URL_ID, UUID.randomUUID().toString()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(questionDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the Question in the database - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void patchWithMissingIdPathParamQuestion() throws Exception { - int databaseSizeBeforeUpdate = questionRepository.findAll().size(); - question.setId(UUID.randomUUID().toString()); - - // Create the Question - QuestionDTO questionDTO = questionMapper.toDto(question); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restQuestionMockMvc - .perform( - patch(ENTITY_API_URL).contentType("application/merge-patch+json").content(TestUtil.convertObjectToJsonBytes(questionDTO)) - ) - .andExpect(status().isMethodNotAllowed()); - - // Validate the Question in the database - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void deleteQuestion() throws Exception { - // Initialize the database - questionRepository.save(question); - - int databaseSizeBeforeDelete = questionRepository.findAll().size(); - - // Delete the question - restQuestionMockMvc - .perform(delete(ENTITY_API_URL_ID, question.getId()).accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isNoContent()); - - // Validate the database contains one less item - List questionList = questionRepository.findAll(); - assertThat(questionList).hasSize(databaseSizeBeforeDelete - 1); - } -} diff --git a/src/test/java/in/upcode/cat/web/rest/SubmissionResourceIT.java b/src/test/java/in/upcode/cat/web/rest/SubmissionResourceIT.java index e9842c1..50fc858 100644 --- a/src/test/java/in/upcode/cat/web/rest/SubmissionResourceIT.java +++ b/src/test/java/in/upcode/cat/web/rest/SubmissionResourceIT.java @@ -6,10 +6,15 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; import in.upcode.cat.IntegrationTest; +import in.upcode.cat.domain.Assignment; import in.upcode.cat.domain.Submission; +import in.upcode.cat.domain.User; +import in.upcode.cat.domain.UserAssignment; import in.upcode.cat.repository.SubmissionRepository; import in.upcode.cat.service.dto.SubmissionDTO; import in.upcode.cat.service.mapper.SubmissionMapper; +import java.time.Instant; +import java.util.Arrays; import java.util.Base64; import java.util.List; import java.util.UUID; @@ -18,6 +23,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.http.MediaType; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.test.context.support.WithMockUser; import org.springframework.test.web.servlet.MockMvc; @@ -34,21 +41,33 @@ class SubmissionResourceIT { private static final byte[] DEFAULT_SCREENSHOTS = TestUtil.createByteArray(1, "0"); private static final byte[] UPDATED_SCREENSHOTS = TestUtil.createByteArray(1, "1"); - private static final String DEFAULT_SCREENSHOTS_CONTENT_TYPE = "image/jpg"; - private static final String UPDATED_SCREENSHOTS_CONTENT_TYPE = "image/png"; - - private static final String DEFAULT_VIDEO_EXPLANATION = "AAAAAAAAAA"; - private static final String UPDATED_VIDEO_EXPLANATION = "BBBBBBBBBB"; + // private static final String DEFAULT_SCREENSHOTS_CONTENT_TYPE = "image/jpg"; + // private static final String UPDATED_SCREENSHOTS_CONTENT_TYPE = "image/png"; private static final String DEFAULT_TEXT_DESCRIPTION = "AAAAAAAAAA"; private static final String UPDATED_TEXT_DESCRIPTION = "BBBBBBBBBB"; + private static final Instant DEFAULT_TIME_TAKEN = Instant.ofEpochSecond(1); + private static final Instant UPDATED_TIME_TAKEN = Instant.parse("2024-06-11T10:15:30.00Z"); + private static final String DEFAULT_FEEDBACK = "AAAAAAAAAA"; private static final String UPDATED_FEEDBACK = "BBBBBBBBBB"; private static final Integer DEFAULT_POINTS_SCORED = 1; private static final Integer UPDATED_POINTS_SCORED = 2; + private static final UserAssignment DEFAULT_FOR_ASSIGNMENT = new UserAssignment(); + private static final UserAssignment UPDATED_FOR_ASSIGNMENT = new UserAssignment(); + + // private static final List DEFAULT_AUTHORITIES = Arrays.asList(new SimpleGrantedAuthority("ROLE_USER")); + // private static final User DEFAULT_USER = new User("defaultUsername", "defaultPassword", DEFAULT_AUTHORITIES); + // private static final User UPDATED_USER = new User("updatedUsername", "updatedPassword", DEFAULT_AUTHORITIES); + private static final User DEFAULT_USER = new User(); + private static final User UPDATED_USER = new User(); + + private static final Assignment DEFAULT_ASSIGNMENT = new Assignment(); + private static final Assignment UPDATED_ASSIGNMENT = new Assignment(); + private static final String ENTITY_API_URL = "/api/submissions"; private static final String ENTITY_API_URL_ID = ENTITY_API_URL + "/{id}"; @@ -73,11 +92,14 @@ public static Submission createEntity() { Submission submission = new Submission() .githubUrl(DEFAULT_GITHUB_URL) .screenshots(DEFAULT_SCREENSHOTS) - .screenshotsContentType(DEFAULT_SCREENSHOTS_CONTENT_TYPE) - .videoExplanation(DEFAULT_VIDEO_EXPLANATION) .textDescription(DEFAULT_TEXT_DESCRIPTION) + .timeTaken(DEFAULT_TIME_TAKEN) .feedback(DEFAULT_FEEDBACK) - .pointsScored(DEFAULT_POINTS_SCORED); + .pointsScored(DEFAULT_POINTS_SCORED) + .forAssignment(DEFAULT_FOR_ASSIGNMENT) + .user(DEFAULT_USER) + .assignment(DEFAULT_ASSIGNMENT); + return submission; } @@ -91,11 +113,14 @@ public static Submission createUpdatedEntity() { Submission submission = new Submission() .githubUrl(UPDATED_GITHUB_URL) .screenshots(UPDATED_SCREENSHOTS) - .screenshotsContentType(UPDATED_SCREENSHOTS_CONTENT_TYPE) - .videoExplanation(UPDATED_VIDEO_EXPLANATION) .textDescription(UPDATED_TEXT_DESCRIPTION) + .timeTaken(UPDATED_TIME_TAKEN) .feedback(UPDATED_FEEDBACK) - .pointsScored(UPDATED_POINTS_SCORED); + .pointsScored(UPDATED_POINTS_SCORED) + .forAssignment(UPDATED_FOR_ASSIGNMENT) + .user(DEFAULT_USER) + .assignment(UPDATED_ASSIGNMENT); + return submission; } @@ -120,11 +145,13 @@ void createSubmission() throws Exception { Submission testSubmission = submissionList.get(submissionList.size() - 1); assertThat(testSubmission.getGithubUrl()).isEqualTo(DEFAULT_GITHUB_URL); assertThat(testSubmission.getScreenshots()).isEqualTo(DEFAULT_SCREENSHOTS); - assertThat(testSubmission.getScreenshotsContentType()).isEqualTo(DEFAULT_SCREENSHOTS_CONTENT_TYPE); - assertThat(testSubmission.getVideoExplanation()).isEqualTo(DEFAULT_VIDEO_EXPLANATION); assertThat(testSubmission.getTextDescription()).isEqualTo(DEFAULT_TEXT_DESCRIPTION); + assertThat(testSubmission.getTimeTaken()).isEqualTo(DEFAULT_TIME_TAKEN); assertThat(testSubmission.getFeedback()).isEqualTo(DEFAULT_FEEDBACK); assertThat(testSubmission.getPointsScored()).isEqualTo(DEFAULT_POINTS_SCORED); + assertThat(testSubmission.getForAssignment()).isEqualTo(DEFAULT_FOR_ASSIGNMENT); + assertThat(testSubmission.getUser()).isEqualTo(DEFAULT_USER); + assertThat(testSubmission.getAssignment()).isEqualTo(DEFAULT_ASSIGNMENT); } @Test @@ -174,12 +201,15 @@ void getAllSubmissions() throws Exception { .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(jsonPath("$.[*].id").value(hasItem(submission.getId()))) .andExpect(jsonPath("$.[*].githubUrl").value(hasItem(DEFAULT_GITHUB_URL))) - .andExpect(jsonPath("$.[*].screenshotsContentType").value(hasItem(DEFAULT_SCREENSHOTS_CONTENT_TYPE))) + // .andExpect(jsonPath("$.[*].screenshotsContentType").value(hasItem(DEFAULT_SCREENSHOTS_CONTENT_TYPE))) .andExpect(jsonPath("$.[*].screenshots").value(hasItem(Base64.getEncoder().encodeToString(DEFAULT_SCREENSHOTS)))) - .andExpect(jsonPath("$.[*].videoExplanation").value(hasItem(DEFAULT_VIDEO_EXPLANATION))) .andExpect(jsonPath("$.[*].textDescription").value(hasItem(DEFAULT_TEXT_DESCRIPTION))) + .andExpect(jsonPath("$.[*].timeTaken").value(hasItem(DEFAULT_TIME_TAKEN))) .andExpect(jsonPath("$.[*].feedback").value(hasItem(DEFAULT_FEEDBACK.toString()))) - .andExpect(jsonPath("$.[*].pointsScored").value(hasItem(DEFAULT_POINTS_SCORED))); + .andExpect(jsonPath("$.[*].pointsScored").value(hasItem(DEFAULT_POINTS_SCORED))) + .andExpect(jsonPath("$.[*].forAssignment").value(hasItem(DEFAULT_FOR_ASSIGNMENT))) + .andExpect(jsonPath("$.[*].user").value(hasItem(DEFAULT_USER))) + .andExpect(jsonPath("$.[*].textDescription").value(hasItem(DEFAULT_TEXT_DESCRIPTION))); } @Test @@ -194,12 +224,15 @@ void getSubmission() throws Exception { .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(jsonPath("$.id").value(submission.getId())) .andExpect(jsonPath("$.githubUrl").value(DEFAULT_GITHUB_URL)) - .andExpect(jsonPath("$.screenshotsContentType").value(DEFAULT_SCREENSHOTS_CONTENT_TYPE)) + // .andExpect(jsonPath("$.screenshotsContentType").value(DEFAULT_SCREENSHOTS_CONTENT_TYPE)) .andExpect(jsonPath("$.screenshots").value(Base64.getEncoder().encodeToString(DEFAULT_SCREENSHOTS))) - .andExpect(jsonPath("$.videoExplanation").value(DEFAULT_VIDEO_EXPLANATION)) .andExpect(jsonPath("$.textDescription").value(DEFAULT_TEXT_DESCRIPTION)) + .andExpect(jsonPath("$.timeTaken").value(DEFAULT_TIME_TAKEN)) .andExpect(jsonPath("$.feedback").value(DEFAULT_FEEDBACK.toString())) - .andExpect(jsonPath("$.pointsScored").value(DEFAULT_POINTS_SCORED)); + .andExpect(jsonPath("$.pointsScored").value(DEFAULT_POINTS_SCORED)) + .andExpect(jsonPath("$.forAssignment").value(DEFAULT_FOR_ASSIGNMENT)) + .andExpect(jsonPath("$.user").value(DEFAULT_USER)) + .andExpect(jsonPath("$.assignment").value(DEFAULT_ASSIGNMENT)); } @Test @@ -220,11 +253,13 @@ void putExistingSubmission() throws Exception { updatedSubmission .githubUrl(UPDATED_GITHUB_URL) .screenshots(UPDATED_SCREENSHOTS) - .screenshotsContentType(UPDATED_SCREENSHOTS_CONTENT_TYPE) - .videoExplanation(UPDATED_VIDEO_EXPLANATION) .textDescription(UPDATED_TEXT_DESCRIPTION) + .timeTaken(UPDATED_TIME_TAKEN) .feedback(UPDATED_FEEDBACK) - .pointsScored(UPDATED_POINTS_SCORED); + .pointsScored(UPDATED_POINTS_SCORED) + .forAssignment(UPDATED_FOR_ASSIGNMENT) + .user(DEFAULT_USER) + .assignment(UPDATED_ASSIGNMENT); SubmissionDTO submissionDTO = submissionMapper.toDto(updatedSubmission); restSubmissionMockMvc @@ -241,11 +276,13 @@ void putExistingSubmission() throws Exception { Submission testSubmission = submissionList.get(submissionList.size() - 1); assertThat(testSubmission.getGithubUrl()).isEqualTo(UPDATED_GITHUB_URL); assertThat(testSubmission.getScreenshots()).isEqualTo(UPDATED_SCREENSHOTS); - assertThat(testSubmission.getScreenshotsContentType()).isEqualTo(UPDATED_SCREENSHOTS_CONTENT_TYPE); - assertThat(testSubmission.getVideoExplanation()).isEqualTo(UPDATED_VIDEO_EXPLANATION); assertThat(testSubmission.getTextDescription()).isEqualTo(UPDATED_TEXT_DESCRIPTION); + assertThat(testSubmission.getTimeTaken()).isEqualTo(UPDATED_TIME_TAKEN); assertThat(testSubmission.getFeedback()).isEqualTo(UPDATED_FEEDBACK); assertThat(testSubmission.getPointsScored()).isEqualTo(UPDATED_POINTS_SCORED); + assertThat(testSubmission.getForAssignment()).isEqualTo(UPDATED_FOR_ASSIGNMENT); + assertThat(testSubmission.getUser()).isEqualTo(UPDATED_USER); + assertThat(testSubmission.getAssignment()).isEqualTo(UPDATED_ASSIGNMENT); } @Test @@ -321,11 +358,7 @@ void partialUpdateSubmissionWithPatch() throws Exception { Submission partialUpdatedSubmission = new Submission(); partialUpdatedSubmission.setId(submission.getId()); - partialUpdatedSubmission - .screenshots(UPDATED_SCREENSHOTS) - .screenshotsContentType(UPDATED_SCREENSHOTS_CONTENT_TYPE) - .videoExplanation(UPDATED_VIDEO_EXPLANATION) - .pointsScored(UPDATED_POINTS_SCORED); + partialUpdatedSubmission.screenshots(UPDATED_SCREENSHOTS).pointsScored(UPDATED_POINTS_SCORED); restSubmissionMockMvc .perform( @@ -339,13 +372,15 @@ void partialUpdateSubmissionWithPatch() throws Exception { List submissionList = submissionRepository.findAll(); assertThat(submissionList).hasSize(databaseSizeBeforeUpdate); Submission testSubmission = submissionList.get(submissionList.size() - 1); - assertThat(testSubmission.getGithubUrl()).isEqualTo(DEFAULT_GITHUB_URL); + assertThat(testSubmission.getGithubUrl()).isEqualTo(UPDATED_GITHUB_URL); assertThat(testSubmission.getScreenshots()).isEqualTo(UPDATED_SCREENSHOTS); - assertThat(testSubmission.getScreenshotsContentType()).isEqualTo(UPDATED_SCREENSHOTS_CONTENT_TYPE); - assertThat(testSubmission.getVideoExplanation()).isEqualTo(UPDATED_VIDEO_EXPLANATION); - assertThat(testSubmission.getTextDescription()).isEqualTo(DEFAULT_TEXT_DESCRIPTION); - assertThat(testSubmission.getFeedback()).isEqualTo(DEFAULT_FEEDBACK); + assertThat(testSubmission.getTextDescription()).isEqualTo(UPDATED_TEXT_DESCRIPTION); + assertThat(testSubmission.getTimeTaken()).isEqualTo(UPDATED_TIME_TAKEN); + assertThat(testSubmission.getFeedback()).isEqualTo(UPDATED_FEEDBACK); assertThat(testSubmission.getPointsScored()).isEqualTo(UPDATED_POINTS_SCORED); + assertThat(testSubmission.getForAssignment()).isEqualTo(UPDATED_FOR_ASSIGNMENT); + assertThat(testSubmission.getUser()).isEqualTo(UPDATED_USER); + assertThat(testSubmission.getAssignment()).isEqualTo(UPDATED_ASSIGNMENT); } @Test @@ -362,11 +397,13 @@ void fullUpdateSubmissionWithPatch() throws Exception { partialUpdatedSubmission .githubUrl(UPDATED_GITHUB_URL) .screenshots(UPDATED_SCREENSHOTS) - .screenshotsContentType(UPDATED_SCREENSHOTS_CONTENT_TYPE) - .videoExplanation(UPDATED_VIDEO_EXPLANATION) .textDescription(UPDATED_TEXT_DESCRIPTION) + .timeTaken(UPDATED_TIME_TAKEN) .feedback(UPDATED_FEEDBACK) - .pointsScored(UPDATED_POINTS_SCORED); + .pointsScored(UPDATED_POINTS_SCORED) + .forAssignment(UPDATED_FOR_ASSIGNMENT) + .user(DEFAULT_USER) + .assignment(UPDATED_ASSIGNMENT); restSubmissionMockMvc .perform( @@ -380,13 +417,16 @@ void fullUpdateSubmissionWithPatch() throws Exception { List submissionList = submissionRepository.findAll(); assertThat(submissionList).hasSize(databaseSizeBeforeUpdate); Submission testSubmission = submissionList.get(submissionList.size() - 1); + // assertThat(testSubmission.getScreenshotsContentType()).isEqualTo(UPDATED_SCREENSHOTS_CONTENT_TYPE); assertThat(testSubmission.getGithubUrl()).isEqualTo(UPDATED_GITHUB_URL); assertThat(testSubmission.getScreenshots()).isEqualTo(UPDATED_SCREENSHOTS); - assertThat(testSubmission.getScreenshotsContentType()).isEqualTo(UPDATED_SCREENSHOTS_CONTENT_TYPE); - assertThat(testSubmission.getVideoExplanation()).isEqualTo(UPDATED_VIDEO_EXPLANATION); assertThat(testSubmission.getTextDescription()).isEqualTo(UPDATED_TEXT_DESCRIPTION); + assertThat(testSubmission.getTimeTaken()).isEqualTo(UPDATED_TIME_TAKEN); assertThat(testSubmission.getFeedback()).isEqualTo(UPDATED_FEEDBACK); assertThat(testSubmission.getPointsScored()).isEqualTo(UPDATED_POINTS_SCORED); + assertThat(testSubmission.getForAssignment()).isEqualTo(UPDATED_FOR_ASSIGNMENT); + assertThat(testSubmission.getUser()).isEqualTo(UPDATED_USER); + assertThat(testSubmission.getAssignment()).isEqualTo(UPDATED_ASSIGNMENT); } @Test diff --git a/src/test/java/in/upcode/cat/web/rest/UserAssessmentResourceIT.java b/src/test/java/in/upcode/cat/web/rest/UserAssessmentResourceIT.java deleted file mode 100644 index 26305dd..0000000 --- a/src/test/java/in/upcode/cat/web/rest/UserAssessmentResourceIT.java +++ /dev/null @@ -1,442 +0,0 @@ -package in.upcode.cat.web.rest; - -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 in.upcode.cat.IntegrationTest; -import in.upcode.cat.domain.UserAssessment; -import in.upcode.cat.domain.enumeration.AssessmentStatus; -import in.upcode.cat.repository.UserAssessmentRepository; -import in.upcode.cat.service.dto.UserAssessmentDTO; -import in.upcode.cat.service.mapper.UserAssessmentMapper; -import java.time.Instant; -import java.time.temporal.ChronoUnit; -import java.util.List; -import java.util.UUID; -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.http.MediaType; -import org.springframework.security.test.context.support.WithMockUser; -import org.springframework.test.web.servlet.MockMvc; - -/** - * Integration tests for the {@link UserAssessmentResource} REST controller. - */ -@IntegrationTest -@AutoConfigureMockMvc -@WithMockUser -class UserAssessmentResourceIT { - - private static final AssessmentStatus DEFAULT_STATUS = AssessmentStatus.ASSIGNED; - private static final AssessmentStatus UPDATED_STATUS = AssessmentStatus.COMPLETED; - - private static final Instant DEFAULT_ASSIGNED_AT = Instant.ofEpochMilli(0L); - private static final Instant UPDATED_ASSIGNED_AT = Instant.now().truncatedTo(ChronoUnit.MILLIS); - - private static final Instant DEFAULT_DEADLINE = Instant.ofEpochMilli(0L); - private static final Instant UPDATED_DEADLINE = Instant.now().truncatedTo(ChronoUnit.MILLIS); - - private static final String ENTITY_API_URL = "/api/user-assessments"; - private static final String ENTITY_API_URL_ID = ENTITY_API_URL + "/{id}"; - - @Autowired - private UserAssessmentRepository userAssessmentRepository; - - @Autowired - private UserAssessmentMapper userAssessmentMapper; - - @Autowired - private MockMvc restUserAssessmentMockMvc; - - private UserAssessment userAssessment; - - /** - * 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 UserAssessment createEntity() { - UserAssessment userAssessment = new UserAssessment() - .status(DEFAULT_STATUS) - .assignedAt(DEFAULT_ASSIGNED_AT) - .deadline(DEFAULT_DEADLINE); - return userAssessment; - } - - /** - * 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 UserAssessment createUpdatedEntity() { - UserAssessment userAssessment = new UserAssessment() - .status(UPDATED_STATUS) - .assignedAt(UPDATED_ASSIGNED_AT) - .deadline(UPDATED_DEADLINE); - return userAssessment; - } - - @BeforeEach - public void initTest() { - userAssessmentRepository.deleteAll(); - userAssessment = createEntity(); - } - - @Test - void createUserAssessment() throws Exception { - int databaseSizeBeforeCreate = userAssessmentRepository.findAll().size(); - // Create the UserAssessment - UserAssessmentDTO userAssessmentDTO = userAssessmentMapper.toDto(userAssessment); - restUserAssessmentMockMvc - .perform( - post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(userAssessmentDTO)) - ) - .andExpect(status().isCreated()); - - // Validate the UserAssessment in the database - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeCreate + 1); - UserAssessment testUserAssessment = userAssessmentList.get(userAssessmentList.size() - 1); - assertThat(testUserAssessment.getStatus()).isEqualTo(DEFAULT_STATUS); - assertThat(testUserAssessment.getAssignedAt()).isEqualTo(DEFAULT_ASSIGNED_AT); - assertThat(testUserAssessment.getDeadline()).isEqualTo(DEFAULT_DEADLINE); - } - - @Test - void createUserAssessmentWithExistingId() throws Exception { - // Create the UserAssessment with an existing ID - userAssessment.setId("existing_id"); - UserAssessmentDTO userAssessmentDTO = userAssessmentMapper.toDto(userAssessment); - - int databaseSizeBeforeCreate = userAssessmentRepository.findAll().size(); - - // An entity with an existing ID cannot be created, so this API call must fail - restUserAssessmentMockMvc - .perform( - post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(userAssessmentDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the UserAssessment in the database - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeCreate); - } - - @Test - void checkStatusIsRequired() throws Exception { - int databaseSizeBeforeTest = userAssessmentRepository.findAll().size(); - // set the field null - userAssessment.setStatus(null); - - // Create the UserAssessment, which fails. - UserAssessmentDTO userAssessmentDTO = userAssessmentMapper.toDto(userAssessment); - - restUserAssessmentMockMvc - .perform( - post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(userAssessmentDTO)) - ) - .andExpect(status().isBadRequest()); - - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeTest); - } - - @Test - void checkAssignedAtIsRequired() throws Exception { - int databaseSizeBeforeTest = userAssessmentRepository.findAll().size(); - // set the field null - userAssessment.setAssignedAt(null); - - // Create the UserAssessment, which fails. - UserAssessmentDTO userAssessmentDTO = userAssessmentMapper.toDto(userAssessment); - - restUserAssessmentMockMvc - .perform( - post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(userAssessmentDTO)) - ) - .andExpect(status().isBadRequest()); - - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeTest); - } - - @Test - void getAllUserAssessments() throws Exception { - // Initialize the database - userAssessmentRepository.save(userAssessment); - - // Get all the userAssessmentList - restUserAssessmentMockMvc - .perform(get(ENTITY_API_URL + "?sort=id,desc")) - .andExpect(status().isOk()) - .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) - .andExpect(jsonPath("$.[*].id").value(hasItem(userAssessment.getId()))) - .andExpect(jsonPath("$.[*].status").value(hasItem(DEFAULT_STATUS.toString()))) - .andExpect(jsonPath("$.[*].assignedAt").value(hasItem(DEFAULT_ASSIGNED_AT.toString()))) - .andExpect(jsonPath("$.[*].deadline").value(hasItem(DEFAULT_DEADLINE.toString()))); - } - - @Test - void getUserAssessment() throws Exception { - // Initialize the database - userAssessmentRepository.save(userAssessment); - - // Get the userAssessment - restUserAssessmentMockMvc - .perform(get(ENTITY_API_URL_ID, userAssessment.getId())) - .andExpect(status().isOk()) - .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) - .andExpect(jsonPath("$.id").value(userAssessment.getId())) - .andExpect(jsonPath("$.status").value(DEFAULT_STATUS.toString())) - .andExpect(jsonPath("$.assignedAt").value(DEFAULT_ASSIGNED_AT.toString())) - .andExpect(jsonPath("$.deadline").value(DEFAULT_DEADLINE.toString())); - } - - @Test - void getNonExistingUserAssessment() throws Exception { - // Get the userAssessment - restUserAssessmentMockMvc.perform(get(ENTITY_API_URL_ID, Long.MAX_VALUE)).andExpect(status().isNotFound()); - } - - @Test - void putExistingUserAssessment() throws Exception { - // Initialize the database - userAssessmentRepository.save(userAssessment); - - int databaseSizeBeforeUpdate = userAssessmentRepository.findAll().size(); - - // Update the userAssessment - UserAssessment updatedUserAssessment = userAssessmentRepository.findById(userAssessment.getId()).orElseThrow(); - updatedUserAssessment.status(UPDATED_STATUS).assignedAt(UPDATED_ASSIGNED_AT).deadline(UPDATED_DEADLINE); - UserAssessmentDTO userAssessmentDTO = userAssessmentMapper.toDto(updatedUserAssessment); - - restUserAssessmentMockMvc - .perform( - put(ENTITY_API_URL_ID, userAssessmentDTO.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(userAssessmentDTO)) - ) - .andExpect(status().isOk()); - - // Validate the UserAssessment in the database - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeUpdate); - UserAssessment testUserAssessment = userAssessmentList.get(userAssessmentList.size() - 1); - assertThat(testUserAssessment.getStatus()).isEqualTo(UPDATED_STATUS); - assertThat(testUserAssessment.getAssignedAt()).isEqualTo(UPDATED_ASSIGNED_AT); - assertThat(testUserAssessment.getDeadline()).isEqualTo(UPDATED_DEADLINE); - } - - @Test - void putNonExistingUserAssessment() throws Exception { - int databaseSizeBeforeUpdate = userAssessmentRepository.findAll().size(); - userAssessment.setId(UUID.randomUUID().toString()); - - // Create the UserAssessment - UserAssessmentDTO userAssessmentDTO = userAssessmentMapper.toDto(userAssessment); - - // If the entity doesn't have an ID, it will throw BadRequestAlertException - restUserAssessmentMockMvc - .perform( - put(ENTITY_API_URL_ID, userAssessmentDTO.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(userAssessmentDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the UserAssessment in the database - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void putWithIdMismatchUserAssessment() throws Exception { - int databaseSizeBeforeUpdate = userAssessmentRepository.findAll().size(); - userAssessment.setId(UUID.randomUUID().toString()); - - // Create the UserAssessment - UserAssessmentDTO userAssessmentDTO = userAssessmentMapper.toDto(userAssessment); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restUserAssessmentMockMvc - .perform( - put(ENTITY_API_URL_ID, UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(userAssessmentDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the UserAssessment in the database - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void putWithMissingIdPathParamUserAssessment() throws Exception { - int databaseSizeBeforeUpdate = userAssessmentRepository.findAll().size(); - userAssessment.setId(UUID.randomUUID().toString()); - - // Create the UserAssessment - UserAssessmentDTO userAssessmentDTO = userAssessmentMapper.toDto(userAssessment); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restUserAssessmentMockMvc - .perform( - put(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(userAssessmentDTO)) - ) - .andExpect(status().isMethodNotAllowed()); - - // Validate the UserAssessment in the database - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void partialUpdateUserAssessmentWithPatch() throws Exception { - // Initialize the database - userAssessmentRepository.save(userAssessment); - - int databaseSizeBeforeUpdate = userAssessmentRepository.findAll().size(); - - // Update the userAssessment using partial update - UserAssessment partialUpdatedUserAssessment = new UserAssessment(); - partialUpdatedUserAssessment.setId(userAssessment.getId()); - - partialUpdatedUserAssessment.assignedAt(UPDATED_ASSIGNED_AT); - - restUserAssessmentMockMvc - .perform( - patch(ENTITY_API_URL_ID, partialUpdatedUserAssessment.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(partialUpdatedUserAssessment)) - ) - .andExpect(status().isOk()); - - // Validate the UserAssessment in the database - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeUpdate); - UserAssessment testUserAssessment = userAssessmentList.get(userAssessmentList.size() - 1); - assertThat(testUserAssessment.getStatus()).isEqualTo(DEFAULT_STATUS); - assertThat(testUserAssessment.getAssignedAt()).isEqualTo(UPDATED_ASSIGNED_AT); - assertThat(testUserAssessment.getDeadline()).isEqualTo(DEFAULT_DEADLINE); - } - - @Test - void fullUpdateUserAssessmentWithPatch() throws Exception { - // Initialize the database - userAssessmentRepository.save(userAssessment); - - int databaseSizeBeforeUpdate = userAssessmentRepository.findAll().size(); - - // Update the userAssessment using partial update - UserAssessment partialUpdatedUserAssessment = new UserAssessment(); - partialUpdatedUserAssessment.setId(userAssessment.getId()); - - partialUpdatedUserAssessment.status(UPDATED_STATUS).assignedAt(UPDATED_ASSIGNED_AT).deadline(UPDATED_DEADLINE); - - restUserAssessmentMockMvc - .perform( - patch(ENTITY_API_URL_ID, partialUpdatedUserAssessment.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(partialUpdatedUserAssessment)) - ) - .andExpect(status().isOk()); - - // Validate the UserAssessment in the database - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeUpdate); - UserAssessment testUserAssessment = userAssessmentList.get(userAssessmentList.size() - 1); - assertThat(testUserAssessment.getStatus()).isEqualTo(UPDATED_STATUS); - assertThat(testUserAssessment.getAssignedAt()).isEqualTo(UPDATED_ASSIGNED_AT); - assertThat(testUserAssessment.getDeadline()).isEqualTo(UPDATED_DEADLINE); - } - - @Test - void patchNonExistingUserAssessment() throws Exception { - int databaseSizeBeforeUpdate = userAssessmentRepository.findAll().size(); - userAssessment.setId(UUID.randomUUID().toString()); - - // Create the UserAssessment - UserAssessmentDTO userAssessmentDTO = userAssessmentMapper.toDto(userAssessment); - - // If the entity doesn't have an ID, it will throw BadRequestAlertException - restUserAssessmentMockMvc - .perform( - patch(ENTITY_API_URL_ID, userAssessmentDTO.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(userAssessmentDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the UserAssessment in the database - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void patchWithIdMismatchUserAssessment() throws Exception { - int databaseSizeBeforeUpdate = userAssessmentRepository.findAll().size(); - userAssessment.setId(UUID.randomUUID().toString()); - - // Create the UserAssessment - UserAssessmentDTO userAssessmentDTO = userAssessmentMapper.toDto(userAssessment); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restUserAssessmentMockMvc - .perform( - patch(ENTITY_API_URL_ID, UUID.randomUUID().toString()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(userAssessmentDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the UserAssessment in the database - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void patchWithMissingIdPathParamUserAssessment() throws Exception { - int databaseSizeBeforeUpdate = userAssessmentRepository.findAll().size(); - userAssessment.setId(UUID.randomUUID().toString()); - - // Create the UserAssessment - UserAssessmentDTO userAssessmentDTO = userAssessmentMapper.toDto(userAssessment); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restUserAssessmentMockMvc - .perform( - patch(ENTITY_API_URL) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(userAssessmentDTO)) - ) - .andExpect(status().isMethodNotAllowed()); - - // Validate the UserAssessment in the database - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void deleteUserAssessment() throws Exception { - // Initialize the database - userAssessmentRepository.save(userAssessment); - - int databaseSizeBeforeDelete = userAssessmentRepository.findAll().size(); - - // Delete the userAssessment - restUserAssessmentMockMvc - .perform(delete(ENTITY_API_URL_ID, userAssessment.getId()).accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isNoContent()); - - // Validate the database contains one less item - List userAssessmentList = userAssessmentRepository.findAll(); - assertThat(userAssessmentList).hasSize(databaseSizeBeforeDelete - 1); - } -} diff --git a/src/test/java/in/upcode/cat/web/rest/UserAssignmentResourceIT.java b/src/test/java/in/upcode/cat/web/rest/UserAssignmentResourceIT.java new file mode 100644 index 0000000..d697e50 --- /dev/null +++ b/src/test/java/in/upcode/cat/web/rest/UserAssignmentResourceIT.java @@ -0,0 +1,442 @@ +package in.upcode.cat.web.rest; + +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 in.upcode.cat.IntegrationTest; +import in.upcode.cat.domain.UserAssignment; +import in.upcode.cat.domain.enumeration.AssignmentStatus; +import in.upcode.cat.repository.UserAssignmentRepository; +import in.upcode.cat.service.dto.UserAssignmentDTO; +import in.upcode.cat.service.mapper.UserAssignmentMapper; +import java.time.Instant; +import java.time.temporal.ChronoUnit; +import java.util.List; +import java.util.UUID; +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.http.MediaType; +import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.web.servlet.MockMvc; + +/** + * Integration tests for the {@link UserAssignmentResource} REST controller. + */ +@IntegrationTest +@AutoConfigureMockMvc +@WithMockUser +class UserAssignmentResourceIT { + + private static final AssignmentStatus DEFAULT_STATUS = AssignmentStatus.ASSIGNED; + private static final AssignmentStatus UPDATED_STATUS = AssignmentStatus.COMPLETED; + + private static final Instant DEFAULT_ASSIGNED_AT = Instant.ofEpochMilli(0L); + private static final Instant UPDATED_ASSIGNED_AT = Instant.now().truncatedTo(ChronoUnit.MILLIS); + + private static final Instant DEFAULT_DEADLINE = Instant.ofEpochMilli(0L); + private static final Instant UPDATED_DEADLINE = Instant.now().truncatedTo(ChronoUnit.MILLIS); + + private static final String ENTITY_API_URL = "/api/user-assignments"; + private static final String ENTITY_API_URL_ID = ENTITY_API_URL + "/{id}"; + + @Autowired + private UserAssignmentRepository userAssignmentRepository; + + @Autowired + private UserAssignmentMapper userAssignmentMapper; + + @Autowired + private MockMvc restUserAssignmentMockMvc; + + private UserAssignment userAssignment; + + /** + * 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 UserAssignment createEntity() { + UserAssignment userAssignment = new UserAssignment() + .status(DEFAULT_STATUS) + .assignedAt(DEFAULT_ASSIGNED_AT) + .deadline(DEFAULT_DEADLINE); + return userAssignment; + } + + /** + * 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 UserAssignment createUpdatedEntity() { + UserAssignment userAssignment = new UserAssignment() + .status(UPDATED_STATUS) + .assignedAt(UPDATED_ASSIGNED_AT) + .deadline(UPDATED_DEADLINE); + return userAssignment; + } + + @BeforeEach + public void initTest() { + userAssignmentRepository.deleteAll(); + userAssignment = createEntity(); + } + + @Test + void createUserAssignment() throws Exception { + int databaseSizeBeforeCreate = userAssignmentRepository.findAll().size(); + // Create the UserAssignment + UserAssignmentDTO userAssignmentDTO = userAssignmentMapper.toDto(userAssignment); + restUserAssignmentMockMvc + .perform( + post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(userAssignmentDTO)) + ) + .andExpect(status().isCreated()); + + // Validate the UserAssignment in the database + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeCreate + 1); + UserAssignment testUserAssignment = userAssignmentList.get(userAssignmentList.size() - 1); + assertThat(testUserAssignment.getStatus()).isEqualTo(DEFAULT_STATUS); + assertThat(testUserAssignment.getAssignedAt()).isEqualTo(DEFAULT_ASSIGNED_AT); + assertThat(testUserAssignment.getDeadline()).isEqualTo(DEFAULT_DEADLINE); + } + + @Test + void createUserAssignmentWithExistingId() throws Exception { + // Create the UserAssignment with an existing ID + userAssignment.setId("existing_id"); + UserAssignmentDTO userAssignmentDTO = userAssignmentMapper.toDto(userAssignment); + + int databaseSizeBeforeCreate = userAssignmentRepository.findAll().size(); + + // An entity with an existing ID cannot be created, so this API call must fail + restUserAssignmentMockMvc + .perform( + post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(userAssignmentDTO)) + ) + .andExpect(status().isBadRequest()); + + // Validate the UserAssignment in the database + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeCreate); + } + + @Test + void checkStatusIsRequired() throws Exception { + int databaseSizeBeforeTest = userAssignmentRepository.findAll().size(); + // set the field null + userAssignment.setStatus(null); + + // Create the UserAssignment, which fails. + UserAssignmentDTO userAssignmentDTO = userAssignmentMapper.toDto(userAssignment); + + restUserAssignmentMockMvc + .perform( + post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(userAssignmentDTO)) + ) + .andExpect(status().isBadRequest()); + + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void checkAssignedAtIsRequired() throws Exception { + int databaseSizeBeforeTest = userAssignmentRepository.findAll().size(); + // set the field null + userAssignment.setAssignedAt(null); + + // Create the UserAssignment, which fails. + UserAssignmentDTO userAssignmentDTO = userAssignmentMapper.toDto(userAssignment); + + restUserAssignmentMockMvc + .perform( + post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(userAssignmentDTO)) + ) + .andExpect(status().isBadRequest()); + + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeTest); + } + + @Test + void getAllUserAssignments() throws Exception { + // Initialize the database + userAssignmentRepository.save(userAssignment); + + // Get all the userAssignmentList + restUserAssignmentMockMvc + .perform(get(ENTITY_API_URL + "?sort=id,desc")) + .andExpect(status().isOk()) + .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) + .andExpect(jsonPath("$.[*].id").value(hasItem(userAssignment.getId()))) + .andExpect(jsonPath("$.[*].status").value(hasItem(DEFAULT_STATUS.toString()))) + .andExpect(jsonPath("$.[*].assignedAt").value(hasItem(DEFAULT_ASSIGNED_AT.toString()))) + .andExpect(jsonPath("$.[*].deadline").value(hasItem(DEFAULT_DEADLINE.toString()))); + } + + @Test + void getUserAssignment() throws Exception { + // Initialize the database + userAssignmentRepository.save(userAssignment); + + // Get the userAssignment + restUserAssignmentMockMvc + .perform(get(ENTITY_API_URL_ID, userAssignment.getId())) + .andExpect(status().isOk()) + .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) + .andExpect(jsonPath("$.id").value(userAssignment.getId())) + .andExpect(jsonPath("$.status").value(DEFAULT_STATUS.toString())) + .andExpect(jsonPath("$.assignedAt").value(DEFAULT_ASSIGNED_AT.toString())) + .andExpect(jsonPath("$.deadline").value(DEFAULT_DEADLINE.toString())); + } + + @Test + void getNonExistingUserAssignment() throws Exception { + // Get the userAssignment + restUserAssignmentMockMvc.perform(get(ENTITY_API_URL_ID, Long.MAX_VALUE)).andExpect(status().isNotFound()); + } + + @Test + void putExistingUserAssignment() throws Exception { + // Initialize the database + userAssignmentRepository.save(userAssignment); + + int databaseSizeBeforeUpdate = userAssignmentRepository.findAll().size(); + + // Update the userAssignment + UserAssignment updatedUserAssignment = userAssignmentRepository.findById(userAssignment.getId()).orElseThrow(); + updatedUserAssignment.status(UPDATED_STATUS).assignedAt(UPDATED_ASSIGNED_AT).deadline(UPDATED_DEADLINE); + UserAssignmentDTO userAssignmentDTO = userAssignmentMapper.toDto(updatedUserAssignment); + + restUserAssignmentMockMvc + .perform( + put(ENTITY_API_URL_ID, userAssignmentDTO.getId()) + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(userAssignmentDTO)) + ) + .andExpect(status().isOk()); + + // Validate the UserAssignment in the database + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeUpdate); + UserAssignment testUserAssignment = userAssignmentList.get(userAssignmentList.size() - 1); + assertThat(testUserAssignment.getStatus()).isEqualTo(UPDATED_STATUS); + assertThat(testUserAssignment.getAssignedAt()).isEqualTo(UPDATED_ASSIGNED_AT); + assertThat(testUserAssignment.getDeadline()).isEqualTo(UPDATED_DEADLINE); + } + + @Test + void putNonExistingUserAssignment() throws Exception { + int databaseSizeBeforeUpdate = userAssignmentRepository.findAll().size(); + userAssignment.setId(UUID.randomUUID().toString()); + + // Create the UserAssignment + UserAssignmentDTO userAssignmentDTO = userAssignmentMapper.toDto(userAssignment); + + // If the entity doesn't have an ID, it will throw BadRequestAlertException + restUserAssignmentMockMvc + .perform( + put(ENTITY_API_URL_ID, userAssignmentDTO.getId()) + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(userAssignmentDTO)) + ) + .andExpect(status().isBadRequest()); + + // Validate the UserAssignment in the database + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void putWithIdMismatchUserAssignment() throws Exception { + int databaseSizeBeforeUpdate = userAssignmentRepository.findAll().size(); + userAssignment.setId(UUID.randomUUID().toString()); + + // Create the UserAssignment + UserAssignmentDTO userAssignmentDTO = userAssignmentMapper.toDto(userAssignment); + + // If url ID doesn't match entity ID, it will throw BadRequestAlertException + restUserAssignmentMockMvc + .perform( + put(ENTITY_API_URL_ID, UUID.randomUUID().toString()) + .contentType(MediaType.APPLICATION_JSON) + .content(TestUtil.convertObjectToJsonBytes(userAssignmentDTO)) + ) + .andExpect(status().isBadRequest()); + + // Validate the UserAssignment in the database + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void putWithMissingIdPathParamUserAssignment() throws Exception { + int databaseSizeBeforeUpdate = userAssignmentRepository.findAll().size(); + userAssignment.setId(UUID.randomUUID().toString()); + + // Create the UserAssignment + UserAssignmentDTO userAssignmentDTO = userAssignmentMapper.toDto(userAssignment); + + // If url ID doesn't match entity ID, it will throw BadRequestAlertException + restUserAssignmentMockMvc + .perform( + put(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(userAssignmentDTO)) + ) + .andExpect(status().isMethodNotAllowed()); + + // Validate the UserAssignment in the database + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void partialUpdateUserAssignmentWithPatch() throws Exception { + // Initialize the database + userAssignmentRepository.save(userAssignment); + + int databaseSizeBeforeUpdate = userAssignmentRepository.findAll().size(); + + // Update the userAssignment using partial update + UserAssignment partialUpdatedUserAssignment = new UserAssignment(); + partialUpdatedUserAssignment.setId(userAssignment.getId()); + + partialUpdatedUserAssignment.assignedAt(UPDATED_ASSIGNED_AT); + + restUserAssignmentMockMvc + .perform( + patch(ENTITY_API_URL_ID, partialUpdatedUserAssignment.getId()) + .contentType("application/merge-patch+json") + .content(TestUtil.convertObjectToJsonBytes(partialUpdatedUserAssignment)) + ) + .andExpect(status().isOk()); + + // Validate the UserAssignment in the database + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeUpdate); + UserAssignment testUserAssignment = userAssignmentList.get(userAssignmentList.size() - 1); + assertThat(testUserAssignment.getStatus()).isEqualTo(DEFAULT_STATUS); + assertThat(testUserAssignment.getAssignedAt()).isEqualTo(UPDATED_ASSIGNED_AT); + assertThat(testUserAssignment.getDeadline()).isEqualTo(DEFAULT_DEADLINE); + } + + @Test + void fullUpdateUserAssignmentWithPatch() throws Exception { + // Initialize the database + userAssignmentRepository.save(userAssignment); + + int databaseSizeBeforeUpdate = userAssignmentRepository.findAll().size(); + + // Update the userAssignment using partial update + UserAssignment partialUpdatedUserAssignment = new UserAssignment(); + partialUpdatedUserAssignment.setId(userAssignment.getId()); + + partialUpdatedUserAssignment.status(UPDATED_STATUS).assignedAt(UPDATED_ASSIGNED_AT).deadline(UPDATED_DEADLINE); + + restUserAssignmentMockMvc + .perform( + patch(ENTITY_API_URL_ID, partialUpdatedUserAssignment.getId()) + .contentType("application/merge-patch+json") + .content(TestUtil.convertObjectToJsonBytes(partialUpdatedUserAssignment)) + ) + .andExpect(status().isOk()); + + // Validate the UserAssignment in the database + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeUpdate); + UserAssignment testUserAssignment = userAssignmentList.get(userAssignmentList.size() - 1); + assertThat(testUserAssignment.getStatus()).isEqualTo(UPDATED_STATUS); + assertThat(testUserAssignment.getAssignedAt()).isEqualTo(UPDATED_ASSIGNED_AT); + assertThat(testUserAssignment.getDeadline()).isEqualTo(UPDATED_DEADLINE); + } + + @Test + void patchNonExistingUserAssignment() throws Exception { + int databaseSizeBeforeUpdate = userAssignmentRepository.findAll().size(); + userAssignment.setId(UUID.randomUUID().toString()); + + // Create the UserAssignment + UserAssignmentDTO userAssignmentDTO = userAssignmentMapper.toDto(userAssignment); + + // If the entity doesn't have an ID, it will throw BadRequestAlertException + restUserAssignmentMockMvc + .perform( + patch(ENTITY_API_URL_ID, userAssignmentDTO.getId()) + .contentType("application/merge-patch+json") + .content(TestUtil.convertObjectToJsonBytes(userAssignmentDTO)) + ) + .andExpect(status().isBadRequest()); + + // Validate the UserAssignment in the database + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void patchWithIdMismatchUserAssignment() throws Exception { + int databaseSizeBeforeUpdate = userAssignmentRepository.findAll().size(); + userAssignment.setId(UUID.randomUUID().toString()); + + // Create the UserAssignment + UserAssignmentDTO userAssignmentDTO = userAssignmentMapper.toDto(userAssignment); + + // If url ID doesn't match entity ID, it will throw BadRequestAlertException + restUserAssignmentMockMvc + .perform( + patch(ENTITY_API_URL_ID, UUID.randomUUID().toString()) + .contentType("application/merge-patch+json") + .content(TestUtil.convertObjectToJsonBytes(userAssignmentDTO)) + ) + .andExpect(status().isBadRequest()); + + // Validate the UserAssignment in the database + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void patchWithMissingIdPathParamUserAssignment() throws Exception { + int databaseSizeBeforeUpdate = userAssignmentRepository.findAll().size(); + userAssignment.setId(UUID.randomUUID().toString()); + + // Create the UserAssignment + UserAssignmentDTO userAssignmentDTO = userAssignmentMapper.toDto(userAssignment); + + // If url ID doesn't match entity ID, it will throw BadRequestAlertException + restUserAssignmentMockMvc + .perform( + patch(ENTITY_API_URL) + .contentType("application/merge-patch+json") + .content(TestUtil.convertObjectToJsonBytes(userAssignmentDTO)) + ) + .andExpect(status().isMethodNotAllowed()); + + // Validate the UserAssignment in the database + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeUpdate); + } + + @Test + void deleteUserAssignment() throws Exception { + // Initialize the database + userAssignmentRepository.save(userAssignment); + + int databaseSizeBeforeDelete = userAssignmentRepository.findAll().size(); + + // Delete the userAssignment + restUserAssignmentMockMvc + .perform(delete(ENTITY_API_URL_ID, userAssignment.getId()).accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isNoContent()); + + // Validate the database contains one less item + List userAssignmentList = userAssignmentRepository.findAll(); + assertThat(userAssignmentList).hasSize(databaseSizeBeforeDelete - 1); + } +} diff --git a/src/test/java/in/upcode/cat/web/rest/ValidationRuleResourceIT.java b/src/test/java/in/upcode/cat/web/rest/ValidationRuleResourceIT.java deleted file mode 100644 index 6ad2717..0000000 --- a/src/test/java/in/upcode/cat/web/rest/ValidationRuleResourceIT.java +++ /dev/null @@ -1,423 +0,0 @@ -package in.upcode.cat.web.rest; - -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 in.upcode.cat.IntegrationTest; -import in.upcode.cat.domain.ValidationRule; -import in.upcode.cat.repository.ValidationRuleRepository; -import in.upcode.cat.service.dto.ValidationRuleDTO; -import in.upcode.cat.service.mapper.ValidationRuleMapper; -import java.util.List; -import java.util.UUID; -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.http.MediaType; -import org.springframework.security.test.context.support.WithMockUser; -import org.springframework.test.web.servlet.MockMvc; - -/** - * Integration tests for the {@link ValidationRuleResource} REST controller. - */ -@IntegrationTest -@AutoConfigureMockMvc -@WithMockUser -class ValidationRuleResourceIT { - - private static final String DEFAULT_DESCRIPTION = "AAAAAAAAAA"; - private static final String UPDATED_DESCRIPTION = "BBBBBBBBBB"; - - private static final String DEFAULT_VALIDATION_SCRIPT = "AAAAAAAAAA"; - private static final String UPDATED_VALIDATION_SCRIPT = "BBBBBBBBBB"; - - private static final String DEFAULT_RULE_TYPE = "AAAAAAAAAA"; - private static final String UPDATED_RULE_TYPE = "BBBBBBBBBB"; - - private static final String ENTITY_API_URL = "/api/validation-rules"; - private static final String ENTITY_API_URL_ID = ENTITY_API_URL + "/{id}"; - - @Autowired - private ValidationRuleRepository validationRuleRepository; - - @Autowired - private ValidationRuleMapper validationRuleMapper; - - @Autowired - private MockMvc restValidationRuleMockMvc; - - private ValidationRule validationRule; - - /** - * 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 ValidationRule createEntity() { - ValidationRule validationRule = new ValidationRule() - .description(DEFAULT_DESCRIPTION) - .validationScript(DEFAULT_VALIDATION_SCRIPT) - .ruleType(DEFAULT_RULE_TYPE); - return validationRule; - } - - /** - * 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 ValidationRule createUpdatedEntity() { - ValidationRule validationRule = new ValidationRule() - .description(UPDATED_DESCRIPTION) - .validationScript(UPDATED_VALIDATION_SCRIPT) - .ruleType(UPDATED_RULE_TYPE); - return validationRule; - } - - @BeforeEach - public void initTest() { - validationRuleRepository.deleteAll(); - validationRule = createEntity(); - } - - @Test - void createValidationRule() throws Exception { - int databaseSizeBeforeCreate = validationRuleRepository.findAll().size(); - // Create the ValidationRule - ValidationRuleDTO validationRuleDTO = validationRuleMapper.toDto(validationRule); - restValidationRuleMockMvc - .perform( - post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(validationRuleDTO)) - ) - .andExpect(status().isCreated()); - - // Validate the ValidationRule in the database - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeCreate + 1); - ValidationRule testValidationRule = validationRuleList.get(validationRuleList.size() - 1); - assertThat(testValidationRule.getDescription()).isEqualTo(DEFAULT_DESCRIPTION); - assertThat(testValidationRule.getValidationScript()).isEqualTo(DEFAULT_VALIDATION_SCRIPT); - assertThat(testValidationRule.getRuleType()).isEqualTo(DEFAULT_RULE_TYPE); - } - - @Test - void createValidationRuleWithExistingId() throws Exception { - // Create the ValidationRule with an existing ID - validationRule.setId("existing_id"); - ValidationRuleDTO validationRuleDTO = validationRuleMapper.toDto(validationRule); - - int databaseSizeBeforeCreate = validationRuleRepository.findAll().size(); - - // An entity with an existing ID cannot be created, so this API call must fail - restValidationRuleMockMvc - .perform( - post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(validationRuleDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the ValidationRule in the database - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeCreate); - } - - @Test - void checkRuleTypeIsRequired() throws Exception { - int databaseSizeBeforeTest = validationRuleRepository.findAll().size(); - // set the field null - validationRule.setRuleType(null); - - // Create the ValidationRule, which fails. - ValidationRuleDTO validationRuleDTO = validationRuleMapper.toDto(validationRule); - - restValidationRuleMockMvc - .perform( - post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(validationRuleDTO)) - ) - .andExpect(status().isBadRequest()); - - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeTest); - } - - @Test - void getAllValidationRules() throws Exception { - // Initialize the database - validationRuleRepository.save(validationRule); - - // Get all the validationRuleList - restValidationRuleMockMvc - .perform(get(ENTITY_API_URL + "?sort=id,desc")) - .andExpect(status().isOk()) - .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) - .andExpect(jsonPath("$.[*].id").value(hasItem(validationRule.getId()))) - .andExpect(jsonPath("$.[*].description").value(hasItem(DEFAULT_DESCRIPTION.toString()))) - .andExpect(jsonPath("$.[*].validationScript").value(hasItem(DEFAULT_VALIDATION_SCRIPT.toString()))) - .andExpect(jsonPath("$.[*].ruleType").value(hasItem(DEFAULT_RULE_TYPE))); - } - - @Test - void getValidationRule() throws Exception { - // Initialize the database - validationRuleRepository.save(validationRule); - - // Get the validationRule - restValidationRuleMockMvc - .perform(get(ENTITY_API_URL_ID, validationRule.getId())) - .andExpect(status().isOk()) - .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) - .andExpect(jsonPath("$.id").value(validationRule.getId())) - .andExpect(jsonPath("$.description").value(DEFAULT_DESCRIPTION.toString())) - .andExpect(jsonPath("$.validationScript").value(DEFAULT_VALIDATION_SCRIPT.toString())) - .andExpect(jsonPath("$.ruleType").value(DEFAULT_RULE_TYPE)); - } - - @Test - void getNonExistingValidationRule() throws Exception { - // Get the validationRule - restValidationRuleMockMvc.perform(get(ENTITY_API_URL_ID, Long.MAX_VALUE)).andExpect(status().isNotFound()); - } - - @Test - void putExistingValidationRule() throws Exception { - // Initialize the database - validationRuleRepository.save(validationRule); - - int databaseSizeBeforeUpdate = validationRuleRepository.findAll().size(); - - // Update the validationRule - ValidationRule updatedValidationRule = validationRuleRepository.findById(validationRule.getId()).orElseThrow(); - updatedValidationRule.description(UPDATED_DESCRIPTION).validationScript(UPDATED_VALIDATION_SCRIPT).ruleType(UPDATED_RULE_TYPE); - ValidationRuleDTO validationRuleDTO = validationRuleMapper.toDto(updatedValidationRule); - - restValidationRuleMockMvc - .perform( - put(ENTITY_API_URL_ID, validationRuleDTO.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(validationRuleDTO)) - ) - .andExpect(status().isOk()); - - // Validate the ValidationRule in the database - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeUpdate); - ValidationRule testValidationRule = validationRuleList.get(validationRuleList.size() - 1); - assertThat(testValidationRule.getDescription()).isEqualTo(UPDATED_DESCRIPTION); - assertThat(testValidationRule.getValidationScript()).isEqualTo(UPDATED_VALIDATION_SCRIPT); - assertThat(testValidationRule.getRuleType()).isEqualTo(UPDATED_RULE_TYPE); - } - - @Test - void putNonExistingValidationRule() throws Exception { - int databaseSizeBeforeUpdate = validationRuleRepository.findAll().size(); - validationRule.setId(UUID.randomUUID().toString()); - - // Create the ValidationRule - ValidationRuleDTO validationRuleDTO = validationRuleMapper.toDto(validationRule); - - // If the entity doesn't have an ID, it will throw BadRequestAlertException - restValidationRuleMockMvc - .perform( - put(ENTITY_API_URL_ID, validationRuleDTO.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(validationRuleDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the ValidationRule in the database - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void putWithIdMismatchValidationRule() throws Exception { - int databaseSizeBeforeUpdate = validationRuleRepository.findAll().size(); - validationRule.setId(UUID.randomUUID().toString()); - - // Create the ValidationRule - ValidationRuleDTO validationRuleDTO = validationRuleMapper.toDto(validationRule); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restValidationRuleMockMvc - .perform( - put(ENTITY_API_URL_ID, UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON) - .content(TestUtil.convertObjectToJsonBytes(validationRuleDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the ValidationRule in the database - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void putWithMissingIdPathParamValidationRule() throws Exception { - int databaseSizeBeforeUpdate = validationRuleRepository.findAll().size(); - validationRule.setId(UUID.randomUUID().toString()); - - // Create the ValidationRule - ValidationRuleDTO validationRuleDTO = validationRuleMapper.toDto(validationRule); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restValidationRuleMockMvc - .perform( - put(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(validationRuleDTO)) - ) - .andExpect(status().isMethodNotAllowed()); - - // Validate the ValidationRule in the database - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void partialUpdateValidationRuleWithPatch() throws Exception { - // Initialize the database - validationRuleRepository.save(validationRule); - - int databaseSizeBeforeUpdate = validationRuleRepository.findAll().size(); - - // Update the validationRule using partial update - ValidationRule partialUpdatedValidationRule = new ValidationRule(); - partialUpdatedValidationRule.setId(validationRule.getId()); - - partialUpdatedValidationRule.description(UPDATED_DESCRIPTION).validationScript(UPDATED_VALIDATION_SCRIPT); - - restValidationRuleMockMvc - .perform( - patch(ENTITY_API_URL_ID, partialUpdatedValidationRule.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(partialUpdatedValidationRule)) - ) - .andExpect(status().isOk()); - - // Validate the ValidationRule in the database - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeUpdate); - ValidationRule testValidationRule = validationRuleList.get(validationRuleList.size() - 1); - assertThat(testValidationRule.getDescription()).isEqualTo(UPDATED_DESCRIPTION); - assertThat(testValidationRule.getValidationScript()).isEqualTo(UPDATED_VALIDATION_SCRIPT); - assertThat(testValidationRule.getRuleType()).isEqualTo(DEFAULT_RULE_TYPE); - } - - @Test - void fullUpdateValidationRuleWithPatch() throws Exception { - // Initialize the database - validationRuleRepository.save(validationRule); - - int databaseSizeBeforeUpdate = validationRuleRepository.findAll().size(); - - // Update the validationRule using partial update - ValidationRule partialUpdatedValidationRule = new ValidationRule(); - partialUpdatedValidationRule.setId(validationRule.getId()); - - partialUpdatedValidationRule - .description(UPDATED_DESCRIPTION) - .validationScript(UPDATED_VALIDATION_SCRIPT) - .ruleType(UPDATED_RULE_TYPE); - - restValidationRuleMockMvc - .perform( - patch(ENTITY_API_URL_ID, partialUpdatedValidationRule.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(partialUpdatedValidationRule)) - ) - .andExpect(status().isOk()); - - // Validate the ValidationRule in the database - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeUpdate); - ValidationRule testValidationRule = validationRuleList.get(validationRuleList.size() - 1); - assertThat(testValidationRule.getDescription()).isEqualTo(UPDATED_DESCRIPTION); - assertThat(testValidationRule.getValidationScript()).isEqualTo(UPDATED_VALIDATION_SCRIPT); - assertThat(testValidationRule.getRuleType()).isEqualTo(UPDATED_RULE_TYPE); - } - - @Test - void patchNonExistingValidationRule() throws Exception { - int databaseSizeBeforeUpdate = validationRuleRepository.findAll().size(); - validationRule.setId(UUID.randomUUID().toString()); - - // Create the ValidationRule - ValidationRuleDTO validationRuleDTO = validationRuleMapper.toDto(validationRule); - - // If the entity doesn't have an ID, it will throw BadRequestAlertException - restValidationRuleMockMvc - .perform( - patch(ENTITY_API_URL_ID, validationRuleDTO.getId()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(validationRuleDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the ValidationRule in the database - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void patchWithIdMismatchValidationRule() throws Exception { - int databaseSizeBeforeUpdate = validationRuleRepository.findAll().size(); - validationRule.setId(UUID.randomUUID().toString()); - - // Create the ValidationRule - ValidationRuleDTO validationRuleDTO = validationRuleMapper.toDto(validationRule); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restValidationRuleMockMvc - .perform( - patch(ENTITY_API_URL_ID, UUID.randomUUID().toString()) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(validationRuleDTO)) - ) - .andExpect(status().isBadRequest()); - - // Validate the ValidationRule in the database - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void patchWithMissingIdPathParamValidationRule() throws Exception { - int databaseSizeBeforeUpdate = validationRuleRepository.findAll().size(); - validationRule.setId(UUID.randomUUID().toString()); - - // Create the ValidationRule - ValidationRuleDTO validationRuleDTO = validationRuleMapper.toDto(validationRule); - - // If url ID doesn't match entity ID, it will throw BadRequestAlertException - restValidationRuleMockMvc - .perform( - patch(ENTITY_API_URL) - .contentType("application/merge-patch+json") - .content(TestUtil.convertObjectToJsonBytes(validationRuleDTO)) - ) - .andExpect(status().isMethodNotAllowed()); - - // Validate the ValidationRule in the database - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeUpdate); - } - - @Test - void deleteValidationRule() throws Exception { - // Initialize the database - validationRuleRepository.save(validationRule); - - int databaseSizeBeforeDelete = validationRuleRepository.findAll().size(); - - // Delete the validationRule - restValidationRuleMockMvc - .perform(delete(ENTITY_API_URL_ID, validationRule.getId()).accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isNoContent()); - - // Validate the database contains one less item - List validationRuleList = validationRuleRepository.findAll(); - assertThat(validationRuleList).hasSize(databaseSizeBeforeDelete - 1); - } -}