test-compile-done-event.js 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. import { buildCompileDoneEvent } from './src/server/routes/compile.js';
  2. function assert(condition, message) {
  3. if (!condition) throw new Error(message);
  4. }
  5. console.log('\n── Compile Done Event ──');
  6. const successEvent = buildCompileDoneEvent({
  7. data: {
  8. gid: 1655,
  9. appPreviewUrlMap: {
  10. TeacherPrepApp: 'https://v4pre.visuallogic.ai/play/eRMMkld2',
  11. },
  12. },
  13. }, { success: true });
  14. assert(successEvent.success === true, 'success event should preserve success=true');
  15. assert(successEvent.gid === 1655, 'success event should include gid');
  16. assert(successEvent.previewUrls.TeacherPrepApp, 'success event should include previewUrls');
  17. assert(successEvent.errCount === 0, 'success event should default to zero errCount');
  18. const errorEvent = buildCompileDoneEvent({
  19. data: { gid: 1655 },
  20. }, { success: false, errors: [{ message: 'oops' }] });
  21. assert(errorEvent.success === false, 'error event should preserve success=false');
  22. assert(errorEvent.errCount === 1, 'error event should include errCount');
  23. assert(Array.isArray(errorEvent.errors) && errorEvent.errors.length === 1, 'error event should include errors array');
  24. console.log('PASS test-compile-done-event.js');