PersonalSchedulesController.java

1
package edu.ucsb.cs156.courses.controllers;
2
3
import edu.ucsb.cs156.courses.entities.PersonalSchedule;
4
import edu.ucsb.cs156.courses.entities.User;
5
import edu.ucsb.cs156.courses.errors.EntityNotFoundException;
6
import edu.ucsb.cs156.courses.models.CurrentUser;
7
import edu.ucsb.cs156.courses.repositories.PersonalScheduleRepository;
8
import io.swagger.annotations.Api;
9
import io.swagger.annotations.ApiOperation;
10
import io.swagger.annotations.ApiParam;
11
import io.swagger.annotations.ApiResponse;
12
import lombok.extern.slf4j.Slf4j;
13
14
import com.fasterxml.jackson.core.JsonProcessingException;
15
import com.fasterxml.jackson.databind.ObjectMapper;
16
17
import org.springframework.beans.factory.annotation.Autowired;
18
import org.springframework.http.ResponseEntity;
19
import org.springframework.security.access.prepost.PreAuthorize;
20
import org.springframework.web.bind.annotation.DeleteMapping;
21
import org.springframework.web.bind.annotation.GetMapping;
22
import org.springframework.web.bind.annotation.PostMapping;
23
import org.springframework.web.bind.annotation.PutMapping;
24
import org.springframework.web.bind.annotation.RequestBody;
25
import org.springframework.web.bind.annotation.RequestMapping;
26
import org.springframework.web.bind.annotation.RequestParam;
27
import org.springframework.web.bind.annotation.RestController;
28
29
import javax.validation.Valid;
30
import java.util.Optional;
31
32
@Api(description = "PersonalSchedules")
33
@RequestMapping("/api/personalschedules")
34
@RestController
35
@Slf4j
36
public class PersonalSchedulesController extends ApiController {
37
38
    @Autowired
39
    PersonalScheduleRepository personalscheduleRepository;
40
41
    @ApiOperation(value = "List all personal schedules")
42
    @PreAuthorize("hasRole('ROLE_ADMIN')")
43
    @GetMapping("/admin/all")
44
    public Iterable<PersonalSchedule> allUsersSchedules() {
45
        Iterable<PersonalSchedule> personalschedules = personalscheduleRepository.findAll();
46 1 1. allUsersSchedules : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::allUsersSchedules → KILLED
        return personalschedules;
47
    }
48
49
    @ApiOperation(value = "List this user's personal schedules")
50
    @PreAuthorize("hasRole('ROLE_USER')")
51
    @GetMapping("/all")
52
    public Iterable<PersonalSchedule> thisUsersSchedules() {
53
        CurrentUser currentUser = getCurrentUser();
54
        Iterable<PersonalSchedule> personalschedules = personalscheduleRepository.findAllByUserId(currentUser.getUser().getId());
55 1 1. thisUsersSchedules : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::thisUsersSchedules → KILLED
        return personalschedules;
56
    }
57
58
    @ApiOperation(value = "Get a single personal schedule (if it belongs to current user)")
59
    @PreAuthorize("hasRole('ROLE_USER')")
60
    @GetMapping("")
61
    public PersonalSchedule getScheduleById(
62
            @ApiParam("id") @RequestParam Long id) {
63
        User currentUser = getCurrentUser().getUser();
64
        PersonalSchedule personalschedule = personalscheduleRepository.findByIdAndUser(id, currentUser)
65 1 1. lambda$getScheduleById$0 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$getScheduleById$0 → KILLED
          .orElseThrow(() -> new EntityNotFoundException(PersonalSchedule.class, id));
66
67 1 1. getScheduleById : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::getScheduleById → KILLED
        return personalschedule;
68
    }
69
70
    @ApiOperation(value = "Get a single personal schedule (no matter who it belongs to, admin only)")
71
    @PreAuthorize("hasRole('ROLE_ADMIN')")
72
    @GetMapping("/admin")
73
    public PersonalSchedule getScheduleById_admin(
74
            @ApiParam("id") @RequestParam Long id) {
75
              PersonalSchedule personalschedule = personalscheduleRepository.findById(id)
76 1 1. lambda$getScheduleById_admin$1 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$getScheduleById_admin$1 → KILLED
          .orElseThrow(() -> new EntityNotFoundException(PersonalSchedule.class, id));
77
78 1 1. getScheduleById_admin : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::getScheduleById_admin → KILLED
        return personalschedule;
79
    }
80
81
    @ApiOperation(value = "Create a new personal schedule")
82
    @PreAuthorize("hasRole('ROLE_USER')")
83
    @PostMapping("/post")
84
    public PersonalSchedule postSchedule(
85
            @ApiParam("name") @RequestParam String name,
86
            @ApiParam("description") @RequestParam String description,
87
            @ApiParam("quarter") @RequestParam String quarter) {
88
        CurrentUser currentUser = getCurrentUser();
89
        log.info("currentUser={}", currentUser);
90
91
        // Checks length of name parameter (length should be 15 chars or less, nonzero)
92 2 1. postSchedule : changed conditional boundary → KILLED
2. postSchedule : negated conditional → KILLED
        if (name.length() > 15) {
93
          throw new IllegalArgumentException("name parameter restricted to 15 chars or less");
94
        }
95
96
        PersonalSchedule personalschedule = new PersonalSchedule();
97 1 1. postSchedule : removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setUser → KILLED
        personalschedule.setUser(currentUser.getUser());
98 1 1. postSchedule : removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setName → KILLED
        personalschedule.setName(name);
99 1 1. postSchedule : removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setDescription → KILLED
        personalschedule.setDescription(description);
100 1 1. postSchedule : removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setQuarter → KILLED
        personalschedule.setQuarter(quarter);
101
102
        Optional<PersonalSchedule> existCheck = personalscheduleRepository.findByUserAndNameAndQuarter(currentUser.getUser(), name, quarter);
103 1 1. postSchedule : negated conditional → KILLED
        if (existCheck.isPresent()) {
104
          throw new IllegalArgumentException("A personal schedule with that name already exists in that quarter");
105
        }
106
        PersonalSchedule savedPersonalSchedule = personalscheduleRepository.save(personalschedule);
107 1 1. postSchedule : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::postSchedule → KILLED
        return savedPersonalSchedule;
108
    }
109
110
    @ApiOperation(value = "Delete a personal schedule owned by this user")
111
    @PreAuthorize("hasRole('ROLE_USER')")
112
    @DeleteMapping("")
113
    public Object deleteSchedule(
114
            @ApiParam("id") @RequestParam Long id) {
115
        User currentUser = getCurrentUser().getUser();
116
        PersonalSchedule personalschedule = personalscheduleRepository.findByIdAndUser(id, currentUser)
117 1 1. lambda$deleteSchedule$2 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$deleteSchedule$2 → KILLED
          .orElseThrow(() -> new EntityNotFoundException(PersonalSchedule.class, id));
118
119 1 1. deleteSchedule : removed call to edu/ucsb/cs156/courses/repositories/PersonalScheduleRepository::delete → KILLED
          personalscheduleRepository.delete(personalschedule);
120
121 1 1. deleteSchedule : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::deleteSchedule → KILLED
        return genericMessage("PersonalSchedule with id %s deleted".formatted(id));
122
123
    }
124
125
    @ApiOperation(value = "Delete another user's personal schedule")
126
    @PreAuthorize("hasRole('ROLE_ADMIN')")
127
    @DeleteMapping("/admin")
128
    public Object deleteSchedule_Admin(
129
            @ApiParam("id") @RequestParam Long id) {
130
              PersonalSchedule personalschedule = personalscheduleRepository.findById(id)
131 1 1. lambda$deleteSchedule_Admin$3 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$deleteSchedule_Admin$3 → KILLED
          .orElseThrow(() -> new EntityNotFoundException(PersonalSchedule.class, id));
132
133 1 1. deleteSchedule_Admin : removed call to edu/ucsb/cs156/courses/repositories/PersonalScheduleRepository::delete → KILLED
          personalscheduleRepository.delete(personalschedule);
134
135 1 1. deleteSchedule_Admin : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::deleteSchedule_Admin → KILLED
        return genericMessage("PersonalSchedule with id %s deleted".formatted(id));
136
    }
137
138
    @ApiOperation(value = "Update a single personal schedule (if it belongs to current user)")
139
    @PreAuthorize("hasRole('ROLE_USER')")
140
    @PutMapping("")
141
    public PersonalSchedule putScheduleById(
142
            @ApiParam("id") @RequestParam Long id,
143
            @RequestBody @Valid PersonalSchedule incomingSchedule) {
144
        User currentUser = getCurrentUser().getUser();
145
        PersonalSchedule personalschedule = personalscheduleRepository.findByIdAndUser(id, currentUser)
146 1 1. lambda$putScheduleById$4 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$putScheduleById$4 → KILLED
          .orElseThrow(() -> new EntityNotFoundException(PersonalSchedule.class, id));
147
148 1 1. putScheduleById : removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setName → KILLED
        personalschedule.setName(incomingSchedule.getName());
149 1 1. putScheduleById : removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setDescription → KILLED
        personalschedule.setDescription(incomingSchedule.getDescription());
150 1 1. putScheduleById : removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setQuarter → KILLED
        personalschedule.setQuarter(incomingSchedule.getQuarter());
151
152
        personalscheduleRepository.save(personalschedule);
153
154 1 1. putScheduleById : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::putScheduleById → KILLED
        return personalschedule;
155
    }
156
157
    @ApiOperation(value = "Update a single Schedule (regardless of ownership, admin only, can't change ownership)")
158
    @PreAuthorize("hasRole('ROLE_ADMIN')")
159
    @PutMapping("/admin")
160
    public PersonalSchedule putScheduleById_admin(
161
            @ApiParam("id") @RequestParam Long id,
162
            @RequestBody @Valid PersonalSchedule incomingSchedule) {
163
              PersonalSchedule personalschedule = personalscheduleRepository.findById(id)
164 1 1. lambda$putScheduleById_admin$5 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$putScheduleById_admin$5 → KILLED
          .orElseThrow(() -> new EntityNotFoundException(PersonalSchedule.class, id));
165
166 1 1. putScheduleById_admin : removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setName → KILLED
        personalschedule.setName(incomingSchedule.getName());
167 1 1. putScheduleById_admin : removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setDescription → KILLED
        personalschedule.setDescription(incomingSchedule.getDescription());
168 1 1. putScheduleById_admin : removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setQuarter → KILLED
        personalschedule.setQuarter(incomingSchedule.getQuarter());
169
170
        personalscheduleRepository.save(personalschedule);
171
172 1 1. putScheduleById_admin : replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::putScheduleById_admin → KILLED
        return personalschedule;
173
    }
174
    
175
}

Mutations

46

1.1
Location : allUsersSchedules
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules_admin_all__admin_logged_in__returns_all_schedules()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::allUsersSchedules → KILLED

55

1.1
Location : thisUsersSchedules
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules_all__user_logged_in__returns_only_schedules_for_user()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::thisUsersSchedules → KILLED

65

1.1
Location : lambda$getScheduleById$0
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__user_logged_in__search_for_schedules_that_belongs_to_another_user()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$getScheduleById$0 → KILLED

67

1.1
Location : getScheduleById
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__user_logged_in__returns_a_schedules_that_exists()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::getScheduleById → KILLED

76

1.1
Location : lambda$getScheduleById_admin$1
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__admin_logged_in__search_for_schedule_that_does_not_exist()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$getScheduleById_admin$1 → KILLED

78

1.1
Location : getScheduleById_admin
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__admin_logged_in__search_for_schedule_that_belongs_to_another_user()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::getScheduleById_admin → KILLED

92

1.1
Location : postSchedule
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__user_logged_in__can_post_15_char_name()]
changed conditional boundary → KILLED

2.2
Location : postSchedule
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__admin_logged_in__cannot_post_long_name()]
negated conditional → KILLED

97

1.1
Location : postSchedule
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules_post__user_logged_in()]
removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setUser → KILLED

98

1.1
Location : postSchedule
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules_post__user_logged_in()]
removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setName → KILLED

99

1.1
Location : postSchedule
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules_post__user_logged_in()]
removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setDescription → KILLED

100

1.1
Location : postSchedule
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules_post__user_logged_in()]
removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setQuarter → KILLED

103

1.1
Location : postSchedule
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:cannot_add_two_personal_schedules_with_same_name_and_quarter()]
negated conditional → KILLED

107

1.1
Location : postSchedule
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules_post__user_logged_in()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::postSchedule → KILLED

117

1.1
Location : lambda$deleteSchedule$2
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__user_logged_in__delete_schedule_that_does_not_exist()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$deleteSchedule$2 → KILLED

119

1.1
Location : deleteSchedule
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__user_logged_in__delete_schedule()]
removed call to edu/ucsb/cs156/courses/repositories/PersonalScheduleRepository::delete → KILLED

121

1.1
Location : deleteSchedule
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__user_logged_in__delete_schedule()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::deleteSchedule → KILLED

131

1.1
Location : lambda$deleteSchedule_Admin$3
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__admin_logged_in__cannot_delete_schedule_that_does_not_exist()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$deleteSchedule_Admin$3 → KILLED

133

1.1
Location : deleteSchedule_Admin
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__admin_logged_in__delete_schedule()]
removed call to edu/ucsb/cs156/courses/repositories/PersonalScheduleRepository::delete → KILLED

135

1.1
Location : deleteSchedule_Admin
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__admin_logged_in__delete_schedule()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::deleteSchedule_Admin → KILLED

146

1.1
Location : lambda$putScheduleById$4
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__user_logged_in__cannot_put_schedule_for_another_user()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$putScheduleById$4 → KILLED

148

1.1
Location : putScheduleById
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__user_logged_in__put_schedule()]
removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setName → KILLED

149

1.1
Location : putScheduleById
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__user_logged_in__put_schedule()]
removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setDescription → KILLED

150

1.1
Location : putScheduleById
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__user_logged_in__put_schedule()]
removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setQuarter → KILLED

154

1.1
Location : putScheduleById
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__user_logged_in__put_schedule()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::putScheduleById → KILLED

164

1.1
Location : lambda$putScheduleById_admin$5
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__admin_logged_in__cannot_put_schedule_that_does_not_exist()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::lambda$putScheduleById_admin$5 → KILLED

166

1.1
Location : putScheduleById_admin
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__admin_logged_in__put_schedule()]
removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setName → KILLED

167

1.1
Location : putScheduleById_admin
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__admin_logged_in__put_schedule()]
removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setDescription → KILLED

168

1.1
Location : putScheduleById_admin
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__admin_logged_in__put_schedule()]
removed call to edu/ucsb/cs156/courses/entities/PersonalSchedule::setQuarter → KILLED

172

1.1
Location : putScheduleById_admin
Killed by : edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PersonalSchedulesControllerTests]/[method:api_schedules__admin_logged_in__put_schedule()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/PersonalSchedulesController::putScheduleById_admin → KILLED

Active mutators

Tests examined


Report generated by PIT 1.7.3