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();