All files / models AcademicProfile.js

18.75% Statements 3/16
100% Branches 0/0
0% Functions 0/9
18.75% Lines 3/16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59    19x               19x                   19x                                                                            
import { toArray } from '../boilerplate';
 
const getAcademicSubPlan = (subplans) => {
  subplans.map(subPlan => (
    {
      SubPlan: subPlan.acadSubPlan,
      SubPlanDescription: subPlan.descr,
    }
  ));
};
const getAcademicPlan = (plans) => {
  plans.map(plan => (
    {
      Plan: plan.acadPlan.acadPlan,
      PlanDescription: plan.descr,
      AcademicSubPlan: getAcademicSubPlan(toArray(plan.ucAcadSplans.ucAcadSplnVw)),
    }
  ));
};
 
const getAcademicProgram = (programs) => {
  programs.map(program => (
    {
      Program: program.acadPro,
      ProgramDescription: program.descr,
      AcademicPlan: getAcademicPlan(toArray(program.ucAcadPlans.ucAcadPlnV)),
    }
  ));
};
 
export default class AcademicProfile {
  constructor(obj) {
    const person = obj.ucStdntAcadProfileGetResp.msgdata.transaction.person;
    const studentTerms = person.ucStdcartrms.ucStdcartrmVw;
    const studentAdvisors = person.ucAdvisors.ucAdvisorVw;
 
    this.StudentCareerTerm = toArray(studentTerms).map(term => (
      {
        AcadProgramPrimary: term.acadProgPrimary,
        StudentTerm: term.strm,
        CumGPA: term.cumGpa,
        AcademicLoad: term.descrshort1,
        AcademicLevel: term.descrshort2,
        Units: term.totCumulative,
        AcademicProgram: getAcademicProgram(toArray(term.ucAcadProgs.ucAcadProgVw)),
      }
    ));
 
    this.Advisors = toArray(studentAdvisors).map(advisor => (
      {
        AdvisorRole: advisor.xlatlongname,
        AdvisorEmplId: advisor.advisorId,
        AdvisorName: advisor.nameDisplay,
        AdvisorEmail: advisor.emailAddr,
      }
    ));
  }
}