User.java

1
package edu.ucsb.cs156.dining.entities;
2
3
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
4
import com.fasterxml.jackson.annotation.JsonIgnore;
5
import com.fasterxml.jackson.databind.ser.std.StdKeySerializers.Default;
6
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
7
import edu.ucsb.cs156.dining.statuses.ModerationStatus;
8
import jakarta.persistence.*;
9
import lombok.*;
10
import org.hibernate.annotations.Fetch;
11
import org.hibernate.annotations.FetchMode;
12
13
import java.time.LocalDate;
14
import java.util.List;
15
16
/**
17
* This is a JPA entity that represents a user.
18
*/
19
20
@Data
21
@AllArgsConstructor
22
@NoArgsConstructor(access = AccessLevel.PROTECTED)
23
@Builder
24
@Entity(name = "users")
25
@JsonIdentityInfo(
26
        generator = ObjectIdGenerators.PropertyGenerator.class,
27
        property = "id")
28
public class User {
29
 @Id
30
 @GeneratedValue(strategy = GenerationType.IDENTITY)
31
 private long id;
32
 private String email;
33
 private String googleSub;
34
 private String pictureUrl;
35
 private String fullName;
36
 private String givenName;
37
 private String familyName;
38
 private boolean emailVerified;
39
 private String locale;
40
 private String hostedDomain;
41
 private String alias;
42
 private String proposedAlias;
43
 @Enumerated(EnumType.STRING)
44
 private ModerationStatus status;
45
 private LocalDate dateApproved;
46
 
47
 @Builder.Default
48
 private boolean admin=false;
49
 @Builder.Default
50
 private boolean moderator=false;
51
52
 @ToString.Exclude
53
 @OneToMany(mappedBy="reviewer")
54
 @Fetch(FetchMode.JOIN)
55
 private List<Review> reviews;
56
 
57
 public String getAlias() {
58 1 1. getAlias : negated conditional → KILLED
        if (this.alias == null) {
59
            this.alias = "Anonymous User"; 
60
        }
61 1 1. getAlias : replaced return value with "" for edu/ucsb/cs156/dining/entities/User::getAlias → KILLED
        return this.alias;
62
    }
63
}

Mutations

58

1.1
Location : getAlias
Killed by : edu.ucsb.cs156.dining.controllers.UsersControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.dining.controllers.UsersControllerTests]/[method:can_get_alias()]
negated conditional → KILLED

61

1.1
Location : getAlias
Killed by : edu.ucsb.cs156.dining.controllers.UsersControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.dining.controllers.UsersControllerTests]/[method:can_get_alias()]
replaced return value with "" for edu/ucsb/cs156/dining/entities/User::getAlias → KILLED

Active mutators

Tests examined


Report generated by PIT 1.17.0