@testgorilla/tgo-coding-test 0.0.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/README.md +49 -2
  2. package/esm2022/index.mjs +12 -0
  3. package/esm2022/lib/components/code-editor/code-editor.component.mjs +335 -0
  4. package/esm2022/lib/components/code-editor/code-editor.service.mjs +72 -0
  5. package/esm2022/lib/components/code-editor/helpers/c-helper.mjs +40 -0
  6. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.base.mjs +11 -0
  7. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.model.mjs +2 -0
  8. package/esm2022/lib/components/code-editor/helpers/cpp-helper.mjs +41 -0
  9. package/esm2022/lib/components/code-editor/helpers/csharp-helper.mjs +42 -0
  10. package/esm2022/lib/components/code-editor/helpers/go-helper.mjs +42 -0
  11. package/esm2022/lib/components/code-editor/helpers/index.mjs +16 -0
  12. package/esm2022/lib/components/code-editor/helpers/java-helper.mjs +42 -0
  13. package/esm2022/lib/components/code-editor/helpers/javascript-helper.mjs +26 -0
  14. package/esm2022/lib/components/code-editor/helpers/kotlin-helper.mjs +42 -0
  15. package/esm2022/lib/components/code-editor/helpers/php-helper.mjs +26 -0
  16. package/esm2022/lib/components/code-editor/helpers/python-helper.mjs +26 -0
  17. package/esm2022/lib/components/code-editor/helpers/r-helper.mjs +26 -0
  18. package/esm2022/lib/components/code-editor/helpers/ruby-helper.mjs +26 -0
  19. package/esm2022/lib/components/code-editor/helpers/scala-helper.mjs +41 -0
  20. package/esm2022/lib/components/code-editor/helpers/sql-helper.mjs +34 -0
  21. package/esm2022/lib/components/code-editor/helpers/swift-helper.mjs +40 -0
  22. package/esm2022/lib/components/code-editor/helpers/typescript-helper.mjs +41 -0
  23. package/esm2022/lib/components/code-editor/models/code-editor.model.mjs +2 -0
  24. package/esm2022/lib/components/code-editor/models/coding-snapshot.model.mjs +2 -0
  25. package/esm2022/lib/components/coding-question/coding-question.component.mjs +126 -0
  26. package/esm2022/lib/components/coding-section/coding-section.component.mjs +188 -0
  27. package/esm2022/lib/components/common/truncated-text/truncated-text.component.mjs +38 -0
  28. package/esm2022/lib/components/configurations/configurations.component.mjs +97 -0
  29. package/esm2022/lib/components/instructions/instructions.component.mjs +139 -0
  30. package/esm2022/lib/components/panel/panel.component.mjs +34 -0
  31. package/esm2022/lib/components/runnable-editor/runnable-editor.component.mjs +169 -0
  32. package/esm2022/lib/components/tests/test-cases/test-cases.component.mjs +198 -0
  33. package/esm2022/lib/components/tests/test-cases-content/test-cases-content.component.mjs +96 -0
  34. package/esm2022/lib/components/tests/test-cases-status/test-cases-status.component.mjs +21 -0
  35. package/esm2022/lib/components/tests/test-results.component.mjs +127 -0
  36. package/esm2022/lib/components/tgo-coding-test/tgo-coding-test.component.mjs +280 -0
  37. package/esm2022/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.mjs +476 -0
  38. package/esm2022/lib/config/index.mjs +2 -0
  39. package/esm2022/lib/config/tgo-coding-test.config.mjs +2 -0
  40. package/esm2022/lib/config/tgo-coding-test.provider.mjs +34 -0
  41. package/esm2022/lib/config/tgo-coding-test.token.mjs +14 -0
  42. package/esm2022/lib/models/auto-saved-data.mjs +2 -0
  43. package/esm2022/lib/models/code-event.mjs +2 -0
  44. package/esm2022/lib/models/coderunner-execution-results.mjs +2 -0
  45. package/esm2022/lib/models/configs.mjs +2 -0
  46. package/esm2022/lib/models/language-change-action.mjs +2 -0
  47. package/esm2022/lib/models/lat-languages.mjs +3 -0
  48. package/esm2022/lib/models/mixpanel-events.mjs +2 -0
  49. package/esm2022/lib/models/mode.mjs +2 -0
  50. package/esm2022/lib/models/paste-data.mjs +2 -0
  51. package/esm2022/lib/models/programming-language.mjs +2 -0
  52. package/esm2022/lib/models/test-cases.mjs +7 -0
  53. package/esm2022/lib/models/theme.mjs +2 -0
  54. package/esm2022/lib/models/translations.mjs +2 -0
  55. package/esm2022/lib/models/view-mode.mjs +8 -0
  56. package/esm2022/lib/pipes/memoize-func.pipe.mjs +39 -0
  57. package/esm2022/lib/services/candidate-coding-test-services/candidature-api.service.mjs +19 -0
  58. package/esm2022/lib/services/candidate-coding-test-services/coderunner-api.service.mjs +58 -0
  59. package/esm2022/lib/services/candidate-coding-test-services/coding-test-tour.service.mjs +89 -0
  60. package/esm2022/lib/services/candidate-coding-test-services/coding-test.service.mjs +490 -0
  61. package/esm2022/lib/services/candidate-coding-test-services/index.mjs +5 -0
  62. package/esm2022/lib/services/coding-test-config.service.mjs +51 -0
  63. package/esm2022/lib/services/configurations.service.mjs +89 -0
  64. package/esm2022/lib/services/lib-coding-test.service.mjs +106 -0
  65. package/esm2022/lib/services/storage.service.mjs +624 -0
  66. package/esm2022/lib/services/test-cases.service.mjs +30 -0
  67. package/esm2022/lib/services/theme.service.mjs +36 -0
  68. package/esm2022/lib/utils/additional-languages/erlang.mjs +103 -0
  69. package/esm2022/lib/utils/resize-element.mjs +13 -0
  70. package/esm2022/lib/utils/time-to-ms.util.mjs +11 -0
  71. package/esm2022/shared/index.mjs +5 -0
  72. package/esm2022/shared/lib/components/audio-animation/audio-animation.component.mjs +114 -0
  73. package/esm2022/shared/lib/components/audio-animation/index.mjs +2 -0
  74. package/esm2022/shared/lib/components/index.mjs +3 -0
  75. package/esm2022/shared/lib/components/vimeo-video/index.mjs +2 -0
  76. package/esm2022/shared/lib/components/vimeo-video/vimeo-video.component.mjs +101 -0
  77. package/esm2022/shared/lib/models/answer.mjs +2 -0
  78. package/esm2022/shared/lib/models/assessment.mjs +2 -0
  79. package/esm2022/shared/lib/models/environment.mjs +2 -0
  80. package/esm2022/shared/lib/models/index.mjs +9 -0
  81. package/esm2022/shared/lib/models/question-component.mjs +2 -0
  82. package/esm2022/shared/lib/models/question.mjs +2 -0
  83. package/esm2022/shared/lib/models/test.mjs +2 -0
  84. package/esm2022/shared/lib/models/translations.mjs +2 -0
  85. package/esm2022/shared/lib/models/window.mjs +2 -0
  86. package/esm2022/shared/lib/services/api/api.service.mjs +97 -0
  87. package/esm2022/shared/lib/services/api/mocked-api.service.mjs +131 -0
  88. package/esm2022/shared/lib/services/environment/environment.service.mjs +13 -0
  89. package/esm2022/shared/lib/services/index.mjs +10 -0
  90. package/esm2022/shared/lib/services/localization/languages.model.mjs +19 -0
  91. package/esm2022/shared/lib/services/localization/transloco-lazy-module-utils.mjs +27 -0
  92. package/esm2022/shared/lib/services/localization/transloco-testing.module.mjs +11 -0
  93. package/esm2022/shared/lib/services/media/media.service.mjs +129 -0
  94. package/esm2022/shared/lib/services/mixpanel/mixpanel.service.mjs +30 -0
  95. package/esm2022/shared/lib/services/theme/theme.service.mjs +24 -0
  96. package/esm2022/shared/test-mocks/assessment-test.mock.mjs +112 -0
  97. package/esm2022/shared/test-mocks/index.mjs +3 -0
  98. package/esm2022/shared/test-mocks/tgo-ui.mock.mjs +39 -0
  99. package/esm2022/testgorilla-tgo-coding-test.mjs +5 -0
  100. package/fesm2022/testgorilla-tgo-coding-test.mjs +4526 -0
  101. package/fesm2022/testgorilla-tgo-coding-test.mjs.map +1 -0
  102. package/{src/index.ts → index.d.ts} +2 -19
  103. package/lib/components/code-editor/code-editor.component.d.ts +54 -0
  104. package/lib/components/code-editor/code-editor.service.d.ts +12 -0
  105. package/lib/components/code-editor/helpers/c-helper.d.ts +11 -0
  106. package/lib/components/code-editor/helpers/code-editor-helper.base.d.ts +8 -0
  107. package/lib/components/code-editor/helpers/code-editor-helper.model.d.ts +62 -0
  108. package/lib/components/code-editor/helpers/cpp-helper.d.ts +11 -0
  109. package/lib/components/code-editor/helpers/csharp-helper.d.ts +12 -0
  110. package/lib/components/code-editor/helpers/go-helper.d.ts +12 -0
  111. package/lib/components/code-editor/helpers/java-helper.d.ts +12 -0
  112. package/lib/components/code-editor/helpers/javascript-helper.d.ts +10 -0
  113. package/lib/components/code-editor/helpers/kotlin-helper.d.ts +12 -0
  114. package/lib/components/code-editor/helpers/php-helper.d.ts +10 -0
  115. package/lib/components/code-editor/helpers/python-helper.d.ts +10 -0
  116. package/lib/components/code-editor/helpers/r-helper.d.ts +10 -0
  117. package/lib/components/code-editor/helpers/ruby-helper.d.ts +10 -0
  118. package/lib/components/code-editor/helpers/scala-helper.d.ts +12 -0
  119. package/lib/components/code-editor/helpers/sql-helper.d.ts +10 -0
  120. package/lib/components/code-editor/helpers/swift-helper.d.ts +11 -0
  121. package/lib/components/code-editor/helpers/typescript-helper.d.ts +11 -0
  122. package/lib/components/code-editor/models/code-editor.model.d.ts +8 -0
  123. package/lib/components/code-editor/models/coding-snapshot.model.d.ts +4 -0
  124. package/lib/components/coding-question/coding-question.component.d.ts +45 -0
  125. package/lib/components/coding-section/coding-section.component.d.ts +52 -0
  126. package/lib/components/common/truncated-text/truncated-text.component.d.ts +13 -0
  127. package/lib/components/configurations/configurations.component.d.ts +40 -0
  128. package/lib/components/instructions/instructions.component.d.ts +48 -0
  129. package/lib/components/panel/panel.component.d.ts +12 -0
  130. package/lib/components/runnable-editor/runnable-editor.component.d.ts +53 -0
  131. package/lib/components/tests/test-cases/test-cases.component.d.ts +46 -0
  132. package/lib/components/tests/test-cases-content/test-cases-content.component.d.ts +26 -0
  133. package/lib/components/tests/test-cases-status/test-cases-status.component.d.ts +9 -0
  134. package/lib/components/tests/test-results.component.d.ts +33 -0
  135. package/lib/components/tgo-coding-test/tgo-coding-test.component.d.ts +69 -0
  136. package/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.d.ts +101 -0
  137. package/{src/lib/config/index.ts → lib/config/index.d.ts} +0 -1
  138. package/lib/config/tgo-coding-test.config.d.ts +24 -0
  139. package/{src/lib/config/tgo-coding-test.provider.ts → lib/config/tgo-coding-test.provider.d.ts} +6 -18
  140. package/lib/config/tgo-coding-test.token.d.ts +9 -0
  141. package/lib/models/auto-saved-data.d.ts +42 -0
  142. package/lib/models/code-event.d.ts +15 -0
  143. package/lib/models/coderunner-execution-results.d.ts +51 -0
  144. package/lib/models/configs.d.ts +15 -0
  145. package/lib/models/language-change-action.d.ts +4 -0
  146. package/lib/models/lat-languages.d.ts +8 -0
  147. package/lib/models/mixpanel-events.d.ts +3 -0
  148. package/lib/models/mode.d.ts +5 -0
  149. package/lib/models/paste-data.d.ts +4 -0
  150. package/lib/models/programming-language.d.ts +8 -0
  151. package/lib/models/test-cases.d.ts +67 -0
  152. package/lib/models/theme.d.ts +4 -0
  153. package/lib/models/translations.d.ts +1 -0
  154. package/lib/models/view-mode.d.ts +6 -0
  155. package/{src/lib/pipes/memoize-func.pipe.ts → lib/pipes/memoize-func.pipe.d.ts} +6 -14
  156. package/lib/services/candidate-coding-test-services/candidature-api.service.d.ts +10 -0
  157. package/lib/services/candidate-coding-test-services/coderunner-api.service.d.ts +18 -0
  158. package/lib/services/candidate-coding-test-services/coding-test-tour.service.d.ts +22 -0
  159. package/lib/services/candidate-coding-test-services/coding-test.service.d.ts +68 -0
  160. package/{src/lib/services/candidate-coding-test-services/index.ts → lib/services/candidate-coding-test-services/index.d.ts} +1 -1
  161. package/lib/services/coding-test-config.service.d.ts +38 -0
  162. package/lib/services/configurations.service.d.ts +37 -0
  163. package/lib/services/lib-coding-test.service.d.ts +69 -0
  164. package/lib/services/storage.service.d.ts +83 -0
  165. package/lib/services/test-cases.service.d.ts +12 -0
  166. package/lib/services/theme.service.d.ts +17 -0
  167. package/lib/utils/additional-languages/erlang.d.ts +37 -0
  168. package/lib/utils/resize-element.d.ts +2 -0
  169. package/lib/utils/time-to-ms.util.d.ts +1 -0
  170. package/package.json +18 -7
  171. package/shared/index.d.ts +4 -0
  172. package/shared/lib/components/audio-animation/audio-animation.component.d.ts +27 -0
  173. package/shared/lib/components/audio-animation/index.d.ts +1 -0
  174. package/shared/lib/components/index.d.ts +2 -0
  175. package/shared/lib/components/vimeo-video/index.d.ts +1 -0
  176. package/shared/lib/components/vimeo-video/vimeo-video.component.d.ts +24 -0
  177. package/shared/lib/models/answer.d.ts +17 -0
  178. package/shared/lib/models/assessment.d.ts +80 -0
  179. package/shared/lib/models/environment.d.ts +1 -0
  180. package/shared/lib/models/index.d.ts +8 -0
  181. package/shared/lib/models/question-component.d.ts +54 -0
  182. package/shared/lib/models/question.d.ts +102 -0
  183. package/shared/lib/models/test.d.ts +81 -0
  184. package/shared/lib/models/translations.d.ts +1 -0
  185. package/shared/lib/models/window.d.ts +6 -0
  186. package/shared/lib/services/api/api.service.d.ts +25 -0
  187. package/shared/lib/services/api/mocked-api.service.d.ts +35 -0
  188. package/shared/lib/services/environment/environment.service.d.ts +6 -0
  189. package/shared/lib/services/index.d.ts +9 -0
  190. package/shared/lib/services/localization/languages.model.d.ts +15 -0
  191. package/shared/lib/services/localization/transloco-lazy-module-utils.d.ts +11 -0
  192. package/shared/lib/services/localization/transloco-testing.module.d.ts +2 -0
  193. package/shared/lib/services/media/media.service.d.ts +29 -0
  194. package/shared/lib/services/mixpanel/mixpanel.service.d.ts +10 -0
  195. package/shared/lib/services/theme/theme.service.d.ts +8 -0
  196. package/shared/test-mocks/assessment-test.mock.d.ts +21 -0
  197. package/shared/test-mocks/index.d.ts +2 -0
  198. package/shared/test-mocks/tgo-ui.mock.d.ts +21 -0
  199. package/.eslintrc.json +0 -45
  200. package/jest.config.ts +0 -21
  201. package/ng-package.json +0 -14
  202. package/project.json +0 -36
  203. package/src/lib/components/.gitkeep +0 -0
  204. package/src/lib/components/code-editor/code-editor.component.html +0 -10
  205. package/src/lib/components/code-editor/code-editor.component.scss +0 -21
  206. package/src/lib/components/code-editor/code-editor.component.spec.ts +0 -136
  207. package/src/lib/components/code-editor/code-editor.component.ts +0 -369
  208. package/src/lib/components/code-editor/code-editor.mocks.ts +0 -28
  209. package/src/lib/components/code-editor/code-editor.service.spec.ts +0 -160
  210. package/src/lib/components/code-editor/code-editor.service.ts +0 -94
  211. package/src/lib/components/code-editor/helpers/c-helper.spec.ts +0 -39
  212. package/src/lib/components/code-editor/helpers/c-helper.ts +0 -51
  213. package/src/lib/components/code-editor/helpers/code-editor-helper.base.spec.ts +0 -30
  214. package/src/lib/components/code-editor/helpers/code-editor-helper.base.ts +0 -16
  215. package/src/lib/components/code-editor/helpers/code-editor-helper.mocks.ts +0 -24
  216. package/src/lib/components/code-editor/helpers/code-editor-helper.model.ts +0 -67
  217. package/src/lib/components/code-editor/helpers/cpp-helper.spec.ts +0 -40
  218. package/src/lib/components/code-editor/helpers/cpp-helper.ts +0 -52
  219. package/src/lib/components/code-editor/helpers/csharp-helper.spec.ts +0 -42
  220. package/src/lib/components/code-editor/helpers/csharp-helper.ts +0 -55
  221. package/src/lib/components/code-editor/helpers/go-helper.spec.ts +0 -41
  222. package/src/lib/components/code-editor/helpers/go-helper.ts +0 -54
  223. package/src/lib/components/code-editor/helpers/java-helper.spec.ts +0 -41
  224. package/src/lib/components/code-editor/helpers/java-helper.ts +0 -54
  225. package/src/lib/components/code-editor/helpers/javascript-helper.spec.ts +0 -39
  226. package/src/lib/components/code-editor/helpers/javascript-helper.ts +0 -32
  227. package/src/lib/components/code-editor/helpers/kotlin-helper.spec.ts +0 -41
  228. package/src/lib/components/code-editor/helpers/kotlin-helper.ts +0 -54
  229. package/src/lib/components/code-editor/helpers/php-helper.spec.ts +0 -39
  230. package/src/lib/components/code-editor/helpers/php-helper.ts +0 -32
  231. package/src/lib/components/code-editor/helpers/python-helper.spec.ts +0 -39
  232. package/src/lib/components/code-editor/helpers/python-helper.ts +0 -32
  233. package/src/lib/components/code-editor/helpers/r-helper.spec.ts +0 -39
  234. package/src/lib/components/code-editor/helpers/r-helper.ts +0 -32
  235. package/src/lib/components/code-editor/helpers/ruby-helper.spec.ts +0 -39
  236. package/src/lib/components/code-editor/helpers/ruby-helper.ts +0 -32
  237. package/src/lib/components/code-editor/helpers/scala-helper.spec.ts +0 -41
  238. package/src/lib/components/code-editor/helpers/scala-helper.ts +0 -53
  239. package/src/lib/components/code-editor/helpers/sql-helper.spec.ts +0 -87
  240. package/src/lib/components/code-editor/helpers/sql-helper.ts +0 -44
  241. package/src/lib/components/code-editor/helpers/swift-helper.spec.ts +0 -40
  242. package/src/lib/components/code-editor/helpers/swift-helper.ts +0 -51
  243. package/src/lib/components/code-editor/helpers/typescript-helper.spec.ts +0 -40
  244. package/src/lib/components/code-editor/helpers/typescript-helper.ts +0 -52
  245. package/src/lib/components/code-editor/models/code-editor.model.ts +0 -9
  246. package/src/lib/components/code-editor/models/coding-snapshot.model.ts +0 -4
  247. package/src/lib/components/coding-question/coding-question.component.html +0 -78
  248. package/src/lib/components/coding-question/coding-question.component.scss +0 -76
  249. package/src/lib/components/coding-question/coding-question.component.spec.ts +0 -85
  250. package/src/lib/components/coding-question/coding-question.component.ts +0 -102
  251. package/src/lib/components/coding-section/coding-section.component.html +0 -82
  252. package/src/lib/components/coding-section/coding-section.component.scss +0 -64
  253. package/src/lib/components/coding-section/coding-section.component.spec.ts +0 -257
  254. package/src/lib/components/coding-section/coding-section.component.ts +0 -187
  255. package/src/lib/components/coding-test.module.ts +0 -124
  256. package/src/lib/components/common/truncated-text/truncated-text.component.html +0 -6
  257. package/src/lib/components/common/truncated-text/truncated-text.component.scss +0 -18
  258. package/src/lib/components/common/truncated-text/truncated-text.component.spec.ts +0 -84
  259. package/src/lib/components/common/truncated-text/truncated-text.component.ts +0 -37
  260. package/src/lib/components/configurations/configurations.component.html +0 -57
  261. package/src/lib/components/configurations/configurations.component.scss +0 -42
  262. package/src/lib/components/configurations/configurations.component.spec.ts +0 -186
  263. package/src/lib/components/configurations/configurations.component.ts +0 -98
  264. package/src/lib/components/instructions/instructions.component.html +0 -41
  265. package/src/lib/components/instructions/instructions.component.scss +0 -167
  266. package/src/lib/components/instructions/instructions.component.spec.ts +0 -106
  267. package/src/lib/components/instructions/instructions.component.ts +0 -138
  268. package/src/lib/components/panel/panel.component.html +0 -19
  269. package/src/lib/components/panel/panel.component.scss +0 -41
  270. package/src/lib/components/panel/panel.component.spec.ts +0 -40
  271. package/src/lib/components/panel/panel.component.ts +0 -34
  272. package/src/lib/components/runnable-editor/runnable-editor.component.html +0 -75
  273. package/src/lib/components/runnable-editor/runnable-editor.component.scss +0 -55
  274. package/src/lib/components/runnable-editor/runnable-editor.component.spec.ts +0 -124
  275. package/src/lib/components/runnable-editor/runnable-editor.component.ts +0 -155
  276. package/src/lib/components/tests/test-cases/test-cases.component.html +0 -135
  277. package/src/lib/components/tests/test-cases/test-cases.component.scss +0 -220
  278. package/src/lib/components/tests/test-cases/test-cases.component.spec.ts +0 -401
  279. package/src/lib/components/tests/test-cases/test-cases.component.ts +0 -205
  280. package/src/lib/components/tests/test-cases-content/test-cases-content.component.html +0 -94
  281. package/src/lib/components/tests/test-cases-content/test-cases-content.component.scss +0 -103
  282. package/src/lib/components/tests/test-cases-content/test-cases-content.component.spec.ts +0 -122
  283. package/src/lib/components/tests/test-cases-content/test-cases-content.component.ts +0 -102
  284. package/src/lib/components/tests/test-cases-status/test-cases-status.component.html +0 -16
  285. package/src/lib/components/tests/test-cases-status/test-cases-status.component.scss +0 -49
  286. package/src/lib/components/tests/test-cases-status/test-cases-status.component.spec.ts +0 -22
  287. package/src/lib/components/tests/test-cases-status/test-cases-status.component.ts +0 -18
  288. package/src/lib/components/tests/test-results.component.html +0 -119
  289. package/src/lib/components/tests/test-results.component.scss +0 -189
  290. package/src/lib/components/tests/test-results.component.spec.ts +0 -140
  291. package/src/lib/components/tests/test-results.component.ts +0 -98
  292. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.html +0 -96
  293. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.scss +0 -6
  294. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.spec.ts +0 -599
  295. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.ts +0 -279
  296. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.html +0 -36
  297. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.scss +0 -183
  298. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.spec.ts +0 -883
  299. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.ts +0 -575
  300. package/src/lib/config/tgo-coding-test.config.ts +0 -26
  301. package/src/lib/config/tgo-coding-test.token.ts +0 -21
  302. package/src/lib/models/.gitkeep +0 -0
  303. package/src/lib/models/auto-saved-data.ts +0 -51
  304. package/src/lib/models/code-event.ts +0 -17
  305. package/src/lib/models/coderunner-execution-results.ts +0 -58
  306. package/src/lib/models/coding-lib.mocks.ts +0 -246
  307. package/src/lib/models/configs.ts +0 -18
  308. package/src/lib/models/language-change-action.ts +0 -4
  309. package/src/lib/models/lat-languages.ts +0 -12
  310. package/src/lib/models/mixpanel-events.ts +0 -3
  311. package/src/lib/models/mode.ts +0 -5
  312. package/src/lib/models/paste-data.ts +0 -4
  313. package/src/lib/models/programming-language.ts +0 -9
  314. package/src/lib/models/test-cases.ts +0 -74
  315. package/src/lib/models/theme.ts +0 -5
  316. package/src/lib/models/translations.ts +0 -1
  317. package/src/lib/models/view-mode.ts +0 -6
  318. package/src/lib/services/.gitkeep +0 -0
  319. package/src/lib/services/candidate-coding-test-services/candidature-api.service.spec.ts +0 -40
  320. package/src/lib/services/candidate-coding-test-services/candidature-api.service.ts +0 -15
  321. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.spec.ts +0 -134
  322. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.ts +0 -105
  323. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.spec.ts +0 -161
  324. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.ts +0 -100
  325. package/src/lib/services/candidate-coding-test-services/coding-test.service.spec.ts +0 -1524
  326. package/src/lib/services/candidate-coding-test-services/coding-test.service.ts +0 -843
  327. package/src/lib/services/coding-test-config.service.ts +0 -48
  328. package/src/lib/services/configurations.service.mocks.ts +0 -77
  329. package/src/lib/services/configurations.service.spec.ts +0 -79
  330. package/src/lib/services/configurations.service.ts +0 -111
  331. package/src/lib/services/index.ts +0 -0
  332. package/src/lib/services/lib-coding-test.service.spec.ts +0 -265
  333. package/src/lib/services/lib-coding-test.service.ts +0 -157
  334. package/src/lib/services/local-storage.service.mocks.ts +0 -22
  335. package/src/lib/services/storage.service.spec.ts +0 -1120
  336. package/src/lib/services/storage.service.ts +0 -729
  337. package/src/lib/services/test-cases.service.spec.ts +0 -53
  338. package/src/lib/services/test-cases.service.ts +0 -29
  339. package/src/lib/services/theme.service.spec.ts +0 -76
  340. package/src/lib/services/theme.service.ts +0 -34
  341. package/src/lib/styles/mixins.scss +0 -86
  342. package/src/lib/styles/styles.scss +0 -112
  343. package/src/lib/styles/variables.scss +0 -105
  344. package/src/lib/utils/.gitkeep +0 -0
  345. package/src/lib/utils/additional-languages/erlang.ts +0 -115
  346. package/src/lib/utils/resize-element.ts +0 -15
  347. package/src/lib/utils/time-to-ms.util.ts +0 -10
  348. package/src/test-setup.ts +0 -1
  349. package/tsconfig.json +0 -16
  350. package/tsconfig.lib.json +0 -12
  351. package/tsconfig.lib.prod.json +0 -9
  352. package/tsconfig.spec.json +0 -13
  353. /package/{src/assets → assets}/i18n/en.json +0 -0
  354. /package/{src/lib/components/code-editor/helpers/index.ts → lib/components/code-editor/helpers/index.d.ts} +0 -0
@@ -1,48 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { TGO_CODING_TEST_CONFIG } from '../config/tgo-coding-test.token';
3
-
4
- /**
5
- * Service for accessing TGO Coding Test library configuration.
6
- *
7
- * This service provides a clean abstraction layer over the configuration
8
- * injection token, allowing services to access configuration values
9
- * without directly injecting the token.
10
- *
11
- * @example
12
- * ```typescript
13
- * @Injectable()
14
- * export class MyService {
15
- * private readonly configService = inject(CodingTestConfigService);
16
- *
17
- * doSomething() {
18
- * const endpoint = this.configService.getCoderunnerV2Endpoint();
19
- * // Use endpoint...
20
- * }
21
- * }
22
- * ```
23
- */
24
- @Injectable({
25
- providedIn: 'root',
26
- })
27
- export class CodingTestConfigService {
28
- private readonly config = inject(TGO_CODING_TEST_CONFIG);
29
-
30
- /**
31
- * Gets the main API endpoint URL.
32
- *
33
- * @returns The base URL for the main API endpoint
34
- */
35
- getApiUrl(): string {
36
- return this.config.apiUrl;
37
- }
38
-
39
- /**
40
- * Gets the CodeRunner V2 API endpoint URL.
41
- *
42
- * @returns The base URL for the CodeRunner V2 API endpoint
43
- */
44
- getCoderunnerV2Endpoint(): string {
45
- return this.config.coderunnerV2Endpoint;
46
- }
47
- }
48
-
@@ -1,77 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import { CodingAssistanceOptions, Config, FormattingOptions } from '../models/configs';
3
- import { Themes } from '../models/theme';
4
-
5
- const defaultConfigs = {
6
- [FormattingOptions.ColorTheme]: Themes.Default,
7
- [FormattingOptions.TabSize]: 4,
8
- [FormattingOptions.FontSize]: 14,
9
- [CodingAssistanceOptions.AutoComplete]: true,
10
- [CodingAssistanceOptions.ErrorHighlighting]: true,
11
- [CodingAssistanceOptions.AutoBrackets]: true,
12
- };
13
-
14
- export const CONFIGURATIONS_SERVICE_MOCK = {
15
- defaultConfigs,
16
-
17
- formattingOptions: {
18
- [FormattingOptions.ColorTheme]: [
19
- { label: 'Light', value: Themes.Default },
20
- { label: 'Dark', value: Themes.Dark },
21
- ],
22
- [FormattingOptions.TabSize]: [
23
- { label: '4 (default)', value: 4 },
24
- { label: '2', value: 2 },
25
- { label: '3', value: 3 },
26
- { label: '5', value: 5 },
27
- { label: '8', value: 8 },
28
- ],
29
- [FormattingOptions.FontSize]: [
30
- { label: '10px', value: 10 },
31
- { label: '12px', value: 12 },
32
- { label: '14px (default)', value: 14 },
33
- { label: '16px', value: 16 },
34
- { label: '18px', value: 18 },
35
- { label: '20px', value: 20 },
36
- ],
37
- },
38
-
39
- codingAssistanceOptions: {
40
- [CodingAssistanceOptions.AutoComplete]: true,
41
- [CodingAssistanceOptions.ErrorHighlighting]: true,
42
- [CodingAssistanceOptions.AutoBrackets]: true,
43
- },
44
-
45
- codeComponentDestroyed: true,
46
- config$: new BehaviorSubject(defaultConfigs),
47
- colorTheme$: new BehaviorSubject(defaultConfigs[FormattingOptions.ColorTheme]),
48
-
49
- getInitialConfig(): Config {
50
- return { ...this.defaultConfigs };
51
- },
52
-
53
- getFormattingOptions(): {
54
- [key: string]: {
55
- label: string;
56
- value: Themes | number;
57
- }[];
58
- } {
59
- return { ...this.formattingOptions };
60
- },
61
-
62
- getCodingAssistanceOptions(): { [key: string]: boolean } {
63
- return { ...this.codingAssistanceOptions };
64
- },
65
-
66
- setConfig(config: Config) {
67
- this.config$.next({ ...config });
68
- },
69
-
70
- getCodeComponentDestroyed(): boolean {
71
- return this.codeComponentDestroyed;
72
- },
73
-
74
- setCodeComponentDestroyed(value: boolean) {
75
- this.codeComponentDestroyed = value;
76
- },
77
- };
@@ -1,79 +0,0 @@
1
- import { skip } from 'rxjs';
2
- import { CodingAssistanceOptions, Config, FormattingOptions } from '../models/configs';
3
- import { Themes } from '../models/theme';
4
- import { ConfigurationsService } from './configurations.service';
5
-
6
- describe('ConfigurationsService', () => {
7
- let service: ConfigurationsService;
8
- let config: Config;
9
-
10
- beforeEach(() => {
11
- service = new ConfigurationsService();
12
- });
13
-
14
- describe('when updating the color theme', () => {
15
- it('should update config$ with updated theme value', done => {
16
- const theme = Themes.Dark;
17
- service.config$.subscribe((val: Config) => {
18
- expect(val[FormattingOptions.ColorTheme]).toEqual(theme);
19
- done();
20
- });
21
- service.setColorTheme(theme);
22
- });
23
- });
24
-
25
- describe('when config panel is opened', () => {
26
- it('should publish true to configurationsPanelOpen$', done => {
27
- service.configurationsPanelOpen$.subscribe(val => {
28
- expect(val).toBeTruthy();
29
- done();
30
- });
31
- service.openConfigPanel();
32
- });
33
- });
34
-
35
- describe('when config panel is closed', () => {
36
- it('should publish false to configurationsPanelOpen$', done => {
37
- service.configurationsPanelOpen$.pipe(skip(1)).subscribe(val => {
38
- expect(val).toBeFalsy();
39
- done();
40
- });
41
- service.closeConfigPanel();
42
- });
43
- });
44
-
45
- describe('when config is set', () => {
46
- beforeEach(() => {
47
- config = service.getInitialConfig();
48
- config[FormattingOptions.ColorTheme] = Themes.Dark;
49
- config[CodingAssistanceOptions.ErrorHighlighting] = false;
50
- });
51
- it('should publish value to config$', done => {
52
- service.config$.subscribe(val => {
53
- expect(val).toEqual(config);
54
- done();
55
- });
56
- service.setConfig(config);
57
- });
58
- it('should publish updated theme value to colorTheme$', done => {
59
- service.colorTheme$.subscribe(val => {
60
- expect(val).toEqual(config[FormattingOptions.ColorTheme]);
61
- done();
62
- });
63
- service.setConfig(config);
64
- });
65
- });
66
-
67
- describe('when track config changed is called', () => {
68
- it('should publish value to configFieldChanged$', done => {
69
- const change = { [CodingAssistanceOptions.ErrorHighlighting]: false };
70
-
71
- service.configFieldChanged$.subscribe(val => {
72
- expect(val).toEqual(change);
73
- done();
74
- });
75
-
76
- service.trackConfigChanged(change);
77
- });
78
- });
79
- });
@@ -1,111 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject, distinctUntilChanged, map, Observable, Subject } from 'rxjs';
3
- import { CodingAssistanceOptions, Config, FormattingOptions } from '../models/configs';
4
- import { Themes } from '../models/theme';
5
-
6
- @Injectable({
7
- providedIn: 'root',
8
- })
9
- export class ConfigurationsService {
10
- private defaultConfigs: Config = {
11
- [FormattingOptions.ColorTheme]: Themes.Default,
12
- [FormattingOptions.TabSize]: 4,
13
- [FormattingOptions.FontSize]: 14,
14
- [CodingAssistanceOptions.AutoComplete]: true,
15
- [CodingAssistanceOptions.ErrorHighlighting]: true,
16
- [CodingAssistanceOptions.AutoBrackets]: true,
17
- };
18
-
19
- private formattingOptions = {
20
- [FormattingOptions.ColorTheme]: [
21
- { label: 'Light', value: Themes.Default },
22
- { label: 'Dark', value: Themes.Dark },
23
- ],
24
- [FormattingOptions.TabSize]: [
25
- { label: '2', value: 2 },
26
- { label: '3', value: 3 },
27
- { label: '4 (default)', value: 4 },
28
- { label: '5', value: 5 },
29
- { label: '8', value: 8 },
30
- ],
31
- [FormattingOptions.FontSize]: [
32
- { label: '10px', value: 10 },
33
- { label: '12px', value: 12 },
34
- { label: '14px (default)', value: 14 },
35
- { label: '16px', value: 16 },
36
- { label: '18px', value: 18 },
37
- { label: '20px', value: 20 },
38
- ],
39
- };
40
-
41
- private codingAssistanceOptions = {
42
- [CodingAssistanceOptions.AutoComplete]: true,
43
- [CodingAssistanceOptions.ErrorHighlighting]: true,
44
- [CodingAssistanceOptions.AutoBrackets]: true,
45
- };
46
-
47
- private configSubj$ = new BehaviorSubject<Config>(this.defaultConfigs);
48
- config$: Observable<Config> = this.configSubj$.asObservable();
49
-
50
- private configFieldChangedSubj$ = new Subject<Partial<Config>>();
51
- configFieldChanged$ = this.configFieldChangedSubj$.asObservable();
52
-
53
- private currentConfig = { ...this.defaultConfigs };
54
-
55
- colorTheme$: Observable<Themes> = this.config$.pipe(
56
- map(config => config[FormattingOptions.ColorTheme] as Themes),
57
- distinctUntilChanged()
58
- );
59
-
60
- private codeComponentDestroyed = true;
61
-
62
- private configurationsPanelOpenSubj$ = new BehaviorSubject<boolean>(false);
63
- configurationsPanelOpen$ = this.configurationsPanelOpenSubj$.asObservable();
64
-
65
- setColorTheme(value: Themes): void {
66
- this.currentConfig[FormattingOptions.ColorTheme] = value;
67
- this.setConfig(this.currentConfig);
68
- }
69
-
70
- setConfig(config: Config) {
71
- this.configSubj$.next(config);
72
- this.currentConfig = config;
73
- }
74
-
75
- trackConfigChanged(changedField: Partial<Config>): void {
76
- this.configFieldChangedSubj$.next(changedField);
77
- }
78
-
79
- getInitialConfig(): Config {
80
- return { ...this.currentConfig };
81
- }
82
-
83
- openConfigPanel(): void {
84
- this.configurationsPanelOpenSubj$.next(true);
85
- }
86
-
87
- closeConfigPanel() {
88
- this.configurationsPanelOpenSubj$.next(false);
89
- }
90
-
91
- getFormattingOptions(): {
92
- [key: string]: {
93
- label: string;
94
- value: Themes | number;
95
- }[];
96
- } {
97
- return { ...this.formattingOptions };
98
- }
99
-
100
- getCodingAssistanceOptions(): { [key: string]: boolean } {
101
- return { ...this.codingAssistanceOptions };
102
- }
103
-
104
- getCodeComponentDestroyed(): boolean {
105
- return this.codeComponentDestroyed;
106
- }
107
-
108
- setCodeComponentDestroyed(value: boolean) {
109
- this.codeComponentDestroyed = value;
110
- }
111
- }
File without changes
@@ -1,265 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
- import { MockProvider } from 'ng-mocks';
3
- import { Subject } from 'rxjs';
4
- import { CodeEditorLanguages } from '../components/code-editor/helpers/code-editor-helper.model';
5
- import { LanguageChangeAction } from '../models/language-change-action';
6
- import { Themes } from '../models/theme';
7
- import { ConfigurationsService } from './configurations.service';
8
- import { LibCodingTestService, ResetCodeAction } from './lib-coding-test.service';
9
- import { TestCaseDeletionAction } from '../models/test-cases';
10
-
11
- describe('LibCodingTestService', () => {
12
- let service: LibCodingTestService;
13
- const colorThemeSubject = new Subject<Themes>();
14
-
15
- beforeEach(() => {
16
- TestBed.configureTestingModule({
17
- providers: [
18
- LibCodingTestService,
19
- MockProvider(ConfigurationsService, {
20
- colorTheme$: colorThemeSubject,
21
- configFieldChanged$: new Subject(),
22
- }),
23
- ],
24
- });
25
-
26
- service = TestBed.inject(LibCodingTestService);
27
- });
28
-
29
- describe('when resetting the code', () => {
30
- it('should publish ResetCodeAction.Try to codeReset$', done => {
31
- service.codeReset$.subscribe(val => {
32
- expect(val).toEqual(ResetCodeAction.Try);
33
- done();
34
- });
35
- service.resetCode();
36
- });
37
- });
38
-
39
- describe('when triggering the guided tour', () => {
40
- it('should emit to startGuidedTour$', done => {
41
- service.startGuidedTour$.subscribe(val => {
42
- expect(val).toBeUndefined();
43
- done();
44
- });
45
- service.startGuidedTour();
46
- });
47
- });
48
-
49
- describe('when confirm resetting the code', () => {
50
- it('should publish ResetCodeAction.Confirm to codeReset$', done => {
51
- service.codeReset$.subscribe(val => {
52
- expect(val).toEqual(ResetCodeAction.Confirm);
53
- done();
54
- });
55
- service.confirmReset();
56
- });
57
- });
58
-
59
- describe('when language change is cancelled', () => {
60
- it('should publish LanguageChangeAction.Cancel to languageChange$', done => {
61
- service.languageChange$.subscribe(val => {
62
- expect(val).toEqual(LanguageChangeAction.Cancel);
63
- done();
64
- });
65
- service.cancelLanguageChange();
66
- });
67
- });
68
-
69
- describe('when language change is confirmed', () => {
70
- it('should publish LanguageChangeAction.Confirm to languageChange$', done => {
71
- service.languageChange$.subscribe(val => {
72
- expect(val).toEqual(LanguageChangeAction.Confirm);
73
- done();
74
- });
75
- service.confirmLanguageChange();
76
- });
77
- });
78
-
79
- describe('when language is updated', () => {
80
- it('should publish updated language to currentLanguage$', done => {
81
- const language = CodeEditorLanguages.Java;
82
- service.currentLanguage$.subscribe(val => {
83
- expect(val).toEqual(language);
84
- done();
85
- });
86
- service.changeCurrentLanguage(language);
87
- });
88
- });
89
-
90
- describe('when handleTestCaseDeletion is called', () => {
91
- it('should publish Try action to testCaseDeletionSub$', done => {
92
- const index = 3;
93
-
94
- service.testCaseDeletion$.subscribe(val => {
95
- expect(val).toEqual({ action: TestCaseDeletionAction.Try, index });
96
- done();
97
- });
98
- service.handleTestCaseDeletion(index);
99
- });
100
- });
101
-
102
- describe('when confirmTestCaseDeletion is called', () => {
103
- it('should publish Confirm action to testCaseDeletionSub$', done => {
104
- const index = 3;
105
-
106
- service.testCaseDeletion$.subscribe(val => {
107
- expect(val).toEqual({ action: TestCaseDeletionAction.Confirm, index });
108
- done();
109
- });
110
- service.confirmTestCaseDeletion(index);
111
- });
112
- });
113
-
114
- describe('when updateTestCases is called', () => {
115
- it('should set new value to testCases', () => {
116
- const newTestCases = [
117
- {
118
- localId: 1,
119
- name: 'name',
120
- input: 'input',
121
- expectedOutput: 'expectedOutput',
122
- preloaded: false,
123
- },
124
- ];
125
-
126
- service.updateTestCases(newTestCases);
127
- expect(service.getTestCases()).toEqual(newTestCases);
128
- });
129
- });
130
-
131
- describe('when getValidTestCases is called', () => {
132
- it('should return testCases with both filled input & expectedOutput', () => {
133
- const newTestCases = [
134
- {
135
- localId: 1,
136
- name: 'name',
137
- input: 'input',
138
- expectedOutput: 'expectedOutput',
139
- preloaded: false,
140
- },
141
- {
142
- localId: 2,
143
- name: 'name 1',
144
- input: '',
145
- expectedOutput: 'expectedOutput',
146
- preloaded: false,
147
- },
148
- {
149
- localId: 3,
150
- name: 'name 2',
151
- input: 'input',
152
- expectedOutput: '',
153
- preloaded: false,
154
- },
155
- ];
156
-
157
- service.updateTestCases(newTestCases);
158
- expect(service.getValidTestCases()).toEqual([newTestCases[0]]);
159
- });
160
- });
161
-
162
- describe('when getTestCasesCount is called', () => {
163
- it('should return number of all testCases', () => {
164
- const newTestCases = [
165
- {
166
- localId: 1,
167
- name: 'name',
168
- input: 'input',
169
- expectedOutput: 'expectedOutput',
170
- preloaded: false,
171
- },
172
- {
173
- localId: 2,
174
- name: 'name 1',
175
- input: '',
176
- expectedOutput: 'expectedOutput',
177
- preloaded: false,
178
- },
179
- {
180
- localId: 3,
181
- name: 'name 2',
182
- input: 'input',
183
- expectedOutput: '',
184
- preloaded: false,
185
- },
186
- ];
187
-
188
- service.updateTestCases(newTestCases);
189
- expect(service.getTestCasesCount()).toEqual(newTestCases.length);
190
- });
191
- });
192
-
193
- describe('when get/setVersion is called', () => {
194
- it('should set version with passed value', () => {
195
- const version = '123';
196
-
197
- service.setVersion(version);
198
- expect(service.getVersion()).toEqual(version);
199
- });
200
- });
201
-
202
- describe('when get/setInitCode is called', () => {
203
- it('should set initCode with passed value', () => {
204
- const initCode = 'function test() { console.log(); }';
205
-
206
- service.setInitCode(initCode);
207
- expect(service.getInitCode()).toEqual(initCode);
208
- });
209
- });
210
-
211
- describe('when setting fullscreen', () => {
212
- it('should publish value to isFullscreen', done => {
213
- const isFullscreen = true;
214
-
215
- service.isFullscreen$.subscribe(val => {
216
- expect(val).toEqual(isFullscreen);
217
- done();
218
- });
219
- service.setFullscreen(isFullscreen);
220
- });
221
- });
222
-
223
- describe('when code value is updated', () => {
224
- it('should publish updated code to codeChange$', done => {
225
- const code = `def lucky_8( a, b ) :
226
- #Insert your code here python`;
227
- service.codeChange$.subscribe(val => {
228
- expect(val).toEqual(code);
229
- done();
230
- });
231
- service.changeCurrentCode(code);
232
- });
233
- });
234
-
235
- describe('when configurations color theme is updated', () => {
236
- it('should publish updated theme to themeChanged$', done => {
237
- const theme = Themes.Dark;
238
- service.themeChanged$.subscribe(val => {
239
- expect(val).toEqual(theme);
240
- done();
241
- });
242
- colorThemeSubject.next(theme);
243
- });
244
- });
245
-
246
- describe('when triggerClearSavedCode() is called', () => {
247
- it('should publish to clearSavedCode$', done => {
248
- service.clearSavedCode$.subscribe(val => {
249
- expect(val).toEqual(true);
250
- done();
251
- });
252
- service.triggerClearSavedCode();
253
- });
254
- });
255
-
256
- describe('when setBoilerplateLoadingStatus() is called', () => {
257
- it('should publish to isBoilerplateLoading$', done => {
258
- service.isBoilerplateLoading$.subscribe(val => {
259
- expect(val).toEqual(false);
260
- done();
261
- });
262
- service.setBoilerplateLoadingStatus(false);
263
- });
264
- });
265
- });