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

Mutations

54

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

57

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