From 890cd6a47028a7e266d5739e13bb451cea55ebca Mon Sep 17 00:00:00 2001 From: Peter Fogg Date: Tue, 30 Jun 2015 13:18:18 -0400 Subject: [PATCH] Add grading spec tests. --- .../coffee/spec/models/settings_grading_spec.coffee | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cms/static/coffee/spec/models/settings_grading_spec.coffee b/cms/static/coffee/spec/models/settings_grading_spec.coffee index 35befb5f8c..4092f4f161 100644 --- a/cms/static/coffee/spec/models/settings_grading_spec.coffee +++ b/cms/static/coffee/spec/models/settings_grading_spec.coffee @@ -1,4 +1,4 @@ -define ["js/models/settings/course_grading_policy"], (CourseGradingPolicy) -> +define ["underscore", "js/models/settings/course_grading_policy"], (_, CourseGradingPolicy) -> describe "CourseGradingPolicy", -> beforeEach -> @model = new CourseGradingPolicy() @@ -23,3 +23,14 @@ define ["js/models/settings/course_grading_policy"], (CourseGradingPolicy) -> expect(@model.parseGracePeriod("asdf")).toBe(null) expect(@model.parseGracePeriod("7:19")).toBe(null) expect(@model.parseGracePeriod("1000:00")).toBe(null) + + describe "validate", -> + it "enforces that the passing grade is <= the minimum grade to receive credit if credit is enabled", -> + @model.set({minimum_grade_credit: 0.8, grace_period: '01:00', is_credit_course: true}) + @model.set('grade_cutoffs', [0.9], validate: true) + expect(_.keys(@model.validationError)).toContain('minimum_grade_credit') + + it "does not enforce the passing grade limit in non-credit courses", -> + @model.set({minimum_grade_credit: 0.8, grace_period: '01:00', is_credit_course: false}) + @model.set({grade_cutoffs: [0.9]}, validate: true) + expect(@model.validationError).toBe(null)