Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GRAD2-3220: task is completed. #396

Merged
merged 3 commits into from
Jan 16, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -25,9 +25,8 @@ public class ConvGradStudent {
private String gpa;
private String honoursStanding; // inc
private String studentGradData;
private String schoolOfRecord; // inc
private UUID schoolOfRecordId; // inc
private String schoolAtGrad; // inc
private UUID schoolAtGradId; // inc
private String studentGrade; // inc
private String studentStatus; // inc
private String archiveFlag; // inc
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.UUID;

@Data
@Builder
@AllArgsConstructor
@@ -15,8 +17,8 @@ public class GradStatusEventPayloadDTO {
private String pen;
private String program;
private String programCompletionDate;
private String schoolOfRecord;
private String schoolAtGrad;
private UUID schoolOfRecordId;
private UUID schoolAtGradId;
private String studentGrade;
private String studentStatus;
private String honoursStanding;
28 changes: 0 additions & 28 deletions api/src/main/java/ca/bc/gov/educ/api/trax/model/dto/School.java
Original file line number Diff line number Diff line change
@@ -26,34 +26,6 @@ public class School implements Comparable<School> {
private String schoolCategoryCode;
private String schoolCategoryLegacyCode;

public String getSchoolName() {
return schoolName != null ? schoolName.trim(): "";
}

public String getDistrictName() {
return districtName != null ? districtName.trim(): "";
}

public String getAddress1() {
return address1 != null ? address1.trim(): "";
}

public String getAddress2() {
return address2 != null ? address2.trim(): "";
}

public String getCity() {
return city != null ? city.trim(): "";
}

public String getPostal() {
return postal != null ? postal.trim(): "";
}

public String getMinCode() {
return minCode != null ? minCode.trim(): "";
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
Original file line number Diff line number Diff line change
@@ -13,6 +13,7 @@ public class SnapshotResponse {
private BigDecimal gpa;
private String honourFlag;
private String schoolOfRecord;
private String schoolOfRecordId;
private String studentGrade;

public SnapshotResponse(String pen, String graduatedDate, BigDecimal gpa, String honourFlag, String schoolOfRecord, String studentGrade) {
Original file line number Diff line number Diff line change
@@ -19,8 +19,6 @@ public class TraxGraduationUpdateDTO extends TraxStudentUpdateDTO {
private String graduationRequirementYear;
// STUD_GRAD
private String studentGrade;
// MINCODE
private String schoolOfRecord;
// SchoolId
private UUID schoolOfRecordId;
// SLP_DATE
27 changes: 21 additions & 6 deletions api/src/main/java/ca/bc/gov/educ/api/trax/service/EdwService.java
Original file line number Diff line number Diff line change
@@ -1,30 +1,45 @@
package ca.bc.gov.educ.api.trax.service;

import ca.bc.gov.educ.api.trax.model.dto.SnapshotResponse;
import ca.bc.gov.educ.api.trax.model.dto.institute.School;
import ca.bc.gov.educ.api.trax.repository.SnapshotRepository;
import ca.bc.gov.educ.api.trax.service.institute.SchoolService;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class EdwService {
final SnapshotRepository snapshotRepository;
final private SnapshotRepository snapshotRepository;
final private SchoolService schoolService;

public EdwService(
SnapshotRepository snapshotRepository
) {
public EdwService(SnapshotRepository snapshotRepository, SchoolService schoolService) {
this.snapshotRepository = snapshotRepository;
this.schoolService = schoolService;
}

public List<String> getUniqueSchoolList(Integer gradYear) {
return snapshotRepository.getSchools(gradYear);
}

public List<SnapshotResponse> getStudents(Integer gradYear) {
return snapshotRepository.getStudentsByGradYear(gradYear);
List<SnapshotResponse> results = snapshotRepository.getStudentsByGradYear(gradYear);
populateSchoolId(results);
return results;
}

public List<SnapshotResponse> getStudents(Integer gradYear, String schoolOfRecord) {
return snapshotRepository.getStudentsByGradYearAndSchoolOfRecord(gradYear, schoolOfRecord);
List<SnapshotResponse> results = snapshotRepository.getStudentsByGradYearAndSchoolOfRecord(gradYear, schoolOfRecord);
populateSchoolId(results);
return results;
}

private void populateSchoolId(List<SnapshotResponse> list) {
list.forEach(r -> {
School sch = schoolService.getSchoolByMinCodeFromRedisCache(r.getSchoolOfRecord());
if (sch != null) {
r.setSchoolOfRecordId(sch.getSchoolId());
}
});
}
}
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@
import ca.bc.gov.educ.api.trax.model.entity.EventEntity;
import ca.bc.gov.educ.api.trax.model.entity.TraxStudentEntity;
import ca.bc.gov.educ.api.trax.repository.TraxStudentRepository;
import ca.bc.gov.educ.api.trax.service.institute.CommonService;
import ca.bc.gov.educ.api.trax.util.EducGradTraxApiConstants;
import ca.bc.gov.educ.api.trax.util.EducGradTraxApiUtils;
import ca.bc.gov.educ.api.trax.util.ReplicationUtils;
@@ -43,6 +44,8 @@ public abstract class EventCommonService<T> extends EventBaseService<T> {
public static final String FIELD_HONOUR_FLAG = "HONOUR_FLAG";
public static final String FIELD_XCRIPT_ACTV_DATE = "XCRIPT_ACTV_DATE";

@Autowired
private CommonService commonService;
@Autowired
private TraxStudentRepository traxStudentRepository;
@Autowired
@@ -181,11 +184,13 @@ protected void validateAndPopulateUpdateFieldsMap(Map<String, Pair<FieldType, Ob
}
// Mincode
if (fields.contains(FIELD_MINCODE)) {
handleStringField(updateFieldsMap, FIELD_MINCODE, traxStudentEntity.getMincode(), gradStatus.getSchoolOfRecord());
ca.bc.gov.educ.api.trax.model.dto.School school = commonService.getSchoolForClobDataBySchoolIdFromRedisCache(gradStatus.getSchoolOfRecordId());
handleStringField(updateFieldsMap, FIELD_MINCODE, traxStudentEntity.getMincode(), school.getMinCode());
}
// Mincode_Grad
if (fields.contains(FIELD_MINCODE_GRAD)) {
handleStringField(updateFieldsMap, FIELD_MINCODE_GRAD, traxStudentEntity.getMincodeGrad(), gradStatus.getSchoolAtGrad());
ca.bc.gov.educ.api.trax.model.dto.School school = commonService.getSchoolForClobDataBySchoolIdFromRedisCache(gradStatus.getSchoolAtGradId());
handleStringField(updateFieldsMap, FIELD_MINCODE_GRAD, traxStudentEntity.getMincodeGrad(), school.getMinCode());
}
// Student Grade
if (fields.contains(FIELD_STUD_GRADE)) {
Original file line number Diff line number Diff line change
@@ -60,7 +60,7 @@ public void specialHandlingOnUpdateFieldsMap(Map<String, Pair<FieldType, Object>
updateFieldsMap.remove(FIELD_SCC_DATE);

// mincode_grad(= blank)
gradStatusUpdate.setSchoolAtGrad(null);
gradStatusUpdate.setSchoolAtGradId(null);
updateFieldsMap.put(FIELD_MINCODE_GRAD, Pair.of(FieldType.TRAX_STRING, " "));

// stud_grade_at_grad(= blank)
Original file line number Diff line number Diff line change
@@ -221,6 +221,7 @@ private ConvGradStudent populateConvGradStudent(Object[] fields) {
String graduationRequirementYear = (String) fields[6];

UUID schoolOfRecordId = this.getSchoolIdFromRedisCache(schoolOfRecord);
UUID schoolAtGradId = this.getSchoolIdFromRedisCache(schoolAtGrad);

// grad or non-grad
Date programCompletionDate = null;
@@ -278,9 +279,8 @@ private ConvGradStudent populateConvGradStudent(Object[] fields) {
.pen(pen)
.slpDate(slpDateStr)
.sccDate(sccDateStr)
.schoolOfRecord(schoolOfRecord)
.schoolOfRecordId(schoolOfRecordId)
.schoolAtGrad(schoolAtGrad)
.schoolAtGradId(schoolAtGradId)
.studentGrade(studentGrade)
.studentStatus(studentStatus != null? studentStatus.toString() : null)
.archiveFlag(archiveFlag != null? archiveFlag.toString() : null)
Original file line number Diff line number Diff line change
@@ -146,8 +146,7 @@ private TraxStudentUpdateDTO populateEventPayload(String updateType, String pen)
gradUpdate.setPen(pen);
gradUpdate.setGraduationRequirementYear(traxStudent.getGraduationRequirementYear());
gradUpdate.setStudentGrade(traxStudent.getStudentGrade());
gradUpdate.setSchoolOfRecord(traxStudent.getSchoolOfRecord());
gradUpdate.setSchoolOfRecordId(commonService.getSchoolIdFromRedisCache(gradUpdate.getSchoolOfRecord()));
gradUpdate.setSchoolOfRecordId(traxStudent.getSchoolOfRecordId());
gradUpdate.setSlpDate(traxStudent.getSlpDate());
gradUpdate.setCitizenship(traxStudent.getStudentCitizenship());
gradUpdate.setStudentStatus(traxStudent.getStudentStatus());
Original file line number Diff line number Diff line change
@@ -66,7 +66,7 @@ public void testGetStudentMasterDataFromTrax() {
.graduationRequirementYear("2020")
.program("2018-EN")
.studentGrade("12")
.schoolOfRecord("12345678")
.schoolOfRecordId(UUID.randomUUID())
.build();
studentList.add(obj);
Mockito.when(traxCommonService.getStudentMasterDataFromTrax(pen)).thenReturn(studentList);
Original file line number Diff line number Diff line change
@@ -4,7 +4,9 @@
import ca.bc.gov.educ.api.trax.messaging.jetstream.Publisher;
import ca.bc.gov.educ.api.trax.messaging.jetstream.Subscriber;
import ca.bc.gov.educ.api.trax.model.dto.SnapshotResponse;
import ca.bc.gov.educ.api.trax.model.dto.institute.School;
import ca.bc.gov.educ.api.trax.repository.SnapshotRepository;
import ca.bc.gov.educ.api.trax.service.institute.SchoolService;
import ca.bc.gov.educ.api.trax.util.EducGradTraxApiConstants;
import org.junit.After;
import org.junit.Before;
@@ -25,6 +27,7 @@
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.when;
@@ -41,6 +44,9 @@ public class EdwServiceTest {
@MockBean
private SnapshotRepository snapshotRepository;

@MockBean
private SchoolService schoolService;

@Autowired
private EducGradTraxApiConstants constants;

@@ -97,19 +103,30 @@ public void testGetUniqueSchoolList() {
@Test
public void testGetStudents() {
Integer gradYear = 2023;
String minCode = "12345678";
UUID schoolId = UUID.randomUUID();
// graduated student
SnapshotResponse snapshot1 = new SnapshotResponse();
snapshot1.setPen("123456789");
snapshot1.setGraduatedDate("202306");
snapshot1.setGpa(BigDecimal.valueOf(3.60));
snapshot1.setSchoolOfRecord(minCode);
// non-graduated student
SnapshotResponse snapshot2 = new SnapshotResponse();
snapshot1.setPen("111222333");

List<SnapshotResponse> snapshots = Arrays.asList(snapshot1, snapshot2);

when(this.snapshotRepository.getStudentsByGradYear(gradYear)).thenReturn(snapshots);

// School
School school = new School();
school.setSchoolId(schoolId.toString());
school.setMincode(minCode);
school.setDisplayName("Test School");
school.setSchoolCategoryCode("PUBLIC");

when(this.schoolService.getSchoolByMinCodeFromRedisCache(minCode)).thenReturn(school);

var result = edwService.getStudents(gradYear);

assertThat(result).hasSize(2);
@@ -119,19 +136,31 @@ public void testGetStudents() {
public void testGetStudentsByGradYearAndSchool() {
Integer gradYear = 2023;
String minCode = "12345678";
UUID schoolId = UUID.randomUUID();
// graduated student
SnapshotResponse snapshot1 = new SnapshotResponse();
snapshot1.setPen("123456789");
snapshot1.setGraduatedDate("202306");
snapshot1.setGpa(BigDecimal.valueOf(3.60));
snapshot1.setSchoolOfRecord(minCode);
// non-graduated student
SnapshotResponse snapshot2 = new SnapshotResponse();
snapshot1.setPen("111222333");
snapshot2.setPen("111222333");
snapshot2.setSchoolOfRecord(minCode);

List<SnapshotResponse> snapshots = Arrays.asList(snapshot1, snapshot2);

when(this.snapshotRepository.getStudentsByGradYearAndSchoolOfRecord(gradYear, minCode)).thenReturn(snapshots);

// School
School school = new School();
school.setSchoolId(schoolId.toString());
school.setMincode(minCode);
school.setDisplayName("Test School");
school.setSchoolCategoryCode("PUBLIC");

when(this.schoolService.getSchoolByMinCodeFromRedisCache(minCode)).thenReturn(school);

var result = edwService.getStudents(gradYear, minCode);

assertThat(result).hasSize(2);
Original file line number Diff line number Diff line change
@@ -4,8 +4,10 @@
import ca.bc.gov.educ.api.trax.messaging.NatsConnection;
import ca.bc.gov.educ.api.trax.messaging.jetstream.Publisher;
import ca.bc.gov.educ.api.trax.messaging.jetstream.Subscriber;
import ca.bc.gov.educ.api.trax.model.dto.School;
import ca.bc.gov.educ.api.trax.repository.EventRepository;
import ca.bc.gov.educ.api.trax.repository.TraxStudentRepository;
import ca.bc.gov.educ.api.trax.service.institute.CommonService;
import ca.bc.gov.educ.api.trax.support.TestUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import org.apache.commons.lang3.StringUtils;
@@ -25,6 +27,7 @@
import org.springframework.test.context.junit4.SpringRunner;
import redis.clients.jedis.JedisCluster;

import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.openMocks;

@RunWith(SpringRunner.class)
@@ -40,6 +43,9 @@ public class GradStudentGraduatedServiceTest {
@Autowired
private TraxStudentRepository traxStudentRepository;

@MockBean
private CommonService commonService;

// NATS
@MockBean
private NatsConnection natsConnection;
@@ -161,6 +167,23 @@ private void testProcessEvent(String program, String studentStatus) throws JsonP
request.setProgram(program);
request.setStudentStatus(studentStatus);
final var event = TestUtils.createEvent(EventType.GRAD_STUDENT_GRADUATED.name(), request, eventRepository);

// SchoolOfRecord
if (request.getSchoolOfRecordId() != null) {
School school = new School();
school.setSchoolId(request.getSchoolOfRecordId().toString());

when(commonService.getSchoolForClobDataBySchoolIdFromRedisCache(request.getSchoolOfRecordId())).thenReturn(school);
}

// SchoolAtGrad
if (request.getSchoolAtGradId() != null) {
School schoolAtGrad = new School();
schoolAtGrad.setSchoolId(request.getSchoolAtGradId().toString());

when(commonService.getSchoolForClobDataBySchoolIdFromRedisCache(request.getSchoolAtGradId())).thenReturn(schoolAtGrad);
}

this.gradStudentGraduatedService.processEvent(request, event);
}

@@ -169,6 +192,23 @@ private void testProcessEventForNonGrad(String program, String studentStatus) th
request.setProgram(program);
request.setStudentStatus(studentStatus);
final var event = TestUtils.createEvent(EventType.GRAD_STUDENT_GRADUATED.name(), request, eventRepository);

// SchoolOfRecord
if (request.getSchoolOfRecordId() != null) {
School school = new School();
school.setSchoolId(request.getSchoolOfRecordId().toString());

when(commonService.getSchoolForClobDataBySchoolIdFromRedisCache(request.getSchoolOfRecordId())).thenReturn(school);
}

// SchoolAtGrad
if (request.getSchoolAtGradId() != null) {
School schoolAtGrad = new School();
schoolAtGrad.setSchoolId(request.getSchoolAtGradId().toString());

when(commonService.getSchoolForClobDataBySchoolIdFromRedisCache(request.getSchoolAtGradId())).thenReturn(schoolAtGrad);
}

this.gradStudentGraduatedService.processEvent(request, event);
}

Original file line number Diff line number Diff line change
@@ -4,8 +4,10 @@
import ca.bc.gov.educ.api.trax.messaging.NatsConnection;
import ca.bc.gov.educ.api.trax.messaging.jetstream.Publisher;
import ca.bc.gov.educ.api.trax.messaging.jetstream.Subscriber;
import ca.bc.gov.educ.api.trax.model.dto.School;
import ca.bc.gov.educ.api.trax.repository.EventRepository;
import ca.bc.gov.educ.api.trax.repository.TraxStudentRepository;
import ca.bc.gov.educ.api.trax.service.institute.CommonService;
import ca.bc.gov.educ.api.trax.support.TestUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import org.apache.commons.lang3.StringUtils;
@@ -25,6 +27,7 @@
import org.springframework.test.context.junit4.SpringRunner;
import redis.clients.jedis.JedisCluster;

import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.openMocks;

@RunWith(SpringRunner.class)
@@ -40,6 +43,9 @@ public class GradStudentUndoCompletionServiceTest {
@Autowired
private TraxStudentRepository traxStudentRepository;

@MockBean
private CommonService commonService;

// NATS
@MockBean
private NatsConnection natsConnection;
@@ -155,6 +161,23 @@ private void testProcessEvent(String program, String studentStatus) throws JsonP
request.setProgram(program);
request.setStudentStatus(studentStatus);
final var event = TestUtils.createEvent(EventType.GRAD_STUDENT_UNDO_COMPLETION.name(), request, eventRepository);

// SchoolOfRecord
if (request.getSchoolOfRecordId() != null) {
School school = new School();
school.setSchoolId(request.getSchoolOfRecordId().toString());

when(commonService.getSchoolForClobDataBySchoolIdFromRedisCache(request.getSchoolOfRecordId())).thenReturn(school);
}

// SchoolAtGrad
if (request.getSchoolAtGradId() != null) {
School schoolAtGrad = new School();
schoolAtGrad.setSchoolId(request.getSchoolAtGradId().toString());

when(commonService.getSchoolForClobDataBySchoolIdFromRedisCache(request.getSchoolAtGradId())).thenReturn(schoolAtGrad);
}

this.gradStudentUndoCompletionService.processEvent(request, event);
}

Original file line number Diff line number Diff line change
@@ -4,8 +4,10 @@
import ca.bc.gov.educ.api.trax.messaging.NatsConnection;
import ca.bc.gov.educ.api.trax.messaging.jetstream.Publisher;
import ca.bc.gov.educ.api.trax.messaging.jetstream.Subscriber;
import ca.bc.gov.educ.api.trax.model.dto.School;
import ca.bc.gov.educ.api.trax.repository.EventRepository;
import ca.bc.gov.educ.api.trax.repository.TraxStudentRepository;
import ca.bc.gov.educ.api.trax.service.institute.CommonService;
import ca.bc.gov.educ.api.trax.support.TestUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import org.apache.commons.lang3.StringUtils;
@@ -25,6 +27,7 @@
import org.springframework.test.context.junit4.SpringRunner;
import redis.clients.jedis.JedisCluster;

import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.openMocks;

@RunWith(SpringRunner.class)
@@ -40,6 +43,9 @@ public class GradStudentUpdatedServiceTest {
@Autowired
private TraxStudentRepository traxStudentRepository;

@MockBean
private CommonService commonService;

// NATS
@MockBean
private NatsConnection natsConnection;
@@ -167,6 +173,23 @@ private void testProcessEvent(String program, String studentStatus) throws JsonP
request.setProgram(program);
request.setStudentStatus(studentStatus);
final var event = TestUtils.createEvent(EventType.GRAD_STUDENT_UPDATED.name(), request, eventRepository);

// SchoolOfRecord
if (request.getSchoolOfRecordId() != null) {
School school = new School();
school.setSchoolId(request.getSchoolOfRecordId().toString());

when(commonService.getSchoolForClobDataBySchoolIdFromRedisCache(request.getSchoolOfRecordId())).thenReturn(school);
}

// SchoolAtGrad
if (request.getSchoolAtGradId() != null) {
School schoolAtGrad = new School();
schoolAtGrad.setSchoolId(request.getSchoolAtGradId().toString());

when(commonService.getSchoolForClobDataBySchoolIdFromRedisCache(request.getSchoolAtGradId())).thenReturn(schoolAtGrad);
}

this.gradStudentUpdatedService.processEvent(request, event);
}

Original file line number Diff line number Diff line change
@@ -137,7 +137,7 @@ public void testGetOutstandingList() {
public void testScheduledRunForTraxUpdates() throws JsonProcessingException {
String pen = "123456789";
String mincode = "12345678";
UUID schoolOfRecordId = UUID.randomUUID();
UUID schoolId = UUID.randomUUID();
LockAssert.TestHelper.makeAllAssertsPass(true);

TraxUpdateInGradEntity traxUpdateInGradEntity = new TraxUpdateInGradEntity();
@@ -149,20 +149,19 @@ public void testScheduledRunForTraxUpdates() throws JsonProcessingException {
TraxGraduationUpdateDTO payload = new TraxGraduationUpdateDTO();
payload.setPen(pen);
payload.setStudentGrade("12");
payload.setSchoolOfRecord(mincode);
payload.setSchoolOfRecordId(schoolOfRecordId);
payload.setSchoolOfRecordId(schoolId);
payload.setCitizenship("C");
payload.setGraduationRequirementYear("2018");
String jsonString = JsonUtil.getJsonStringFromObject(payload);

ConvGradStudent traxStudent = new ConvGradStudent();
traxStudent.setPen(pen);
traxStudent.setStudentGrade("12");
traxStudent.setSchoolOfRecord(mincode);
traxStudent.setGraduationRequirementYear("2018");
traxStudent.setStudentStatus("A");
traxStudent.setArchiveFlag("A");
traxStudent.setStudentCitizenship("C");
traxStudent.setSchoolOfRecordId(schoolId);

TraxUpdatedPubEvent traxUpdatedPubEvent = TraxUpdatedPubEvent.builder()
.eventType(EventType.UPD_GRAD.toString())
@@ -183,7 +182,7 @@ public void testScheduledRunForTraxUpdates() throws JsonProcessingException {
when(traxUpdateInGradRepository.findOutstandingUpdates(any())).thenReturn(Arrays.asList(traxUpdateInGradEntity));
when(traxUpdatedPubEventRepository.save(traxUpdatedPubEvent)).thenReturn(traxUpdatedPubEvent);
when(traxCommonService.getStudentMasterDataFromTrax(pen)).thenReturn(Arrays.asList(traxStudent));
when(commonService.getSchoolIdFromRedisCache(mincode)).thenReturn(schoolOfRecordId);
when(commonService.getSchoolIdFromRedisCache(mincode)).thenReturn(schoolId );

traxUpdateService.publishTraxUpdatedEvent(traxUpdateInGradEntity);
traxUpdateService.updateStatus(traxUpdateInGradEntity);
@@ -210,7 +209,7 @@ public void testProcess_whenNewStudent_isAdded() throws JsonProcessingException
ConvGradStudent traxStudent = new ConvGradStudent();
traxStudent.setPen(pen);
traxStudent.setStudentGrade("12");
traxStudent.setSchoolOfRecord("12345678");
traxStudent.setSchoolOfRecordId(UUID.randomUUID());
traxStudent.setGraduationRequirementYear("2018");
traxStudent.setStudentStatus("A");
traxStudent.setArchiveFlag("A");
@@ -260,7 +259,7 @@ public void testProcess_whenStudentDemographicInfo_isUpdated() throws JsonProces
ConvGradStudent traxStudent = new ConvGradStudent();
traxStudent.setPen(pen);
traxStudent.setStudentGrade("12");
traxStudent.setSchoolOfRecord("12345678");
traxStudent.setSchoolOfRecordId(UUID.randomUUID());
traxStudent.setGraduationRequirementYear("2018");
traxStudent.setStudentStatus("A");
traxStudent.setArchiveFlag("A");
@@ -302,7 +301,7 @@ public void testProcess_whenStudentDemographicInfo_isUpdated() throws JsonProces
public void testProcess_whenGraduation_isUpdated() throws JsonProcessingException {
String pen = "123456789";
String mincode = "12345678";
UUID schoolOfRecordId = UUID.randomUUID();
UUID schoolId = UUID.randomUUID();

TraxUpdateInGradEntity traxUpdateInGradEntity = new TraxUpdateInGradEntity();
traxUpdateInGradEntity.setPen(pen);
@@ -313,20 +312,19 @@ public void testProcess_whenGraduation_isUpdated() throws JsonProcessingExceptio
TraxGraduationUpdateDTO payload = new TraxGraduationUpdateDTO();
payload.setPen(pen);
payload.setStudentGrade("12");
payload.setSchoolOfRecord(mincode);
payload.setSchoolOfRecordId(schoolOfRecordId);
payload.setSchoolOfRecordId(schoolId);
payload.setCitizenship("C");
payload.setGraduationRequirementYear("2018");
String jsonString = JsonUtil.getJsonStringFromObject(payload);

ConvGradStudent traxStudent = new ConvGradStudent();
traxStudent.setPen(pen);
traxStudent.setStudentGrade("12");
traxStudent.setSchoolOfRecord(mincode);
traxStudent.setGraduationRequirementYear("2018");
traxStudent.setStudentStatus("A");
traxStudent.setArchiveFlag("A");
traxStudent.setStudentCitizenship("C");
traxStudent.setSchoolOfRecordId(schoolId);

TraxUpdatedPubEvent traxUpdatedPubEvent = TraxUpdatedPubEvent.builder()
.eventType(EventType.UPD_GRAD.toString())
@@ -346,7 +344,7 @@ public void testProcess_whenGraduation_isUpdated() throws JsonProcessingExceptio
when(restUtils.getTokenResponseObject()).thenReturn(tokenObj);
when(traxUpdatedPubEventRepository.save(traxUpdatedPubEvent)).thenReturn(traxUpdatedPubEvent);
when(traxCommonService.getStudentMasterDataFromTrax(pen)).thenReturn(Arrays.asList(traxStudent));
when(commonService.getSchoolIdFromRedisCache(mincode)).thenReturn(schoolOfRecordId);
when(commonService.getSchoolIdFromRedisCache(mincode)).thenReturn(schoolId );

traxUpdateService.publishTraxUpdatedEvent(traxUpdateInGradEntity);
traxUpdateService.updateStatus(traxUpdateInGradEntity);
@@ -358,7 +356,7 @@ public void testProcess_whenGraduation_isUpdated() throws JsonProcessingExceptio
public void testProcess_whenStudentStatus_isUpdated() throws JsonProcessingException {
String pen = "123456789";
String mincode = "12345678";
UUID schoolOfRecordId = UUID.randomUUID();
UUID schoolId = UUID.randomUUID();

TraxUpdateInGradEntity traxUpdateInGradEntity = new TraxUpdateInGradEntity();
traxUpdateInGradEntity.setPen(pen);
@@ -370,18 +368,17 @@ public void testProcess_whenStudentStatus_isUpdated() throws JsonProcessingExcep
payload.setPen(pen);
payload.setStudentStatus("A");
payload.setStudentStatus("A");
payload.setSchoolOfRecord(mincode);
payload.setSchoolOfRecordId(schoolOfRecordId);
payload.setSchoolOfRecordId(schoolId);
String jsonString = JsonUtil.getJsonStringFromObject(payload);

ConvGradStudent traxStudent = new ConvGradStudent();
traxStudent.setPen(pen);
traxStudent.setStudentGrade("12");
traxStudent.setSchoolOfRecord(mincode);
traxStudent.setGraduationRequirementYear("2018");
traxStudent.setStudentStatus("A");
traxStudent.setArchiveFlag("A");
traxStudent.setStudentCitizenship("C");
traxStudent.setSchoolOfRecordId(schoolId);

TraxUpdatedPubEvent traxUpdatedPubEvent = TraxUpdatedPubEvent.builder()
.eventType(EventType.UPD_GRAD.toString())
@@ -401,7 +398,7 @@ public void testProcess_whenStudentStatus_isUpdated() throws JsonProcessingExcep
when(restUtils.getTokenResponseObject()).thenReturn(tokenObj);
when(traxUpdatedPubEventRepository.save(traxUpdatedPubEvent)).thenReturn(traxUpdatedPubEvent);
when(traxCommonService.getStudentMasterDataFromTrax(pen)).thenReturn(Arrays.asList(traxStudent));
when(commonService.getSchoolIdFromRedisCache(mincode)).thenReturn(schoolOfRecordId);
when(commonService.getSchoolIdFromRedisCache(mincode)).thenReturn(schoolId );

traxUpdateService.publishTraxUpdatedEvent(traxUpdateInGradEntity);
traxUpdateService.updateStatus(traxUpdateInGradEntity);
@@ -427,7 +424,7 @@ public void testProcess_whenXProgram_isUpdated() throws JsonProcessingException
ConvGradStudent traxStudent = new ConvGradStudent();
traxStudent.setPen(pen);
traxStudent.setStudentGrade("12");
traxStudent.setSchoolOfRecord("12345678");
traxStudent.setSchoolOfRecordId(UUID.randomUUID());
traxStudent.setGraduationRequirementYear("2018");
traxStudent.setStudentStatus("A");
traxStudent.setArchiveFlag("A");
@@ -476,7 +473,7 @@ public void testProcess_whenAssessment_isUpdated() throws JsonProcessingExceptio
ConvGradStudent traxStudent = new ConvGradStudent();
traxStudent.setPen(pen);
traxStudent.setStudentGrade("12");
traxStudent.setSchoolOfRecord("12345678");
traxStudent.setSchoolOfRecordId(UUID.randomUUID());
traxStudent.setGraduationRequirementYear("2018");
traxStudent.setStudentStatus("A");
traxStudent.setArchiveFlag("A");
@@ -525,7 +522,7 @@ public void testProcess_whenCourse_isUpdated() throws JsonProcessingException {
ConvGradStudent traxStudent = new ConvGradStudent();
traxStudent.setPen(pen);
traxStudent.setStudentGrade("12");
traxStudent.setSchoolOfRecord("12345678");
traxStudent.setSchoolOfRecordId(UUID.randomUUID());
traxStudent.setGraduationRequirementYear("2018");
traxStudent.setStudentStatus("A");
traxStudent.setArchiveFlag("A");
@@ -577,7 +574,7 @@ public void testProcess_whenFrenchImmersion_forGrade10_isAdded() throws JsonProc
ConvGradStudent traxStudent = new ConvGradStudent();
traxStudent.setPen(pen);
traxStudent.setStudentGrade("12");
traxStudent.setSchoolOfRecord("12345678");
traxStudent.setSchoolOfRecordId(UUID.randomUUID());
traxStudent.setGraduationRequirementYear("2018");
traxStudent.setStudentStatus("A");
traxStudent.setArchiveFlag("A");
Original file line number Diff line number Diff line change
@@ -27,14 +27,14 @@
public class TestUtils {
public static GradStatusEventPayloadDTO createGraduationStatus(boolean isGraduated) {
GradStatusEventPayloadDTO graduationStatus = new GradStatusEventPayloadDTO();
graduationStatus.setPen("123456789 ");
graduationStatus.setPen("123456789");
graduationStatus.setProgram("2018-EN");
graduationStatus.setStudentStatus("CUR");
graduationStatus.setStudentGrade("12");
graduationStatus.setSchoolOfRecord("111222333");
graduationStatus.setSchoolOfRecordId(UUID.randomUUID());
graduationStatus.setStudentGrade("12");
if (isGraduated) {
graduationStatus.setSchoolAtGrad("111222333");
graduationStatus.setSchoolAtGradId(UUID.randomUUID());
graduationStatus.setProgramCompletionDate("2022-06-30");
}
return graduationStatus;
@@ -167,7 +167,7 @@ public static DistrictContact createDistrictContact() {

public static TraxStudentEntity createTraxStudent(boolean isGraduated) {
TraxStudentEntity entity = TraxStudentEntity.builder()
.studNo("123456789 ")
.studNo("123456789")
.gradReqtYear("2018")
.studGrade("12")
.mincode("111222333")