From e9d38b25b03c7ce55b9faaeea5953dfcf401d8ef Mon Sep 17 00:00:00 2001 From: matt Date: Mon, 18 Apr 2022 21:38:48 +0000 Subject: [PATCH] Implemented grade boundaries for TestTemplate --- lib/TestTemplate.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/TestTemplate.js b/lib/TestTemplate.js index 9c45444..c8369cd 100644 --- a/lib/TestTemplate.js +++ b/lib/TestTemplate.js @@ -6,6 +6,7 @@ const crypto = require('crypto'); // Import user defined modules const Class = require('./Class'); const Test = require('./Test'); +const GradeBoundaries = require('./GradeBoundaries'); /** * A class that represents a test template @@ -41,6 +42,8 @@ class TestTemplate { */ maxMark; + gradeBoundaries; + #conn; /** @@ -54,7 +57,8 @@ class TestTemplate { testTemplateId as id, accountId, name, - maxMark + maxMark, + gradeBoundaries from testTemplate where @@ -70,7 +74,15 @@ class TestTemplate { throw new Error('No test template found'); for (const [ k, v ] of Object.entries(record[0])) - this[k] = v; + this[k] = v ?? undefined; + + if (this.gradeBoundaries) { + this.gradeBoundaries = + JSON.parse(this.gradeBoundaries); + } + + this.gradeBoundaries = + new GradeBoundaries(this.gradeBoundaries); this.account = await this.getAccount();