(level, levelsArr)
| 1046 | // Practice level slugs are <mainLevelSlug>-[a-z]; the DB only stores locks on the parent level |
| 1047 | // this works on junior only as they have practice levels related to parent level |
| 1048 | const findParentLevelOriginal = function (level, levelsArr) { |
| 1049 | if (!level) return |
| 1050 | let lockCheckOriginal = level.original |
| 1051 | if (level.practice) { |
| 1052 | const mainSlug = level.slug?.replace(/-[a-z]$/, '') |
| 1053 | const mainLevel = levelsArr.find(l => l.slug === mainSlug) |
| 1054 | if (mainLevel) { |
| 1055 | lockCheckOriginal = mainLevel.original |
| 1056 | } |
| 1057 | } |
| 1058 | return lockCheckOriginal |
| 1059 | } |
| 1060 | |
| 1061 | const findNextAssessmentForLevel = function (levels, currentIndex, needsPractice) { |
| 1062 | // Find assessment level immediately after current level (and its practice levels) |
nothing calls this directly
no outgoing calls
no test coverage detected