25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 

24 satır
1.7 KiB

  1. import fs from 'node:fs';
  2. import assert from 'node:assert/strict';
  3. import {credentials} from './role-permissions-live.mjs';
  4. import videos from '../../unreal_tran_web/src/features/virtual-training-scripts/narration-video-manifest.js';
  5. import {scriptTrainingDefinition} from '../../unreal_tran_web/src/features/virtual-training-scripts/registry.js';
  6. const origin=process.env.BASE_URL || 'http://127.0.0.1:6180';
  7. const dir=process.env.REPORT_DIR || 'reports/bridge-lecture-polish-20260915/local';
  8. const login=await fetch(`${origin}/api/auth/v1/auth/login`,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({...credentials('root'),roleCode:'admin',rememberMe:false})}).then(r=>r.json());
  9. assert.ok(login.data?.accessToken);
  10. const tasks=await fetch(`${origin}/api/tran/v1/teaching/assignments?channel=VIRTUAL&assignmentKind=TRAINING&size=100`,{headers:{Authorization:`Bearer ${login.data.accessToken}`}}).then(r=>r.json());
  11. const result=[];
  12. for(const script of videos.scripts){
  13. const task=tasks.data.records.find(t=>t.code===script.code);assert.ok(task);
  14. const definition=scriptTrainingDefinition(task);
  15. assert.equal(definition.steps.length,script.steps.length);
  16. for(const [i,clip] of script.steps.entries()){
  17. assert.equal(definition.steps[i].audio.narrationUrl,clip.url,script.code+' '+clip.number);
  18. assert.equal(definition.steps[i].audio.narrationText,clip.text);
  19. assert.deepEqual(definition.steps[i].action,task.definitionSnapshot.steps[i].action);
  20. }
  21. result.push({task:script.code,id:task.id,version:task.contentVersionId,exactVideoAndTextBindings:script.steps.length,operationsUnchanged:true});
  22. }
  23. fs.mkdirSync(dir,{recursive:true});fs.writeFileSync(dir+'/bindings.json',JSON.stringify({origin,result},null,2));console.log(JSON.stringify(result));