Exemplo n.º 1
0
test('returns input value when input is not a string', function () {
  strictEqual(GradeFormatHelper.delocalizeGrade(1), 1);
  ok(isNaN(GradeFormatHelper.delocalizeGrade(NaN)));
  strictEqual(GradeFormatHelper.delocalizeGrade(null), null);
  strictEqual(GradeFormatHelper.delocalizeGrade(undefined), undefined);
  strictEqual(GradeFormatHelper.delocalizeGrade(true), true);
});
Exemplo n.º 2
0
test('returns non-localized percent value when given a percent value', function () {
  const sandbox = sinon.sandbox.create();
  sandbox.stub(numberHelper, 'parse').returns(12.34);
  equal(GradeFormatHelper.delocalizeGrade('12,34%'), '12.34%');
  ok(numberHelper.parse.calledWith('12,34'));
  sandbox.restore();
});
Exemplo n.º 3
0
 $(document).bind('grading_change', function(event) {
   $(".save_comment_button").attr('disabled','disabled');
   $(".submission_header").loadingImage();
   var url = $(".update_submission_url").attr('href');
   var method = $(".update_submission_url").attr('title');
   var formData = {
     'submission[assignment_id]': ENV.SUBMISSION.assignment_id,
     'submission[user_id]': ENV.SUBMISSION.user_id,
     'submission[group_comment]': ($("#submission_group_comment").attr('checked') ? "1" : "0")
   };
   if($(".grading_value:visible").length > 0) {
     formData['submission[grade]'] = GradeFormatHelper.delocalizeGrade($('.grading_value').val());
     $.ajaxJSON(url, method, formData, submissionLoaded);
   } else {
     $(".submission_header").loadingImage('remove');
     $(".save_comment_button").attr('disabled',null);
   }
 });
Exemplo n.º 4
0
 .delegate('.submission_details_grade_form', 'submit', (event) => {
   event.preventDefault()
   let formData = $(event.currentTarget).getFormData()
   const rawGrade = formData['submission[posted_grade]']
   if (rawGrade.toUpperCase() === 'EX') {
     formData = {'submission[excuse]': true}
   } else {
     formData['submission[posted_grade]'] = GradeFormatHelper.delocalizeGrade(rawGrade)
   }
   $(event.currentTarget.form).disableWhileLoading(
     $.ajaxJSON(this.url, 'PUT', formData, (data) => {
       this.update(data)
       if (!data.excused) {
         const outlierScoreHelper = new OutlierScoreHelper(this.submission.score, this.submission.assignment.points_possible)
         if (outlierScoreHelper.hasWarning()) {
           $.flashWarning(outlierScoreHelper.warningMessage())
         }
       }
       $.publish('submissions_updated', [this.submission.all_submissions])
       setTimeout(() => this.dialog.dialog('close'), 500)
     })
   )
 })
    if (!submission || !isGradeInput) {
      return
    }

    const url = this.get('saveURL')
    let value = this.$('input, select').val()

    const excused = typeof value === 'string' && value.toUpperCase() === 'EX'
    this.setExcusedWithoutTriggeringSave(excused)

    if (this.get('isPassFail') && value === '-') {
      value = ''
    }

    value = GradeFormatHelper.delocalizeGrade(value)

    if (value === submission.grade) {
      return
    }
    const data =
      typeof value === 'string' && value.toUpperCase() === 'EX'
        ? {'submission[excuse]': true}
        : {'submission[posted_grade]': value}
    const save = this.ajax(url, {
      type: 'PUT',
      data
    })
    return save.then(this.boundUpdateSuccess, this.onUpdateError)
  },
Exemplo n.º 6
0
test('returns input value when input is not a percent or point value', function () {
  strictEqual(GradeFormatHelper.delocalizeGrade('A+'), 'A+');
  strictEqual(GradeFormatHelper.delocalizeGrade('F'), 'F');
  strictEqual(GradeFormatHelper.delocalizeGrade('Pass'), 'Pass');
});