|
1
|
|
package edu.ucsb.cs156.courses.controllers; |
|
2
|
|
|
|
3
|
|
import com.fasterxml.jackson.core.JsonProcessingException; |
|
4
|
|
import com.fasterxml.jackson.databind.JsonNode; |
|
5
|
|
import com.fasterxml.jackson.databind.ObjectMapper; |
|
6
|
|
import edu.ucsb.cs156.courses.entities.PSCourse; |
|
7
|
|
import edu.ucsb.cs156.courses.entities.PersonalSchedule; |
|
8
|
|
import edu.ucsb.cs156.courses.entities.User; |
|
9
|
|
import edu.ucsb.cs156.courses.errors.BadEnrollCdException; |
|
10
|
|
import edu.ucsb.cs156.courses.errors.EntityNotFoundException; |
|
11
|
|
import edu.ucsb.cs156.courses.models.CurrentUser; |
|
12
|
|
import edu.ucsb.cs156.courses.repositories.PSCourseRepository; |
|
13
|
|
import edu.ucsb.cs156.courses.repositories.PersonalScheduleRepository; |
|
14
|
|
import edu.ucsb.cs156.courses.services.UCSBCurriculumService; |
|
15
|
|
import io.swagger.v3.oas.annotations.Operation; |
|
16
|
|
import io.swagger.v3.oas.annotations.Parameter; |
|
17
|
|
import io.swagger.v3.oas.annotations.tags.Tag; |
|
18
|
|
import java.util.ArrayList; |
|
19
|
|
import java.util.Iterator; |
|
20
|
|
import java.util.Optional; |
|
21
|
|
import javax.validation.Valid; |
|
22
|
|
import lombok.extern.slf4j.Slf4j; |
|
23
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
24
|
|
import org.springframework.security.access.prepost.PreAuthorize; |
|
25
|
|
import org.springframework.web.bind.annotation.DeleteMapping; |
|
26
|
|
import org.springframework.web.bind.annotation.GetMapping; |
|
27
|
|
import org.springframework.web.bind.annotation.PostMapping; |
|
28
|
|
import org.springframework.web.bind.annotation.PutMapping; |
|
29
|
|
import org.springframework.web.bind.annotation.RequestBody; |
|
30
|
|
import org.springframework.web.bind.annotation.RequestMapping; |
|
31
|
|
import org.springframework.web.bind.annotation.RequestParam; |
|
32
|
|
import org.springframework.web.bind.annotation.RestController; |
|
33
|
|
|
|
34
|
|
@Tag(name = "PSCourse") |
|
35
|
|
@RequestMapping("/api/courses") |
|
36
|
|
@RestController |
|
37
|
|
@Slf4j |
|
38
|
|
public class PSCourseController extends ApiController { |
|
39
|
|
|
|
40
|
|
@Autowired PSCourseRepository coursesRepository; |
|
41
|
|
@Autowired PersonalScheduleRepository personalScheduleRepository; |
|
42
|
|
@Autowired UCSBCurriculumService ucsbCurriculumService; |
|
43
|
|
@Autowired ObjectMapper mapper; |
|
44
|
|
|
|
45
|
|
@Operation(summary = "List all courses (admin)") |
|
46
|
|
@PreAuthorize("hasRole('ROLE_ADMIN')") |
|
47
|
|
@GetMapping("/admin/all") |
|
48
|
|
public Iterable<PSCourse> allUsersCourses() { |
|
49
|
|
Iterable<PSCourse> courses = coursesRepository.findAll(); |
|
50
|
1
1. allUsersCourses : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::allUsersCourses → KILLED
|
return courses; |
|
51
|
|
} |
|
52
|
|
|
|
53
|
|
@Operation(summary = "List all courses (user)") |
|
54
|
|
@PreAuthorize("hasRole('ROLE_USER')") |
|
55
|
|
@GetMapping("/user/all") |
|
56
|
|
public Iterable<PSCourse> thisUsersCourses() { |
|
57
|
|
CurrentUser currentUser = getCurrentUser(); |
|
58
|
|
Iterable<PSCourse> courses = coursesRepository.findAllByUserId(currentUser.getUser().getId()); |
|
59
|
1
1. thisUsersCourses : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::thisUsersCourses → KILLED
|
return courses; |
|
60
|
|
} |
|
61
|
|
|
|
62
|
|
@Operation(summary = "List all courses for a specified psId (admin)") |
|
63
|
|
@PreAuthorize("hasRole('ROLE_ADMIN')") |
|
64
|
|
@GetMapping("/admin/psid/all") |
|
65
|
|
public Iterable<PSCourse> allCoursesForPsId(@Parameter(name = "psId") @RequestParam Long psId) { |
|
66
|
|
Iterable<PSCourse> courses = coursesRepository.findAllByPsId(psId); |
|
67
|
1
1. allCoursesForPsId : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::allCoursesForPsId → KILLED
|
return courses; |
|
68
|
|
} |
|
69
|
|
|
|
70
|
|
@Operation(summary = "List all courses for a specified psId (user)") |
|
71
|
|
@PreAuthorize("hasRole('ROLE_USER')") |
|
72
|
|
@GetMapping("/user/psid/all") |
|
73
|
|
public Iterable<PSCourse> thisUsersCoursesForPsId( |
|
74
|
|
@Parameter(name = "psId") @RequestParam Long psId) { |
|
75
|
|
User currentUser = getCurrentUser().getUser(); |
|
76
|
|
Iterable<PSCourse> courses = coursesRepository.findAllByPsIdAndUser(psId, currentUser); |
|
77
|
1
1. thisUsersCoursesForPsId : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::thisUsersCoursesForPsId → KILLED
|
return courses; |
|
78
|
|
} |
|
79
|
|
|
|
80
|
|
@Operation(summary = "Get a single course (admin)") |
|
81
|
|
@PreAuthorize("hasRole('ROLE_ADMIN')") |
|
82
|
|
@GetMapping("/admin") |
|
83
|
|
public PSCourse getCourseById_admin(@Parameter(name = "id") @RequestParam Long id) { |
|
84
|
|
PSCourse courses = |
|
85
|
|
coursesRepository |
|
86
|
|
.findById(id) |
|
87
|
1
1. lambda$getCourseById_admin$0 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$getCourseById_admin$0 → KILLED
|
.orElseThrow(() -> new EntityNotFoundException(PSCourse.class, id)); |
|
88
|
|
|
|
89
|
1
1. getCourseById_admin : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::getCourseById_admin → KILLED
|
return courses; |
|
90
|
|
} |
|
91
|
|
|
|
92
|
|
@Operation(summary = "Get a single course (user)") |
|
93
|
|
@PreAuthorize("hasRole('ROLE_USER')") |
|
94
|
|
@GetMapping("/user") |
|
95
|
|
public PSCourse getCourseById(@Parameter(name = "id") @RequestParam Long id) { |
|
96
|
|
User currentUser = getCurrentUser().getUser(); |
|
97
|
|
PSCourse courses = |
|
98
|
|
coursesRepository |
|
99
|
|
.findByIdAndUser(id, currentUser) |
|
100
|
1
1. lambda$getCourseById$1 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$getCourseById$1 → KILLED
|
.orElseThrow(() -> new EntityNotFoundException(PSCourse.class, id)); |
|
101
|
|
|
|
102
|
1
1. getCourseById : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::getCourseById → KILLED
|
return courses; |
|
103
|
|
} |
|
104
|
|
|
|
105
|
|
@Operation(summary = "Create a new course") |
|
106
|
|
@PreAuthorize("hasRole('ROLE_USER')") |
|
107
|
|
@PostMapping("/post") |
|
108
|
|
public ArrayList<PSCourse> postCourses( |
|
109
|
|
@Parameter(name = "enrollCd") @RequestParam String enrollCd, |
|
110
|
|
@Parameter(name = "psId") @RequestParam Long psId) |
|
111
|
|
throws JsonProcessingException { |
|
112
|
|
CurrentUser currentUser = getCurrentUser(); |
|
113
|
|
log.info("currentUser={}", currentUser); |
|
114
|
|
|
|
115
|
|
PersonalSchedule checkPsId = |
|
116
|
|
personalScheduleRepository |
|
117
|
|
.findByIdAndUser(psId, currentUser.getUser()) |
|
118
|
1
1. lambda$postCourses$2 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$postCourses$2 → KILLED
|
.orElseThrow(() -> new EntityNotFoundException(PersonalSchedule.class, psId)); |
|
119
|
|
|
|
120
|
|
String body = ucsbCurriculumService.getAllSections(enrollCd, checkPsId.getQuarter()); |
|
121
|
1
1. postCourses : negated conditional → KILLED
|
if (body.equals("{\"error\": \"401: Unauthorized\"}") |
|
122
|
1
1. postCourses : negated conditional → KILLED
|
|| body.equals("{\"error\": \"Enroll code doesn't exist in that quarter.\"}")) { |
|
123
|
|
throw new BadEnrollCdException(enrollCd); |
|
124
|
|
} |
|
125
|
|
|
|
126
|
|
String enrollCdPrimary = null; |
|
127
|
|
boolean hasSecondary = false; |
|
128
|
|
JsonNode courseInfo = mapper.readTree(body); |
|
129
|
|
Iterator<JsonNode> it = mapper.readTree(body).path("classSections").elements(); |
|
130
|
1
1. postCourses : negated conditional → KILLED
|
while (it.hasNext()) { |
|
131
|
|
JsonNode classSection = it.next(); |
|
132
|
|
String section = classSection.path("section").asText(); |
|
133
|
1
1. postCourses : negated conditional → KILLED
|
if (section.endsWith("00")) { |
|
134
|
|
String currentEnrollCd = classSection.path("enrollCode").asText(); |
|
135
|
|
enrollCdPrimary = currentEnrollCd; |
|
136
|
1
1. postCourses : negated conditional → KILLED
|
if (hasSecondary) break; |
|
137
|
|
} else { |
|
138
|
|
hasSecondary = true; |
|
139
|
|
} |
|
140
|
|
} |
|
141
|
|
|
|
142
|
1
1. postCourses : negated conditional → KILLED
|
if (enrollCdPrimary == null) { |
|
143
|
|
enrollCdPrimary = enrollCd; |
|
144
|
|
hasSecondary = false; |
|
145
|
|
} |
|
146
|
|
|
|
147
|
1
1. postCourses : negated conditional → KILLED
|
if (coursesRepository.findByPsIdAndEnrollCd(psId, enrollCdPrimary).isPresent()) { |
|
148
|
|
throw new IllegalArgumentException("class exists in schedule"); |
|
149
|
|
} |
|
150
|
|
|
|
151
|
|
String quarter_YYYYQ = checkPsId.getQuarter(); |
|
152
|
|
String psName = checkPsId.getName(); |
|
153
|
|
String courseName = courseInfo.get("courseId").toString(); |
|
154
|
|
|
|
155
|
1
1. postCourses : Replaced integer subtraction with addition → KILLED
|
courseName = courseName.substring(1, courseName.length() - 1); |
|
156
|
|
|
|
157
|
|
ArrayList<PSCourse> savedCourses = new ArrayList<>(); |
|
158
|
|
|
|
159
|
1
1. postCourses : negated conditional → KILLED
|
if (!enrollCdPrimary.equals(enrollCd)) { |
|
160
|
|
String enrollCdSecondary = enrollCd; |
|
161
|
|
PSCourse secondary = new PSCourse(); |
|
162
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setUser → KILLED
|
secondary.setUser(currentUser.getUser()); |
|
163
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setEnrollCd → KILLED
|
secondary.setEnrollCd(enrollCdSecondary); |
|
164
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsId → KILLED
|
secondary.setPsId(psId); |
|
165
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsName → KILLED
|
secondary.setPsName(psName); |
|
166
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setCourseName → KILLED
|
secondary.setCourseName(courseName); |
|
167
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setQuarter → KILLED
|
secondary.setQuarter(quarter_YYYYQ); |
|
168
|
|
PSCourse savedSecondary = coursesRepository.save(secondary); |
|
169
|
|
savedCourses.add(savedSecondary); |
|
170
|
1
1. postCourses : negated conditional → KILLED
|
} else if (hasSecondary) { |
|
171
|
|
throw new IllegalArgumentException( |
|
172
|
|
enrollCd |
|
173
|
|
+ " is for a course with sections; please add a specific section and the lecture will be automatically added"); |
|
174
|
|
} |
|
175
|
|
|
|
176
|
|
PSCourse primary = new PSCourse(); |
|
177
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setUser → KILLED
|
primary.setUser(currentUser.getUser()); |
|
178
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setEnrollCd → KILLED
|
primary.setEnrollCd(enrollCdPrimary); |
|
179
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsId → KILLED
|
primary.setPsId(psId); |
|
180
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsName → KILLED
|
primary.setPsName(psName); |
|
181
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setCourseName → KILLED
|
primary.setCourseName(courseName); |
|
182
|
1
1. postCourses : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setQuarter → KILLED
|
primary.setQuarter(quarter_YYYYQ); |
|
183
|
|
PSCourse savedPrimary = coursesRepository.save(primary); |
|
184
|
|
savedCourses.add(savedPrimary); |
|
185
|
1
1. postCourses : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::postCourses → KILLED
|
return savedCourses; |
|
186
|
|
} |
|
187
|
|
|
|
188
|
|
@Operation(summary = "Delete a course (admin)") |
|
189
|
|
@PreAuthorize("hasRole('ROLE_ADMIN')") |
|
190
|
|
@DeleteMapping("/admin") |
|
191
|
|
public Object deleteCourses_Admin(@Parameter(name = "id") @RequestParam Long id) { |
|
192
|
|
PSCourse courses = |
|
193
|
|
coursesRepository |
|
194
|
|
.findById(id) |
|
195
|
1
1. lambda$deleteCourses_Admin$3 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$deleteCourses_Admin$3 → KILLED
|
.orElseThrow(() -> new EntityNotFoundException(PSCourse.class, id)); |
|
196
|
|
|
|
197
|
1
1. deleteCourses_Admin : removed call to edu/ucsb/cs156/courses/repositories/PSCourseRepository::delete → KILLED
|
coursesRepository.delete(courses); |
|
198
|
|
|
|
199
|
1
1. deleteCourses_Admin : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourses_Admin → KILLED
|
return genericMessage("PSCourse with id %s deleted".formatted(id)); |
|
200
|
|
} |
|
201
|
|
|
|
202
|
|
@Operation(summary = "Delete a course (user)") |
|
203
|
|
@PreAuthorize("hasRole('ROLE_USER')") |
|
204
|
|
@DeleteMapping("/user") |
|
205
|
|
public Object deleteCourses(@Parameter(name = "id") @RequestParam Long id) |
|
206
|
|
throws JsonProcessingException { |
|
207
|
|
User currentUser = getCurrentUser().getUser(); |
|
208
|
|
PSCourse psCourse = |
|
209
|
|
coursesRepository |
|
210
|
|
.findByIdAndUser(id, currentUser) |
|
211
|
1
1. lambda$deleteCourses$4 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$deleteCourses$4 → KILLED
|
.orElseThrow(() -> new EntityNotFoundException(PSCourse.class, id)); |
|
212
|
|
long psId = psCourse.getPsId(); |
|
213
|
|
PersonalSchedule checkPsId = |
|
214
|
|
personalScheduleRepository |
|
215
|
|
.findByIdAndUser(psId, currentUser) |
|
216
|
1
1. lambda$deleteCourses$5 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$deleteCourses$5 → KILLED
|
.orElseThrow(() -> new EntityNotFoundException(PersonalSchedule.class, psId)); |
|
217
|
|
|
|
218
|
|
String body = |
|
219
|
|
ucsbCurriculumService.getAllSections(psCourse.getEnrollCd(), checkPsId.getQuarter()); |
|
220
|
1
1. deleteCourses : negated conditional → KILLED
|
if (body.equals("{\"error\": \"401: Unauthorized\"}") |
|
221
|
1
1. deleteCourses : negated conditional → KILLED
|
|| body.equals("{\"error\": \"Enroll code doesn't exist in that quarter.\"}")) { |
|
222
|
1
1. deleteCourses : removed call to edu/ucsb/cs156/courses/repositories/PSCourseRepository::delete → KILLED
|
coursesRepository.delete(psCourse); |
|
223
|
1
1. deleteCourses : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourses → KILLED
|
return genericMessage("PSCourse with id %s deleted".formatted(id)); |
|
224
|
|
} |
|
225
|
|
|
|
226
|
|
Iterator<JsonNode> it = mapper.readTree(body).path("classSections").elements(); |
|
227
|
|
Optional<Long> primaryId = Optional.empty(); |
|
228
|
|
Optional<Long> secondaryId = Optional.empty(); |
|
229
|
1
1. deleteCourses : negated conditional → KILLED
|
while (it.hasNext()) { |
|
230
|
|
JsonNode classSection = it.next(); |
|
231
|
|
String section = classSection.path("section").asText(); |
|
232
|
|
String currentEnrollCd = classSection.path("enrollCode").asText(); |
|
233
|
|
Optional<PSCourse> currentPsCourse = |
|
234
|
|
coursesRepository.findByPsIdAndEnrollCd(psId, currentEnrollCd); |
|
235
|
1
1. deleteCourses : negated conditional → KILLED
|
if (!currentPsCourse.isPresent()) continue; |
|
236
|
|
Optional<Long> idOpt = Optional.of(currentPsCourse.get().getId()); |
|
237
|
1
1. deleteCourses : negated conditional → KILLED
|
if (section.endsWith("00")) primaryId = idOpt; |
|
238
|
|
else secondaryId = idOpt; |
|
239
|
1
1. deleteCourses : removed call to edu/ucsb/cs156/courses/repositories/PSCourseRepository::delete → KILLED
|
coursesRepository.delete(currentPsCourse.get()); |
|
240
|
|
} |
|
241
|
|
|
|
242
|
2
1. deleteCourses : negated conditional → KILLED
2. deleteCourses : negated conditional → KILLED
|
if (primaryId.isPresent() && secondaryId.isPresent()) { |
|
243
|
1
1. deleteCourses : negated conditional → KILLED
|
if (primaryId.get() == id) |
|
244
|
1
1. deleteCourses : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourses → KILLED
|
return genericMessage( |
|
245
|
|
"PSCourse with id %s and matching secondary with id %s deleted" |
|
246
|
|
.formatted(id, secondaryId.get())); |
|
247
|
|
else |
|
248
|
1
1. deleteCourses : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourses → KILLED
|
return genericMessage( |
|
249
|
|
"PSCourse with id %s and matching primary with id %s deleted" |
|
250
|
|
.formatted(id, primaryId.get())); |
|
251
|
|
} |
|
252
|
|
|
|
253
|
1
1. deleteCourses : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourses → KILLED
|
return genericMessage("PSCourse with id %s deleted".formatted(id)); |
|
254
|
|
} |
|
255
|
|
|
|
256
|
|
@Operation(summary = "Delete a course by psId and enrollCd (user)") |
|
257
|
|
@PreAuthorize("hasRole('ROLE_USER')") |
|
258
|
|
@DeleteMapping("/user/deleteByPsIdAndEnrollCd") |
|
259
|
|
public Object deleteCourseByPsIdAndEnrollCd( |
|
260
|
|
@Parameter(name = "psId") @RequestParam Long psId, |
|
261
|
|
@Parameter(name = "enrollCd") @RequestParam String enrollCd) |
|
262
|
|
throws JsonProcessingException { |
|
263
|
|
User currentUser = getCurrentUser().getUser(); |
|
264
|
|
PSCourse psCourse = |
|
265
|
|
coursesRepository |
|
266
|
|
.findByPsIdAndEnrollCd(psId, enrollCd) |
|
267
|
1
1. lambda$deleteCourseByPsIdAndEnrollCd$6 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$deleteCourseByPsIdAndEnrollCd$6 → KILLED
|
.orElseThrow(() -> new EntityNotFoundException(PSCourse.class, psId)); |
|
268
|
|
long id = psCourse.getId(); |
|
269
|
|
|
|
270
|
|
// do i really need this?????? |
|
271
|
|
PersonalSchedule checkId = |
|
272
|
|
personalScheduleRepository |
|
273
|
|
.findByIdAndUser(psId, currentUser) |
|
274
|
1
1. lambda$deleteCourseByPsIdAndEnrollCd$7 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$deleteCourseByPsIdAndEnrollCd$7 → KILLED
|
.orElseThrow(() -> new EntityNotFoundException(PersonalSchedule.class, psId)); |
|
275
|
|
|
|
276
|
|
String body = |
|
277
|
|
ucsbCurriculumService.getAllSections(psCourse.getEnrollCd(), checkId.getQuarter()); |
|
278
|
1
1. deleteCourseByPsIdAndEnrollCd : negated conditional → KILLED
|
if (body.equals("{\"error\": \"401: Unauthorized\"}") |
|
279
|
1
1. deleteCourseByPsIdAndEnrollCd : negated conditional → KILLED
|
|| body.equals("{\"error\": \"Enroll code doesn't exist in that quarter.\"}")) { |
|
280
|
1
1. deleteCourseByPsIdAndEnrollCd : removed call to edu/ucsb/cs156/courses/repositories/PSCourseRepository::delete → KILLED
|
coursesRepository.delete(psCourse); |
|
281
|
1
1. deleteCourseByPsIdAndEnrollCd : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourseByPsIdAndEnrollCd → KILLED
|
return genericMessage("PSCourse with id %s deleted".formatted(id)); |
|
282
|
|
} |
|
283
|
|
|
|
284
|
|
Iterator<JsonNode> it = mapper.readTree(body).path("classSections").elements(); |
|
285
|
|
Optional<Long> primaryId = Optional.empty(); |
|
286
|
|
Optional<Long> secondaryId = Optional.empty(); |
|
287
|
1
1. deleteCourseByPsIdAndEnrollCd : negated conditional → KILLED
|
while (it.hasNext()) { |
|
288
|
|
JsonNode classSection = it.next(); |
|
289
|
|
String section = classSection.path("section").asText(); |
|
290
|
|
String currentEnrollCd = classSection.path("enrollCode").asText(); |
|
291
|
|
Optional<PSCourse> currentPsCourse = |
|
292
|
|
coursesRepository.findByPsIdAndEnrollCd(psId, currentEnrollCd); |
|
293
|
1
1. deleteCourseByPsIdAndEnrollCd : negated conditional → KILLED
|
if (!currentPsCourse.isPresent()) continue; |
|
294
|
|
Optional<Long> idOpt = Optional.of(currentPsCourse.get().getId()); |
|
295
|
1
1. deleteCourseByPsIdAndEnrollCd : negated conditional → KILLED
|
if (section.endsWith("00")) primaryId = idOpt; |
|
296
|
|
else secondaryId = idOpt; |
|
297
|
1
1. deleteCourseByPsIdAndEnrollCd : removed call to edu/ucsb/cs156/courses/repositories/PSCourseRepository::delete → KILLED
|
coursesRepository.delete(currentPsCourse.get()); |
|
298
|
|
} |
|
299
|
|
|
|
300
|
2
1. deleteCourseByPsIdAndEnrollCd : negated conditional → KILLED
2. deleteCourseByPsIdAndEnrollCd : negated conditional → KILLED
|
if (primaryId.isPresent() && secondaryId.isPresent()) { |
|
301
|
1
1. deleteCourseByPsIdAndEnrollCd : negated conditional → KILLED
|
if (primaryId.get() == id) |
|
302
|
1
1. deleteCourseByPsIdAndEnrollCd : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourseByPsIdAndEnrollCd → KILLED
|
return genericMessage( |
|
303
|
|
"PSCourse with id %s and matching secondary with id %s deleted" |
|
304
|
|
.formatted(id, secondaryId.get())); |
|
305
|
|
else |
|
306
|
1
1. deleteCourseByPsIdAndEnrollCd : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourseByPsIdAndEnrollCd → KILLED
|
return genericMessage( |
|
307
|
|
"PSCourse with id %s and matching primary with id %s deleted" |
|
308
|
|
.formatted(id, primaryId.get())); |
|
309
|
|
} |
|
310
|
|
|
|
311
|
1
1. deleteCourseByPsIdAndEnrollCd : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourseByPsIdAndEnrollCd → KILLED
|
return genericMessage("PSCourse with id %s deleted".formatted(id)); |
|
312
|
|
} |
|
313
|
|
|
|
314
|
|
@Operation(summary = "Update a single Course (admin)") |
|
315
|
|
@PreAuthorize("hasRole('ROLE_ADMIN')") |
|
316
|
|
@PutMapping("/admin") |
|
317
|
|
public PSCourse putCourseById_admin( |
|
318
|
|
@Parameter(name = "id") @RequestParam Long id, @RequestBody @Valid PSCourse incomingCourses) { |
|
319
|
|
PSCourse courses = |
|
320
|
|
coursesRepository |
|
321
|
|
.findById(id) |
|
322
|
1
1. lambda$putCourseById_admin$8 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$putCourseById_admin$8 → KILLED
|
.orElseThrow(() -> new EntityNotFoundException(PSCourse.class, id)); |
|
323
|
|
|
|
324
|
1
1. putCourseById_admin : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setEnrollCd → KILLED
|
courses.setEnrollCd(incomingCourses.getEnrollCd()); |
|
325
|
1
1. putCourseById_admin : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsId → KILLED
|
courses.setPsId(incomingCourses.getPsId()); |
|
326
|
1
1. putCourseById_admin : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsName → KILLED
|
courses.setPsName(incomingCourses.getPsName()); |
|
327
|
1
1. putCourseById_admin : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setCourseName → KILLED
|
courses.setCourseName(incomingCourses.getCourseName()); |
|
328
|
1
1. putCourseById_admin : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setQuarter → KILLED
|
courses.setQuarter(incomingCourses.getQuarter()); |
|
329
|
|
|
|
330
|
|
coursesRepository.save(courses); |
|
331
|
|
|
|
332
|
1
1. putCourseById_admin : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::putCourseById_admin → KILLED
|
return courses; |
|
333
|
|
} |
|
334
|
|
|
|
335
|
|
@Operation(summary = "Update a single course (user)") |
|
336
|
|
@PreAuthorize("hasRole('ROLE_USER')") |
|
337
|
|
@PutMapping("/user") |
|
338
|
|
public PSCourse putCoursesById( |
|
339
|
|
@Parameter(name = "id") @RequestParam Long id, @RequestBody @Valid PSCourse incomingCourses) { |
|
340
|
|
User currentUser = getCurrentUser().getUser(); |
|
341
|
|
PSCourse courses = |
|
342
|
|
coursesRepository |
|
343
|
|
.findByIdAndUser(id, currentUser) |
|
344
|
1
1. lambda$putCoursesById$9 : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$putCoursesById$9 → KILLED
|
.orElseThrow(() -> new EntityNotFoundException(PSCourse.class, id)); |
|
345
|
|
|
|
346
|
1
1. putCoursesById : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setEnrollCd → KILLED
|
courses.setEnrollCd(incomingCourses.getEnrollCd()); |
|
347
|
1
1. putCoursesById : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsId → KILLED
|
courses.setPsId(incomingCourses.getPsId()); |
|
348
|
1
1. putCoursesById : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsName → KILLED
|
courses.setPsName(incomingCourses.getPsName()); |
|
349
|
1
1. putCoursesById : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setCourseName → KILLED
|
courses.setCourseName(incomingCourses.getCourseName()); |
|
350
|
1
1. putCoursesById : removed call to edu/ucsb/cs156/courses/entities/PSCourse::setQuarter → KILLED
|
courses.setQuarter(incomingCourses.getQuarter()); |
|
351
|
|
|
|
352
|
|
coursesRepository.save(courses); |
|
353
|
|
|
|
354
|
1
1. putCoursesById : replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::putCoursesById → KILLED
|
return courses; |
|
355
|
|
} |
|
356
|
|
} |
| | Mutations |
| 50 |
|
1.1 Location : allUsersCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_admin_all__admin_logged_in__returns_all_courses()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::allUsersCourses → KILLED
|
| 59 |
|
1.1 Location : thisUsersCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_all__user_logged_in__returns_only_courses_for_user()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::thisUsersCourses → KILLED
|
| 67 |
|
1.1 Location : allCoursesForPsId Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__admin_logged_in__returns_a_courses_that_exists_using_psid()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::allCoursesForPsId → KILLED
|
| 77 |
|
1.1 Location : thisUsersCoursesForPsId Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__returns_a_courses_that_exists_using_psid()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::thisUsersCoursesForPsId → KILLED
|
| 87 |
|
1.1 Location : lambda$getCourseById_admin$0 Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__admin_logged_in__search_for_course_that_does_not_exist()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$getCourseById_admin$0 → KILLED
|
| 89 |
|
1.1 Location : getCourseById_admin Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__admin_logged_in__search_for_course_that_belongs_to_another_user()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::getCourseById_admin → KILLED
|
| 100 |
|
1.1 Location : lambda$getCourseById$1 Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__search_for_courses_that_does_not_exist()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$getCourseById$1 → KILLED
|
| 102 |
|
1.1 Location : getCourseById Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__returns_a_courses_that_exists()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::getCourseById → KILLED
|
| 118 |
|
1.1 Location : lambda$postCourses$2 Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:apiCoursesUserCreatesCourseWithInvalidPSID()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$postCourses$2 → KILLED
|
| 121 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:apiCoursesUserCreatesCourseWithInvalidEnrollCd2()] negated conditional → KILLED
|
| 122 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:apiCoursesUserCreatesCourseWithInvalidEnrollCd()] negated conditional → KILLED
|
| 130 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__primary_enroll_code_has_one_secondary_reversed()] negated conditional → KILLED
|
| 133 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__primary_enroll_code_has_one_secondary_reversed()] negated conditional → KILLED
|
| 136 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__primary_enroll_code_has_one_secondary()] negated conditional → KILLED
|
| 142 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__primary_enroll_code_has_one_secondary_reversed()] negated conditional → KILLED
|
| 147 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__primary_enroll_code_has_one_secondary_reversed()] negated conditional → KILLED
|
| 155 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__primary_enroll_code_has_one_secondary_reversed()] Replaced integer subtraction with addition → KILLED
|
| 159 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__primary_enroll_code_has_one_secondary_reversed()] negated conditional → KILLED
|
| 162 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__secondary_enroll_code_adds_secondary_and_primary()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setUser → KILLED
|
| 163 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__secondary_enroll_code_adds_secondary_and_primary()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setEnrollCd → KILLED
|
| 164 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__secondary_enroll_code_adds_secondary_and_primary()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsId → KILLED
|
| 165 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__secondary_enroll_code_adds_secondary_and_primary()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsName → KILLED
|
| 166 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__secondary_enroll_code_adds_secondary_and_primary()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setCourseName → KILLED
|
| 167 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__secondary_enroll_code_adds_secondary_and_primary()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setQuarter → KILLED
|
| 170 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__primary_enroll_code_has_one_secondary_reversed()] negated conditional → KILLED
|
| 177 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__post_course_from_spring()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setUser → KILLED
|
| 178 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__post_course_from_spring()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setEnrollCd → KILLED
|
| 179 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__post_course_from_spring()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsId → KILLED
|
| 180 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__post_course_from_spring()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsName → KILLED
|
| 181 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__post_course_from_spring()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setCourseName → KILLED
|
| 182 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__post_course_from_spring()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setQuarter → KILLED
|
| 185 |
|
1.1 Location : postCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses_post__user_logged_in__post_course_from_spring()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::postCourses → KILLED
|
| 195 |
|
1.1 Location : lambda$deleteCourses_Admin$3 Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__admin_logged_in__cannot_delete_course_that_does_not_exist()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$deleteCourses_Admin$3 → KILLED
|
| 197 |
|
1.1 Location : deleteCourses_Admin Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__admin_logged_in__delete_course()] removed call to edu/ucsb/cs156/courses/repositories/PSCourseRepository::delete → KILLED
|
| 199 |
|
1.1 Location : deleteCourses_Admin Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__admin_logged_in__delete_course()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourses_Admin → KILLED
|
| 211 |
|
1.1 Location : lambda$deleteCourses$4 Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__cannot_delete_delete_belonging_to_another_user()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$deleteCourses$4 → KILLED
|
| 216 |
|
1.1 Location : lambda$deleteCourses$5 Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course_with_personal_schedule_that_does_not_exist()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$deleteCourses$5 → KILLED
|
| 220 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__ucsb_api__primary_not_found__treat_as_primary()] negated conditional → KILLED
|
| 221 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__ucsb_api__enroll_code_does_not_exist_error__treat_as_primary()] negated conditional → KILLED
|
| 222 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__ucsb_api__enroll_code_does_not_exist_error__treat_as_primary()] removed call to edu/ucsb/cs156/courses/repositories/PSCourseRepository::delete → KILLED
|
| 223 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__ucsb_api__enroll_code_does_not_exist_error__treat_as_primary()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourses → KILLED
|
| 229 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_no_secondary()] negated conditional → KILLED
|
| 235 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_no_secondary()] negated conditional → KILLED
|
| 237 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_secondary()] negated conditional → KILLED
|
| 239 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_no_secondary()] removed call to edu/ucsb/cs156/courses/repositories/PSCourseRepository::delete → KILLED
|
| 242 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__ucsb_api__primary_not_found__treat_as_primary()] negated conditional → KILLED 2.2 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_no_secondary()] negated conditional → KILLED
|
| 243 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_secondary()] negated conditional → KILLED
|
| 244 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_secondary()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourses → KILLED
|
| 248 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__secondary_with_primary()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourses → KILLED
|
| 253 |
|
1.1 Location : deleteCourses Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_no_secondary()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourses → KILLED
|
| 267 |
|
1.1 Location : lambda$deleteCourseByPsIdAndEnrollCd$6 Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__cannot_delete_delete_belonging_to_another_user()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$deleteCourseByPsIdAndEnrollCd$6 → KILLED
|
| 274 |
|
1.1 Location : lambda$deleteCourseByPsIdAndEnrollCd$7 Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course_with_personal_schedule_that_does_not_exist()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$deleteCourseByPsIdAndEnrollCd$7 → KILLED
|
| 278 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_no_secondary()] negated conditional → KILLED
|
| 279 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__ucsb_api__enroll_code_does_not_exist_error__treat_as_primary()] negated conditional → KILLED
|
| 280 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__ucsb_api__enroll_code_does_not_exist_error__treat_as_primary()] removed call to edu/ucsb/cs156/courses/repositories/PSCourseRepository::delete → KILLED
|
| 281 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__ucsb_api__enroll_code_does_not_exist_error__treat_as_primary()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourseByPsIdAndEnrollCd → KILLED
|
| 287 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_no_secondary()] negated conditional → KILLED
|
| 293 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_no_secondary()] negated conditional → KILLED
|
| 295 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_secondary()] negated conditional → KILLED
|
| 297 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_no_secondary()] removed call to edu/ucsb/cs156/courses/repositories/PSCourseRepository::delete → KILLED
|
| 300 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__ucsb_api__primary_not_found__treat_as_primary()] negated conditional → KILLED 2.2 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_no_secondary()] negated conditional → KILLED
|
| 301 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_secondary()] negated conditional → KILLED
|
| 302 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_secondary()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourseByPsIdAndEnrollCd → KILLED
|
| 306 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__secondary_with_primary()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourseByPsIdAndEnrollCd → KILLED
|
| 311 |
|
1.1 Location : deleteCourseByPsIdAndEnrollCd Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__delete_course__primary_with_no_secondary()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::deleteCourseByPsIdAndEnrollCd → KILLED
|
| 322 |
|
1.1 Location : lambda$putCourseById_admin$8 Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__admin_logged_in__cannot_put_course_that_does_not_exist()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$putCourseById_admin$8 → KILLED
|
| 324 |
|
1.1 Location : putCourseById_admin Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_schedules__admin_logged_in__put_schedule_change_fields()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setEnrollCd → KILLED
|
| 325 |
|
1.1 Location : putCourseById_admin Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_schedules__admin_logged_in__put_schedule_change_fields()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsId → KILLED
|
| 326 |
|
1.1 Location : putCourseById_admin Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_schedules__admin_logged_in__put_schedule_change_fields()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsName → KILLED
|
| 327 |
|
1.1 Location : putCourseById_admin Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_schedules__admin_logged_in__put_schedule_change_fields()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setCourseName → KILLED
|
| 328 |
|
1.1 Location : putCourseById_admin Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_schedules__admin_logged_in__put_schedule_change_fields()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setQuarter → KILLED
|
| 332 |
|
1.1 Location : putCourseById_admin Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_schedules__admin_logged_in__put_schedule_change_fields()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::putCourseById_admin → KILLED
|
| 344 |
|
1.1 Location : lambda$putCoursesById$9 Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__cannot_put_course_that_does_not_exist()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::lambda$putCoursesById$9 → KILLED
|
| 346 |
|
1.1 Location : putCoursesById Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__put_course()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setEnrollCd → KILLED
|
| 347 |
|
1.1 Location : putCoursesById Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__put_course()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsId → KILLED
|
| 348 |
|
1.1 Location : putCoursesById Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__put_course()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setPsName → KILLED
|
| 349 |
|
1.1 Location : putCoursesById Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__put_course()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setCourseName → KILLED
|
| 350 |
|
1.1 Location : putCoursesById Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__put_course()] removed call to edu/ucsb/cs156/courses/entities/PSCourse::setQuarter → KILLED
|
| 354 |
|
1.1 Location : putCoursesById Killed by : edu.ucsb.cs156.courses.controllers.PSCourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.PSCourseControllerTests]/[method:api_courses__user_logged_in__put_course()] replaced return value with null for edu/ucsb/cs156/courses/controllers/PSCourseController::putCoursesById → KILLED
|