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 void accept(JobContext ctx) throws Exception {
22
    ctx.log("Processing...");
23
    Iterable<OrgMember> members = organizationMemberService.getOrganizationMembers(course);
24
    for (OrgMember member : members) {
25
      Optional<RosterStudent> student =
26
          rosterStudentRepository.findByCourseAndGithubId(course, member.getGithubId());
27 1 1. accept : negated conditional → KILLED
      if (student.isPresent()) {
28
        RosterStudent foundStudent = student.get();
29 1 1. accept : removed call to edu/ucsb/cs156/frontiers/entities/RosterStudent::setOrgStatus → KILLED
        foundStudent.setOrgStatus(OrgStatus.MEMBER);
30
        rosterStudentRepository.save(foundStudent);
31
      }
32
    }
33
    ctx.log("Done");
34
  }
35
}

Mutations

27

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

29

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