mirror of
https://github.com/matt-fidd/stratos.git
synced 2026-01-01 18:39:32 +00:00
Implement test stats
This commit is contained in:
@@ -12,11 +12,43 @@ router.get('/:id', async (req, res) => {
|
|||||||
const linkRoot = `/admin/test/${t.id}`;
|
const linkRoot = `/admin/test/${t.id}`;
|
||||||
|
|
||||||
let results = await t.getTestResults();
|
let results = await t.getTestResults();
|
||||||
|
const resultCount = results.length;
|
||||||
|
|
||||||
|
const averageScore = await t.getAverageScore();
|
||||||
|
const averagePercentage = await t.getAveragePercentage();
|
||||||
|
|
||||||
|
const stats = [
|
||||||
|
{
|
||||||
|
value: `${resultCount}/${t.class.studentIds.length}`,
|
||||||
|
text: 'Results submitted'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: `${averageScore}/${t.template.maxMark}`,
|
||||||
|
text: 'Average score'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: `${averagePercentage}%`,
|
||||||
|
text: 'Average percentage'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
if (req.session.userType === 'student') {
|
if (req.session.userType === 'student') {
|
||||||
results = results.filter(r =>
|
results = results.filter(r =>
|
||||||
r.student.id === req.session.userId
|
r.student.id === req.session.userId
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (results.length) {
|
||||||
|
stats.push({
|
||||||
|
value: results[0].mark - averageScore,
|
||||||
|
text: '+- Average score'
|
||||||
|
});
|
||||||
|
|
||||||
|
stats.push({
|
||||||
|
value: `${results[0].percentage -
|
||||||
|
averagePercentage}%`,
|
||||||
|
text: '+- Average percentage'
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return res.render('test', {
|
return res.render('test', {
|
||||||
@@ -31,28 +63,7 @@ router.get('/:id', async (req, res) => {
|
|||||||
resultsLink: `${linkRoot}/results`,
|
resultsLink: `${linkRoot}/results`,
|
||||||
deleteLink: `${linkRoot}/delete`,
|
deleteLink: `${linkRoot}/delete`,
|
||||||
testResults: results,
|
testResults: results,
|
||||||
stats: [
|
stats: stats
|
||||||
{
|
|
||||||
value: 19,
|
|
||||||
text: 'Results submitted'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: '30%',
|
|
||||||
text: 'Average score'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: 1,
|
|
||||||
text: 'Placeholder'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: '2',
|
|
||||||
text: 'Placeholder'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: '3',
|
|
||||||
text: 'Placeholder'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user