UNPKG

ih-black-lion

Version:

State handler for Arus projects

396 lines (395 loc) 16.7 kB
<!doctype html> <html lang="en"> <head> <title>Code coverage report for models/Schedule.js</title> <meta charset="utf-8" /> <link rel="stylesheet" href="../prettify.css" /> <link rel="stylesheet" href="../base.css" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <style type='text/css'> .coverage-summary .sorter { background-image: url(../sort-arrow-sprite.png); } </style> </head> <body> <div class='wrapper'> <div class='pad1'> <h1> <a href="../index.html">All files</a> / <a href="index.html">models</a> Schedule.js </h1> <div class='clearfix'> <div class='fl pad1y space-right2'> <span class="strong">2.74% </span> <span class="quiet">Statements</span> <span class='fraction'>2/73</span> </div> <div class='fl pad1y space-right2'> <span class="strong">0% </span> <span class="quiet">Branches</span> <span class='fraction'>0/32</span> </div> <div class='fl pad1y space-right2'> <span class="strong">0% </span> <span class="quiet">Functions</span> <span class='fraction'>0/9</span> </div> <div class='fl pad1y space-right2'> <span class="strong">3.23% </span> <span class="quiet">Lines</span> <span class='fraction'>2/62</span> </div> </div> </div> <div class='status-line low'></div> <pre><table class="coverage"> <tr><td class="line-count quiet">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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">19x</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">19x</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { isArrayLike as isArray, mapObj, mapObjIndexed } from 'ramda'; import moment from 'moment'; &nbsp; const formatDays = <span class="fstat-no" title="function not covered" >(w</span>kDays) =&gt; { let days = <span class="cstat-no" title="statement not covered" >'';</span> &nbsp; <span class="cstat-no" title="statement not covered" > if (wkDays.mon === 'Y') <span class="cstat-no" title="statement not covered" >days += 'M';</span></span> <span class="cstat-no" title="statement not covered" > if (wkDays.tues === 'Y') <span class="cstat-no" title="statement not covered" >days += 'T';</span></span> <span class="cstat-no" title="statement not covered" > if (wkDays.wed === 'Y') <span class="cstat-no" title="statement not covered" >days += 'W';</span></span> <span class="cstat-no" title="statement not covered" > if (wkDays.thurs === 'Y') <span class="cstat-no" title="statement not covered" >days += 'R';</span></span> <span class="cstat-no" title="statement not covered" > if (wkDays.fri === 'Y') <span class="cstat-no" title="statement not covered" >days += 'F';</span></span> <span class="cstat-no" title="statement not covered" > if (wkDays.sat === 'Y') <span class="cstat-no" title="statement not covered" >days += 'S';</span></span> <span class="cstat-no" title="statement not covered" > if (wkDays.sun === 'Y') <span class="cstat-no" title="statement not covered" >days += 'U';</span></span> <span class="cstat-no" title="statement not covered" > if (days === '') <span class="cstat-no" title="statement not covered" >return 'TBD';</span></span> &nbsp; <span class="cstat-no" title="statement not covered" > return `${days}`;</span> }; &nbsp; const formatTimes = <span class="fstat-no" title="function not covered" >(w</span>kDays) =&gt; { const start = <span class="cstat-no" title="statement not covered" >moment(wkDays.meetingTimeStart, 'hh:mm:ss.SSS').isValid() ?</span> moment(wkDays.meetingTimeStart, 'hh:mm:ss.SSS').format('hh:mma') : 'TBD'; const end = <span class="cstat-no" title="statement not covered" >moment(wkDays.meetingTimeEnd, 'hh:mm:ss.SSS').isValid() ?</span> moment(wkDays.meetingTimeEnd, 'hh:mm:ss.SSS').format('hh:mma') : 'TBD'; &nbsp; <span class="cstat-no" title="statement not covered" > return `${start} - ${end}`;</span> }; &nbsp; export class Session { <span class="fstat-no" title="function not covered" > co</span>nstructor(obj, offerNumber) { const classOfferNumber = <span class="cstat-no" title="statement not covered" >offerNumber;</span> const meeting = <span class="cstat-no" title="statement not covered" >obj.classMeetingPatterns.classMeetingPattern;</span> &nbsp; <span class="cstat-no" title="statement not covered" > this.classNumber = obj.classNbr;</span> <span class="cstat-no" title="statement not covered" > this.classSection = obj.classSection;</span> <span class="cstat-no" title="statement not covered" > this.component = obj.ssrComponentLovdescr;</span> <span class="cstat-no" title="statement not covered" > this.days = formatDays(meeting);</span> <span class="cstat-no" title="statement not covered" > this.times = formatTimes(meeting);</span> <span class="cstat-no" title="statement not covered" > this.room = meeting.ssrMtgLocLong;</span> <span class="cstat-no" title="statement not covered" > this.instructor = meeting.ssrInstrLong;</span> <span class="cstat-no" title="statement not covered" > this.startDate = moment(obj.startDt, 'YYYY-MM-DD').format('MM/DD/YYYY');</span> <span class="cstat-no" title="statement not covered" > this.endDate = moment(obj.endDt, 'YYYY-MM-DD').format('MM/DD/YYYY');</span> <span class="cstat-no" title="statement not covered" > this.bookLink = `https://www.bkstr.com/webapp/wcs/stores/servlet/booklookServlet?bookstore_id-1=0${classOfferNumber}&amp;term_id-1=${obj.strm}&amp;crn-1=${obj.classNbr}`;</span> } } &nbsp; export class Course { <span class="fstat-no" title="function not covered" > co</span>nstructor(obj, mode) { <span class="cstat-no" title="statement not covered" > mode = parseInt(mode);</span> &nbsp; <span class="cstat-no" title="statement not covered" > this.desc = obj.courseTitleLong;</span> <span class="cstat-no" title="statement not covered" > this.status = obj.enrollStatusDescr;</span> <span class="cstat-no" title="statement not covered" > this.units = obj.untTaken;</span> <span class="cstat-no" title="statement not covered" > this.gradeDesc = obj.gradeBasisDescrformal;</span> <span class="cstat-no" title="statement not covered" > this.grade = obj.crseGradeOff;</span> <span class="cstat-no" title="statement not covered" > this.course = `${obj.subject} ${obj.catalogNbr}`;</span> &nbsp; let sessions = <span class="cstat-no" title="statement not covered" >[];</span> <span class="cstat-no" title="statement not covered" > if(obj.enrlClassSections.enrlClassSection){</span> <span class="cstat-no" title="statement not covered" > if (isArray(obj.enrlClassSections.enrlClassSection)) {</span> <span class="cstat-no" title="statement not covered" > sessions = obj.enrlClassSections.enrlClassSection.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >new Session(item, obj.crseOfferNbr))</span>;</span> } else { <span class="cstat-no" title="statement not covered" > sessions['0'] = new Session(obj.enrlClassSections.enrlClassSection, mode);</span> } } &nbsp; <span class="cstat-no" title="statement not covered" > this.sessions = sessions;</span> } } &nbsp; export class Term { <span class="fstat-no" title="function not covered" > co</span>nstructor(obj, mode) { <span class="cstat-no" title="statement not covered" > mode = parseInt(mode);</span> &nbsp; <span class="cstat-no" title="statement not covered" > this.acadCareerDesc = obj.acadCareerLovdescr;</span> <span class="cstat-no" title="statement not covered" > this.curGpa = obj.curGpa;</span> <span class="cstat-no" title="statement not covered" > this.cumGpa = obj.cumGpa;</span> <span class="cstat-no" title="statement not covered" > this.termName = obj.strmLovdescr;</span> <span class="cstat-no" title="statement not covered" > this.institution = obj.institutionLovdescr;</span> <span class="cstat-no" title="statement not covered" > this.termBeginDate = obj.termBeginDt;</span> <span class="cstat-no" title="statement not covered" > this.termEndDate = obj.termEndDt;</span> &nbsp; let termCourses = <span class="cstat-no" title="statement not covered" >[];</span> <span class="cstat-no" title="statement not covered" > if (obj.enrollmentDetails.enrollmentDetail) {</span> <span class="cstat-no" title="statement not covered" > if (Array.isArray(obj.enrollmentDetails.enrollmentDetail)) {</span> <span class="cstat-no" title="statement not covered" > termCourses = obj.enrollmentDetails.enrollmentDetail.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >new Course(item))</span>;</span> } else { <span class="cstat-no" title="statement not covered" > termCourses['0'] = new Course(obj.enrollmentDetails.enrollmentDetail);</span> } } <span class="cstat-no" title="statement not covered" > this.courses = termCourses;</span> } } &nbsp; export default class Schedule { <span class="fstat-no" title="function not covered" > co</span>nstructor(obj, mode) { <span class="cstat-no" title="statement not covered" > mode = parseInt(mode);</span> &nbsp; let terms = <span class="cstat-no" title="statement not covered" >{};</span> <span class="cstat-no" title="statement not covered" > if (obj.ssrGetEnrollmentResp.ssrEnrlStudylist.ssMessageLong !== 'You are not registered for classes in this term.') {</span> <span class="cstat-no" title="statement not covered" > if (isArray(obj.ssrGetEnrollmentResp.ssrEnrlStudylist.ssrEnrlTerms.ssrEnrlTerm)) {</span> <span class="cstat-no" title="statement not covered" > terms = mapObj(<span class="fstat-no" title="function not covered" >(t</span>erm) =&gt; <span class="cstat-no" title="statement not covered" >new Term(term, mode),</span> obj.ssrGetEnrollmentResp.ssrEnrlStudylist.ssrEnrlTerms.ssrEnrlTerm);</span> } else { <span class="cstat-no" title="statement not covered" > terms['0'] = new Term(obj.ssrGetEnrollmentResp.ssrEnrlStudylist.ssrEnrlTerms.ssrEnrlTerm, mode);</span> } } const schedule = <span class="cstat-no" title="statement not covered" >{ terms };</span> &nbsp; <span class="cstat-no" title="statement not covered" > this.terms = schedule.terms;</span> } } &nbsp;</pre></td></tr> </table></pre> <div class='push'></div><!-- for sticky footer --> </div><!-- /wrapper --> <div class='footer quiet pad2 space-top1 center small'> Code coverage generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Apr 17 2017 09:12:03 GMT-0400 (EDT) </div> </div> <script src="../prettify.js"></script> <script> window.onload = function () { if (typeof prettyPrint === 'function') { prettyPrint(); } }; </script> <script src="../sorter.js"></script> </body> </html>