UpdateOrgMembershipJob.java

1
package edu.ucsb.cs156.frontiers.jobs;
2
3
import edu.ucsb.cs156.frontiers.entities.Course;
4
import edu.ucsb.cs156.frontiers.entities.RosterStudent;
5
import edu.ucsb.cs156.frontiers.enums.OrgStatus;
6
import edu.ucsb.cs156.frontiers.models.OrgMember;
7
import edu.ucsb.cs156.frontiers.repositories.RosterStudentRepository;
8
import edu.ucsb.cs156.frontiers.services.OrganizationMemberService;
9
import edu.ucsb.cs156.frontiers.services.jobs.JobContext;
10
import edu.ucsb.cs156.frontiers.services.jobs.JobContextConsumer;
11
import java.util.Optional;
12
import lombok.Builder;
13
14
@Builder
15
public class UpdateOrgMembershipJob implements JobContextConsumer {
16
  Course course;
17
  OrganizationMemberService organizationMemberService;
18
  RosterStudentRepository rosterStudentRepository;
19
20
  @Override
21
  public Course getCourse() {
22 1 1. getCourse : replaced return value with null for edu/ucsb/cs156/frontiers/jobs/UpdateOrgMembershipJob::getCourse → KILLED
    return this.course;
23
  }
24
25
  @Override
26
  public void accept(JobContext ctx) throws Exception {
27
    ctx.log("Processing...");
28
    Iterable<OrgMember> members = organizationMemberService.getOrganizationMembers(course);
29
    for (OrgMember member : members) {
30
      Optional<RosterStudent> student =
31
          rosterStudentRepository.findByCourseAndGithubId(course, member.getGithubId());
32 1 1. accept : negated conditional → KILLED
      if (student.isPresent()) {
33
        RosterStudent foundStudent = student.get();
34 1 1. accept : removed call to edu/ucsb/cs156/frontiers/entities/RosterStudent::setOrgStatus → KILLED
        foundStudent.setOrgStatus(OrgStatus.MEMBER);
35
        rosterStudentRepository.save(foundStudent);
36
      }
37
    }
38
    ctx.log("Done");
39
  }
40
}

Mutations

22

1.1
Location : getCourse
Killed by : edu.ucsb.cs156.frontiers.jobs.UpdateOrgMembershipJobTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.UpdateOrgMembershipJobTests]/[method:testGetCourse_returnsCoursePassedToBuilder()]
replaced return value with null for edu/ucsb/cs156/frontiers/jobs/UpdateOrgMembershipJob::getCourse → KILLED

32

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.UpdateOrgMembershipJobTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.UpdateOrgMembershipJobTests]/[method:no_roster_student()]
negated conditional → KILLED

34

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.UpdateOrgMembershipJobTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.UpdateOrgMembershipJobTests]/[method:match_students_correctly()]
removed call to edu/ucsb/cs156/frontiers/entities/RosterStudent::setOrgStatus → KILLED

Active mutators

Tests examined


Report generated by PIT 1.17.0