Skip to content

Commit 3cb4a47

Browse files
feat: add repository layer test
also remove unused methods from repositories and modify model classes to avoid errors that were displayed by the tests
1 parent 67a2042 commit 3cb4a47

34 files changed

Lines changed: 1778 additions & 15 deletions

pom.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,20 @@
5757
<scope>test</scope>
5858
</dependency>
5959

60+
<!-- Source: https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test -->
61+
<dependency>
62+
<groupId>org.springframework.boot</groupId>
63+
<artifactId>spring-boot-starter-test</artifactId>
64+
<version>4.1.0-M2</version>
65+
<scope>test</scope>
66+
</dependency>
67+
68+
<dependency>
69+
<groupId>org.springframework.boot</groupId>
70+
<artifactId>spring-boot-starter-data-jpa-test</artifactId>
71+
<scope>test</scope>
72+
</dependency>
73+
6074
<!-- Source: https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
6175
<dependency>
6276
<groupId>com.mysql</groupId>

src/main/java/com/vianavitor/simplelibrarygame/dto/utils/UserInfo.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
public record UserInfo(
44
Long id,
5-
String password
5+
String password,
6+
Boolean active
67
) {
78
}

src/main/java/com/vianavitor/simplelibrarygame/model/Administrator.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,16 @@
33
import com.vianavitor.simplelibrarygame.model.utils.classes.User;
44
import jakarta.persistence.DiscriminatorValue;
55
import jakarta.persistence.Entity;
6+
import org.springframework.beans.factory.annotation.Autowired;
67

78
@Entity
89
@DiscriminatorValue("adm")
910
public class Administrator extends User {
11+
@Autowired
12+
public Administrator() {
13+
}
14+
15+
public Administrator(String username, String password) {
16+
super(username, password);
17+
}
1018
}

src/main/java/com/vianavitor/simplelibrarygame/model/Author.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import jakarta.persistence.*;
44

5+
import java.util.ArrayList;
56
import java.util.List;
67

78
@Entity
@@ -14,7 +15,7 @@ public class Author {
1415
private String name;
1516

1617
@ManyToMany(mappedBy = "bookAuthors")
17-
private List<Book> books;
18+
private List<Book> books = new ArrayList<>();
1819

1920
public Long getId() {
2021
return id;

src/main/java/com/vianavitor/simplelibrarygame/model/BookReadHistory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ public class BookReadHistory {
2121
@Column(columnDefinition = "int not null default 0")
2222
private int lastPageRead;
2323

24-
@Column(columnDefinition = "date not null default (current_date())")
25-
private LocalDate lastUpdate;
24+
@Column(nullable = false)
25+
private LocalDate lastUpdate = LocalDate.now();
2626

2727
public Long getId() {
2828
return id;

src/main/java/com/vianavitor/simplelibrarygame/model/Librarian.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,18 @@
33
import com.vianavitor.simplelibrarygame.model.utils.classes.User;
44
import jakarta.persistence.DiscriminatorValue;
55
import jakarta.persistence.Entity;
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
8+
import java.time.LocalDate;
69

710
@Entity
811
@DiscriminatorValue("librarian")
912
public class Librarian extends User {
13+
@Autowired
14+
public Librarian() {
15+
}
16+
17+
public Librarian(String username, String password) {
18+
super(username, password);
19+
}
1020
}

src/main/java/com/vianavitor/simplelibrarygame/model/Professor.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,16 @@
33
import com.vianavitor.simplelibrarygame.model.utils.classes.UserClassroom;
44
import jakarta.persistence.DiscriminatorValue;
55
import jakarta.persistence.Entity;
6+
import org.springframework.beans.factory.annotation.Autowired;
67

78
@Entity
89
@DiscriminatorValue("professor")
910
public class Professor extends UserClassroom {
11+
@Autowired
12+
public Professor() {
13+
}
14+
15+
public Professor(String username, String password) {
16+
super(username, password);
17+
}
1018
}

src/main/java/com/vianavitor/simplelibrarygame/model/Student.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.vianavitor.simplelibrarygame.model.utils.classes.UserClassroom;
44
import jakarta.persistence.*;
5+
import org.springframework.beans.factory.annotation.Autowired;
56

67
import java.util.HashSet;
78
import java.util.Set;
@@ -20,6 +21,14 @@ public class Student extends UserClassroom {
2021
)
2122
private Set<Genre> favoriteGenre = new HashSet<>();
2223

24+
@Autowired
25+
public Student() {
26+
}
27+
28+
public Student(String username, String password) {
29+
super(username, password);
30+
}
31+
2332
public StudentStats getStats() {
2433
return stats;
2534
}

src/main/java/com/vianavitor/simplelibrarygame/model/utils/classes/User.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.vianavitor.simplelibrarygame.model.utils.classes;
22

33
import jakarta.persistence.*;
4+
import org.hibernate.annotations.ColumnDefault;
5+
import org.hibernate.annotations.DynamicInsert;
46
import org.springframework.beans.factory.annotation.Autowired;
57

68
import java.time.LocalDate;
@@ -19,10 +21,10 @@ public abstract class User {
1921
private String username;
2022
private String password;
2123

22-
@Column(columnDefinition = "date not null default (current_date())")
24+
@Column(columnDefinition = "date default (current_date())")
2325
private LocalDate lastLogin;
2426

25-
@Column(columnDefinition = "bit(1) not null default b'1'")
27+
@Column(columnDefinition = "bit default b'1'", nullable = false)
2628
private boolean active;
2729

2830
@Autowired
@@ -31,6 +33,7 @@ public User() {}
3133
public User(String username, String password) {
3234
this.username = username;
3335
this.password = password;
36+
this.active = true;
3437
}
3538

3639
public Long getId() {

src/main/java/com/vianavitor/simplelibrarygame/model/utils/classes/UserClassroom.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import jakarta.persistence.JoinColumn;
66
import jakarta.persistence.JoinTable;
77
import jakarta.persistence.ManyToMany;
8+
import org.springframework.beans.factory.annotation.Autowired;
89

910
import java.util.HashSet;
1011
import java.util.Set;
@@ -19,6 +20,14 @@ public abstract class UserClassroom extends User {
1920
)
2021
private Set<Classroom> classrooms = new HashSet<>();
2122

23+
@Autowired
24+
public UserClassroom() {
25+
}
26+
27+
public UserClassroom(String username, String password) {
28+
super(username, password);
29+
}
30+
2231
public Set<Classroom> getClassrooms() {
2332
return classrooms;
2433
}

0 commit comments

Comments
 (0)