@testgorilla/tgo-coding-test 1.0.0 → 2.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 (353) hide show
  1. package/.eslintrc.json +46 -0
  2. package/jest.config.ts +26 -0
  3. package/ng-package.json +14 -0
  4. package/package.json +15 -31
  5. package/project.json +48 -0
  6. package/{index.d.ts → src/index.ts} +19 -2
  7. package/src/lib/components/.gitkeep +0 -0
  8. package/src/lib/components/code-editor/code-editor.component.html +10 -0
  9. package/src/lib/components/code-editor/code-editor.component.scss +21 -0
  10. package/src/lib/components/code-editor/code-editor.component.spec.ts +136 -0
  11. package/src/lib/components/code-editor/code-editor.component.ts +368 -0
  12. package/src/lib/components/code-editor/code-editor.mocks.ts +28 -0
  13. package/src/lib/components/code-editor/code-editor.service.spec.ts +160 -0
  14. package/src/lib/components/code-editor/code-editor.service.ts +94 -0
  15. package/src/lib/components/code-editor/helpers/c-helper.spec.ts +39 -0
  16. package/src/lib/components/code-editor/helpers/c-helper.ts +51 -0
  17. package/src/lib/components/code-editor/helpers/code-editor-helper.base.spec.ts +30 -0
  18. package/src/lib/components/code-editor/helpers/code-editor-helper.base.ts +16 -0
  19. package/src/lib/components/code-editor/helpers/code-editor-helper.mocks.ts +24 -0
  20. package/src/lib/components/code-editor/helpers/code-editor-helper.model.ts +67 -0
  21. package/src/lib/components/code-editor/helpers/cpp-helper.spec.ts +40 -0
  22. package/src/lib/components/code-editor/helpers/cpp-helper.ts +52 -0
  23. package/src/lib/components/code-editor/helpers/csharp-helper.spec.ts +42 -0
  24. package/src/lib/components/code-editor/helpers/csharp-helper.ts +55 -0
  25. package/src/lib/components/code-editor/helpers/go-helper.spec.ts +41 -0
  26. package/src/lib/components/code-editor/helpers/go-helper.ts +54 -0
  27. package/src/lib/components/code-editor/helpers/java-helper.spec.ts +41 -0
  28. package/src/lib/components/code-editor/helpers/java-helper.ts +54 -0
  29. package/src/lib/components/code-editor/helpers/javascript-helper.spec.ts +39 -0
  30. package/src/lib/components/code-editor/helpers/javascript-helper.ts +32 -0
  31. package/src/lib/components/code-editor/helpers/kotlin-helper.spec.ts +41 -0
  32. package/src/lib/components/code-editor/helpers/kotlin-helper.ts +54 -0
  33. package/src/lib/components/code-editor/helpers/php-helper.spec.ts +39 -0
  34. package/src/lib/components/code-editor/helpers/php-helper.ts +32 -0
  35. package/src/lib/components/code-editor/helpers/python-helper.spec.ts +39 -0
  36. package/src/lib/components/code-editor/helpers/python-helper.ts +32 -0
  37. package/src/lib/components/code-editor/helpers/r-helper.spec.ts +39 -0
  38. package/src/lib/components/code-editor/helpers/r-helper.ts +32 -0
  39. package/src/lib/components/code-editor/helpers/ruby-helper.spec.ts +39 -0
  40. package/src/lib/components/code-editor/helpers/ruby-helper.ts +32 -0
  41. package/src/lib/components/code-editor/helpers/scala-helper.spec.ts +41 -0
  42. package/src/lib/components/code-editor/helpers/scala-helper.ts +53 -0
  43. package/src/lib/components/code-editor/helpers/sql-helper.spec.ts +87 -0
  44. package/src/lib/components/code-editor/helpers/sql-helper.ts +44 -0
  45. package/src/lib/components/code-editor/helpers/swift-helper.spec.ts +40 -0
  46. package/src/lib/components/code-editor/helpers/swift-helper.ts +51 -0
  47. package/src/lib/components/code-editor/helpers/typescript-helper.spec.ts +40 -0
  48. package/src/lib/components/code-editor/helpers/typescript-helper.ts +52 -0
  49. package/src/lib/components/code-editor/models/code-editor.model.ts +9 -0
  50. package/src/lib/components/code-editor/models/coding-snapshot.model.ts +4 -0
  51. package/src/lib/components/coding-question/coding-question.component.html +78 -0
  52. package/src/lib/components/coding-question/coding-question.component.scss +75 -0
  53. package/src/lib/components/coding-question/coding-question.component.spec.ts +85 -0
  54. package/src/lib/components/coding-question/coding-question.component.ts +101 -0
  55. package/src/lib/components/coding-section/coding-section.component.html +82 -0
  56. package/src/lib/components/coding-section/coding-section.component.scss +64 -0
  57. package/src/lib/components/coding-section/coding-section.component.spec.ts +257 -0
  58. package/src/lib/components/coding-section/coding-section.component.ts +186 -0
  59. package/src/lib/components/coding-test.module.ts +124 -0
  60. package/src/lib/components/common/truncated-text/truncated-text.component.html +6 -0
  61. package/src/lib/components/common/truncated-text/truncated-text.component.scss +18 -0
  62. package/src/lib/components/common/truncated-text/truncated-text.component.spec.ts +84 -0
  63. package/src/lib/components/common/truncated-text/truncated-text.component.ts +36 -0
  64. package/src/lib/components/configurations/configurations.component.html +57 -0
  65. package/src/lib/components/configurations/configurations.component.scss +42 -0
  66. package/src/lib/components/configurations/configurations.component.spec.ts +186 -0
  67. package/src/lib/components/configurations/configurations.component.ts +97 -0
  68. package/src/lib/components/instructions/instructions.component.html +41 -0
  69. package/src/lib/components/instructions/instructions.component.scss +173 -0
  70. package/src/lib/components/instructions/instructions.component.spec.ts +106 -0
  71. package/src/lib/components/instructions/instructions.component.ts +137 -0
  72. package/src/lib/components/panel/panel.component.html +19 -0
  73. package/src/lib/components/panel/panel.component.scss +41 -0
  74. package/src/lib/components/panel/panel.component.spec.ts +40 -0
  75. package/src/lib/components/panel/panel.component.ts +33 -0
  76. package/src/lib/components/runnable-editor/runnable-editor.component.html +75 -0
  77. package/src/lib/components/runnable-editor/runnable-editor.component.scss +55 -0
  78. package/src/lib/components/runnable-editor/runnable-editor.component.spec.ts +124 -0
  79. package/src/lib/components/runnable-editor/runnable-editor.component.ts +154 -0
  80. package/src/lib/components/tests/test-cases/test-cases.component.html +135 -0
  81. package/src/lib/components/tests/test-cases/test-cases.component.scss +220 -0
  82. package/src/lib/components/tests/test-cases/test-cases.component.spec.ts +401 -0
  83. package/src/lib/components/tests/test-cases/test-cases.component.ts +204 -0
  84. package/src/lib/components/tests/test-cases-content/test-cases-content.component.html +94 -0
  85. package/src/lib/components/tests/test-cases-content/test-cases-content.component.scss +103 -0
  86. package/src/lib/components/tests/test-cases-content/test-cases-content.component.spec.ts +122 -0
  87. package/src/lib/components/tests/test-cases-content/test-cases-content.component.ts +101 -0
  88. package/src/lib/components/tests/test-cases-status/test-cases-status.component.html +16 -0
  89. package/src/lib/components/tests/test-cases-status/test-cases-status.component.scss +49 -0
  90. package/src/lib/components/tests/test-cases-status/test-cases-status.component.spec.ts +22 -0
  91. package/src/lib/components/tests/test-cases-status/test-cases-status.component.ts +17 -0
  92. package/src/lib/components/tests/test-results.component.html +119 -0
  93. package/src/lib/components/tests/test-results.component.scss +189 -0
  94. package/src/lib/components/tests/test-results.component.spec.ts +140 -0
  95. package/src/lib/components/tests/test-results.component.ts +97 -0
  96. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.html +96 -0
  97. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.scss +6 -0
  98. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.spec.ts +599 -0
  99. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.ts +278 -0
  100. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.html +36 -0
  101. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.scss +183 -0
  102. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.spec.ts +883 -0
  103. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.ts +578 -0
  104. package/{lib/config/index.d.ts → src/lib/config/index.ts} +1 -0
  105. package/src/lib/config/tgo-coding-test.config.ts +26 -0
  106. package/{lib/config/tgo-coding-test.provider.d.ts → src/lib/config/tgo-coding-test.provider.ts} +18 -6
  107. package/src/lib/config/tgo-coding-test.token.ts +21 -0
  108. package/src/lib/models/.gitkeep +0 -0
  109. package/src/lib/models/auto-saved-data.ts +51 -0
  110. package/src/lib/models/code-event.ts +17 -0
  111. package/src/lib/models/coderunner-execution-results.ts +58 -0
  112. package/src/lib/models/coding-lib.mocks.ts +246 -0
  113. package/src/lib/models/configs.ts +18 -0
  114. package/src/lib/models/language-change-action.ts +4 -0
  115. package/src/lib/models/lat-languages.ts +12 -0
  116. package/src/lib/models/mixpanel-events.ts +3 -0
  117. package/src/lib/models/mode.ts +5 -0
  118. package/src/lib/models/paste-data.ts +4 -0
  119. package/src/lib/models/programming-language.ts +9 -0
  120. package/src/lib/models/test-cases.ts +74 -0
  121. package/src/lib/models/theme.ts +5 -0
  122. package/src/lib/models/translations.ts +1 -0
  123. package/src/lib/models/view-mode.ts +6 -0
  124. package/{lib/pipes/memoize-func.pipe.d.ts → src/lib/pipes/memoize-func.pipe.ts} +14 -6
  125. package/src/lib/services/.gitkeep +0 -0
  126. package/src/lib/services/candidate-coding-test-services/candidature-api.service.spec.ts +40 -0
  127. package/src/lib/services/candidate-coding-test-services/candidature-api.service.ts +15 -0
  128. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.spec.ts +134 -0
  129. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.ts +105 -0
  130. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.spec.ts +161 -0
  131. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.ts +100 -0
  132. package/src/lib/services/candidate-coding-test-services/coding-test.service.spec.ts +1524 -0
  133. package/src/lib/services/candidate-coding-test-services/coding-test.service.ts +843 -0
  134. package/{lib/services/candidate-coding-test-services/index.d.ts → src/lib/services/candidate-coding-test-services/index.ts} +1 -1
  135. package/src/lib/services/coding-test-config.service.ts +48 -0
  136. package/src/lib/services/configurations.service.mocks.ts +77 -0
  137. package/src/lib/services/configurations.service.spec.ts +79 -0
  138. package/src/lib/services/configurations.service.ts +111 -0
  139. package/src/lib/services/index.ts +0 -0
  140. package/src/lib/services/lib-coding-test.service.spec.ts +265 -0
  141. package/src/lib/services/lib-coding-test.service.ts +157 -0
  142. package/src/lib/services/local-storage.service.mocks.ts +22 -0
  143. package/src/lib/services/storage.service.spec.ts +1119 -0
  144. package/src/lib/services/storage.service.ts +729 -0
  145. package/src/lib/services/test-cases.service.spec.ts +53 -0
  146. package/src/lib/services/test-cases.service.ts +29 -0
  147. package/src/lib/services/theme.service.spec.ts +76 -0
  148. package/src/lib/services/theme.service.ts +34 -0
  149. package/src/lib/styles/mixins.scss +86 -0
  150. package/src/lib/styles/styles.scss +112 -0
  151. package/src/lib/styles/variables.scss +105 -0
  152. package/src/lib/utils/.gitkeep +0 -0
  153. package/src/lib/utils/additional-languages/erlang.ts +115 -0
  154. package/src/lib/utils/resize-element.ts +15 -0
  155. package/src/lib/utils/time-to-ms.util.ts +10 -0
  156. package/src/test-setup.ts +3 -0
  157. package/tsconfig.json +19 -0
  158. package/tsconfig.lib.json +19 -0
  159. package/tsconfig.lib.prod.json +10 -0
  160. package/tsconfig.spec.json +17 -0
  161. package/esm2022/index.mjs +0 -12
  162. package/esm2022/lib/components/code-editor/code-editor.component.mjs +0 -335
  163. package/esm2022/lib/components/code-editor/code-editor.service.mjs +0 -72
  164. package/esm2022/lib/components/code-editor/helpers/c-helper.mjs +0 -40
  165. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.base.mjs +0 -11
  166. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.model.mjs +0 -2
  167. package/esm2022/lib/components/code-editor/helpers/cpp-helper.mjs +0 -41
  168. package/esm2022/lib/components/code-editor/helpers/csharp-helper.mjs +0 -42
  169. package/esm2022/lib/components/code-editor/helpers/go-helper.mjs +0 -42
  170. package/esm2022/lib/components/code-editor/helpers/index.mjs +0 -16
  171. package/esm2022/lib/components/code-editor/helpers/java-helper.mjs +0 -42
  172. package/esm2022/lib/components/code-editor/helpers/javascript-helper.mjs +0 -26
  173. package/esm2022/lib/components/code-editor/helpers/kotlin-helper.mjs +0 -42
  174. package/esm2022/lib/components/code-editor/helpers/php-helper.mjs +0 -26
  175. package/esm2022/lib/components/code-editor/helpers/python-helper.mjs +0 -26
  176. package/esm2022/lib/components/code-editor/helpers/r-helper.mjs +0 -26
  177. package/esm2022/lib/components/code-editor/helpers/ruby-helper.mjs +0 -26
  178. package/esm2022/lib/components/code-editor/helpers/scala-helper.mjs +0 -41
  179. package/esm2022/lib/components/code-editor/helpers/sql-helper.mjs +0 -34
  180. package/esm2022/lib/components/code-editor/helpers/swift-helper.mjs +0 -40
  181. package/esm2022/lib/components/code-editor/helpers/typescript-helper.mjs +0 -41
  182. package/esm2022/lib/components/code-editor/models/code-editor.model.mjs +0 -2
  183. package/esm2022/lib/components/code-editor/models/coding-snapshot.model.mjs +0 -2
  184. package/esm2022/lib/components/coding-question/coding-question.component.mjs +0 -126
  185. package/esm2022/lib/components/coding-section/coding-section.component.mjs +0 -188
  186. package/esm2022/lib/components/common/truncated-text/truncated-text.component.mjs +0 -38
  187. package/esm2022/lib/components/configurations/configurations.component.mjs +0 -97
  188. package/esm2022/lib/components/instructions/instructions.component.mjs +0 -139
  189. package/esm2022/lib/components/panel/panel.component.mjs +0 -34
  190. package/esm2022/lib/components/runnable-editor/runnable-editor.component.mjs +0 -169
  191. package/esm2022/lib/components/tests/test-cases/test-cases.component.mjs +0 -198
  192. package/esm2022/lib/components/tests/test-cases-content/test-cases-content.component.mjs +0 -96
  193. package/esm2022/lib/components/tests/test-cases-status/test-cases-status.component.mjs +0 -21
  194. package/esm2022/lib/components/tests/test-results.component.mjs +0 -127
  195. package/esm2022/lib/components/tgo-coding-test/tgo-coding-test.component.mjs +0 -280
  196. package/esm2022/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.mjs +0 -476
  197. package/esm2022/lib/config/index.mjs +0 -2
  198. package/esm2022/lib/config/tgo-coding-test.config.mjs +0 -2
  199. package/esm2022/lib/config/tgo-coding-test.provider.mjs +0 -34
  200. package/esm2022/lib/config/tgo-coding-test.token.mjs +0 -14
  201. package/esm2022/lib/models/auto-saved-data.mjs +0 -2
  202. package/esm2022/lib/models/code-event.mjs +0 -2
  203. package/esm2022/lib/models/coderunner-execution-results.mjs +0 -2
  204. package/esm2022/lib/models/configs.mjs +0 -2
  205. package/esm2022/lib/models/language-change-action.mjs +0 -2
  206. package/esm2022/lib/models/lat-languages.mjs +0 -3
  207. package/esm2022/lib/models/mixpanel-events.mjs +0 -2
  208. package/esm2022/lib/models/mode.mjs +0 -2
  209. package/esm2022/lib/models/paste-data.mjs +0 -2
  210. package/esm2022/lib/models/programming-language.mjs +0 -2
  211. package/esm2022/lib/models/test-cases.mjs +0 -7
  212. package/esm2022/lib/models/theme.mjs +0 -2
  213. package/esm2022/lib/models/translations.mjs +0 -2
  214. package/esm2022/lib/models/view-mode.mjs +0 -8
  215. package/esm2022/lib/pipes/memoize-func.pipe.mjs +0 -39
  216. package/esm2022/lib/services/candidate-coding-test-services/candidature-api.service.mjs +0 -19
  217. package/esm2022/lib/services/candidate-coding-test-services/coderunner-api.service.mjs +0 -58
  218. package/esm2022/lib/services/candidate-coding-test-services/coding-test-tour.service.mjs +0 -89
  219. package/esm2022/lib/services/candidate-coding-test-services/coding-test.service.mjs +0 -490
  220. package/esm2022/lib/services/candidate-coding-test-services/index.mjs +0 -5
  221. package/esm2022/lib/services/coding-test-config.service.mjs +0 -51
  222. package/esm2022/lib/services/configurations.service.mjs +0 -89
  223. package/esm2022/lib/services/lib-coding-test.service.mjs +0 -106
  224. package/esm2022/lib/services/storage.service.mjs +0 -624
  225. package/esm2022/lib/services/test-cases.service.mjs +0 -30
  226. package/esm2022/lib/services/theme.service.mjs +0 -36
  227. package/esm2022/lib/utils/additional-languages/erlang.mjs +0 -103
  228. package/esm2022/lib/utils/resize-element.mjs +0 -13
  229. package/esm2022/lib/utils/time-to-ms.util.mjs +0 -11
  230. package/esm2022/shared/index.mjs +0 -5
  231. package/esm2022/shared/lib/components/audio-animation/audio-animation.component.mjs +0 -114
  232. package/esm2022/shared/lib/components/audio-animation/index.mjs +0 -2
  233. package/esm2022/shared/lib/components/index.mjs +0 -3
  234. package/esm2022/shared/lib/components/vimeo-video/index.mjs +0 -2
  235. package/esm2022/shared/lib/components/vimeo-video/vimeo-video.component.mjs +0 -101
  236. package/esm2022/shared/lib/models/answer.mjs +0 -2
  237. package/esm2022/shared/lib/models/assessment.mjs +0 -2
  238. package/esm2022/shared/lib/models/environment.mjs +0 -2
  239. package/esm2022/shared/lib/models/index.mjs +0 -9
  240. package/esm2022/shared/lib/models/question-component.mjs +0 -2
  241. package/esm2022/shared/lib/models/question.mjs +0 -2
  242. package/esm2022/shared/lib/models/test.mjs +0 -2
  243. package/esm2022/shared/lib/models/translations.mjs +0 -2
  244. package/esm2022/shared/lib/models/window.mjs +0 -2
  245. package/esm2022/shared/lib/services/api/api.service.mjs +0 -97
  246. package/esm2022/shared/lib/services/api/mocked-api.service.mjs +0 -131
  247. package/esm2022/shared/lib/services/environment/environment.service.mjs +0 -13
  248. package/esm2022/shared/lib/services/index.mjs +0 -10
  249. package/esm2022/shared/lib/services/localization/languages.model.mjs +0 -19
  250. package/esm2022/shared/lib/services/localization/transloco-lazy-module-utils.mjs +0 -27
  251. package/esm2022/shared/lib/services/localization/transloco-testing.module.mjs +0 -11
  252. package/esm2022/shared/lib/services/media/media.service.mjs +0 -129
  253. package/esm2022/shared/lib/services/mixpanel/mixpanel.service.mjs +0 -30
  254. package/esm2022/shared/lib/services/theme/theme.service.mjs +0 -24
  255. package/esm2022/shared/test-mocks/assessment-test.mock.mjs +0 -112
  256. package/esm2022/shared/test-mocks/index.mjs +0 -3
  257. package/esm2022/shared/test-mocks/tgo-ui.mock.mjs +0 -39
  258. package/esm2022/testgorilla-tgo-coding-test.mjs +0 -5
  259. package/fesm2022/testgorilla-tgo-coding-test.mjs +0 -4526
  260. package/fesm2022/testgorilla-tgo-coding-test.mjs.map +0 -1
  261. package/lib/components/code-editor/code-editor.component.d.ts +0 -54
  262. package/lib/components/code-editor/code-editor.service.d.ts +0 -12
  263. package/lib/components/code-editor/helpers/c-helper.d.ts +0 -11
  264. package/lib/components/code-editor/helpers/code-editor-helper.base.d.ts +0 -8
  265. package/lib/components/code-editor/helpers/code-editor-helper.model.d.ts +0 -62
  266. package/lib/components/code-editor/helpers/cpp-helper.d.ts +0 -11
  267. package/lib/components/code-editor/helpers/csharp-helper.d.ts +0 -12
  268. package/lib/components/code-editor/helpers/go-helper.d.ts +0 -12
  269. package/lib/components/code-editor/helpers/java-helper.d.ts +0 -12
  270. package/lib/components/code-editor/helpers/javascript-helper.d.ts +0 -10
  271. package/lib/components/code-editor/helpers/kotlin-helper.d.ts +0 -12
  272. package/lib/components/code-editor/helpers/php-helper.d.ts +0 -10
  273. package/lib/components/code-editor/helpers/python-helper.d.ts +0 -10
  274. package/lib/components/code-editor/helpers/r-helper.d.ts +0 -10
  275. package/lib/components/code-editor/helpers/ruby-helper.d.ts +0 -10
  276. package/lib/components/code-editor/helpers/scala-helper.d.ts +0 -12
  277. package/lib/components/code-editor/helpers/sql-helper.d.ts +0 -10
  278. package/lib/components/code-editor/helpers/swift-helper.d.ts +0 -11
  279. package/lib/components/code-editor/helpers/typescript-helper.d.ts +0 -11
  280. package/lib/components/code-editor/models/code-editor.model.d.ts +0 -8
  281. package/lib/components/code-editor/models/coding-snapshot.model.d.ts +0 -4
  282. package/lib/components/coding-question/coding-question.component.d.ts +0 -45
  283. package/lib/components/coding-section/coding-section.component.d.ts +0 -52
  284. package/lib/components/common/truncated-text/truncated-text.component.d.ts +0 -13
  285. package/lib/components/configurations/configurations.component.d.ts +0 -40
  286. package/lib/components/instructions/instructions.component.d.ts +0 -48
  287. package/lib/components/panel/panel.component.d.ts +0 -12
  288. package/lib/components/runnable-editor/runnable-editor.component.d.ts +0 -53
  289. package/lib/components/tests/test-cases/test-cases.component.d.ts +0 -46
  290. package/lib/components/tests/test-cases-content/test-cases-content.component.d.ts +0 -26
  291. package/lib/components/tests/test-cases-status/test-cases-status.component.d.ts +0 -9
  292. package/lib/components/tests/test-results.component.d.ts +0 -33
  293. package/lib/components/tgo-coding-test/tgo-coding-test.component.d.ts +0 -69
  294. package/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.d.ts +0 -101
  295. package/lib/config/tgo-coding-test.config.d.ts +0 -24
  296. package/lib/config/tgo-coding-test.token.d.ts +0 -9
  297. package/lib/models/auto-saved-data.d.ts +0 -42
  298. package/lib/models/code-event.d.ts +0 -15
  299. package/lib/models/coderunner-execution-results.d.ts +0 -51
  300. package/lib/models/configs.d.ts +0 -15
  301. package/lib/models/language-change-action.d.ts +0 -4
  302. package/lib/models/lat-languages.d.ts +0 -8
  303. package/lib/models/mixpanel-events.d.ts +0 -3
  304. package/lib/models/mode.d.ts +0 -5
  305. package/lib/models/paste-data.d.ts +0 -4
  306. package/lib/models/programming-language.d.ts +0 -8
  307. package/lib/models/test-cases.d.ts +0 -67
  308. package/lib/models/theme.d.ts +0 -4
  309. package/lib/models/translations.d.ts +0 -1
  310. package/lib/models/view-mode.d.ts +0 -6
  311. package/lib/services/candidate-coding-test-services/candidature-api.service.d.ts +0 -10
  312. package/lib/services/candidate-coding-test-services/coderunner-api.service.d.ts +0 -18
  313. package/lib/services/candidate-coding-test-services/coding-test-tour.service.d.ts +0 -22
  314. package/lib/services/candidate-coding-test-services/coding-test.service.d.ts +0 -68
  315. package/lib/services/coding-test-config.service.d.ts +0 -38
  316. package/lib/services/configurations.service.d.ts +0 -37
  317. package/lib/services/lib-coding-test.service.d.ts +0 -69
  318. package/lib/services/storage.service.d.ts +0 -83
  319. package/lib/services/test-cases.service.d.ts +0 -12
  320. package/lib/services/theme.service.d.ts +0 -17
  321. package/lib/utils/additional-languages/erlang.d.ts +0 -37
  322. package/lib/utils/resize-element.d.ts +0 -2
  323. package/lib/utils/time-to-ms.util.d.ts +0 -1
  324. package/shared/index.d.ts +0 -4
  325. package/shared/lib/components/audio-animation/audio-animation.component.d.ts +0 -27
  326. package/shared/lib/components/audio-animation/index.d.ts +0 -1
  327. package/shared/lib/components/index.d.ts +0 -2
  328. package/shared/lib/components/vimeo-video/index.d.ts +0 -1
  329. package/shared/lib/components/vimeo-video/vimeo-video.component.d.ts +0 -24
  330. package/shared/lib/models/answer.d.ts +0 -17
  331. package/shared/lib/models/assessment.d.ts +0 -80
  332. package/shared/lib/models/environment.d.ts +0 -1
  333. package/shared/lib/models/index.d.ts +0 -8
  334. package/shared/lib/models/question-component.d.ts +0 -54
  335. package/shared/lib/models/question.d.ts +0 -102
  336. package/shared/lib/models/test.d.ts +0 -81
  337. package/shared/lib/models/translations.d.ts +0 -1
  338. package/shared/lib/models/window.d.ts +0 -6
  339. package/shared/lib/services/api/api.service.d.ts +0 -25
  340. package/shared/lib/services/api/mocked-api.service.d.ts +0 -35
  341. package/shared/lib/services/environment/environment.service.d.ts +0 -6
  342. package/shared/lib/services/index.d.ts +0 -9
  343. package/shared/lib/services/localization/languages.model.d.ts +0 -15
  344. package/shared/lib/services/localization/transloco-lazy-module-utils.d.ts +0 -11
  345. package/shared/lib/services/localization/transloco-testing.module.d.ts +0 -2
  346. package/shared/lib/services/media/media.service.d.ts +0 -29
  347. package/shared/lib/services/mixpanel/mixpanel.service.d.ts +0 -10
  348. package/shared/lib/services/theme/theme.service.d.ts +0 -8
  349. package/shared/test-mocks/assessment-test.mock.d.ts +0 -21
  350. package/shared/test-mocks/index.d.ts +0 -2
  351. package/shared/test-mocks/tgo-ui.mock.d.ts +0 -21
  352. /package/{assets → src/assets}/i18n/en.json +0 -0
  353. /package/{lib/components/code-editor/helpers/index.d.ts → src/lib/components/code-editor/helpers/index.ts} +0 -0
@@ -0,0 +1,51 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import {
3
+ CodeEditorFuncOptions,
4
+ CodeEditorHelper,
5
+ CodeEditorLanguages,
6
+ CodeEditorTypesMap,
7
+ } from './code-editor-helper.model';
8
+
9
+ export class CodeEditorCHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
+ language = CodeEditorLanguages.C;
11
+ typesMap: CodeEditorTypesMap = {
12
+ boolean: 'bool',
13
+ int: 'int',
14
+ number: 'int',
15
+ double: 'double',
16
+ float: 'float',
17
+ str: 'char *',
18
+ array_boolean: 'bool *',
19
+ array_int: 'int *',
20
+ array_float: 'float *',
21
+ array_double: 'double *',
22
+ };
23
+
24
+ constructor(private functionOptions: CodeEditorFuncOptions) {
25
+ super();
26
+ }
27
+
28
+ getInitCode(): string {
29
+ return `${this.getFunctionOpening()}\t //Insert your code here \n}`;
30
+ }
31
+
32
+ getFunctionOpening(): string {
33
+ const { name: funcName, returnType } = this.functionOptions;
34
+ const params = this.getParamsString();
35
+ const showingReturnType = this.parseType(returnType);
36
+
37
+ return `${showingReturnType} ${funcName}(${params}) {\n`;
38
+ }
39
+
40
+ private getParamsString(): string {
41
+ const { params } = this.functionOptions;
42
+ let paramsString = '';
43
+
44
+ if (params && params.length > 0) {
45
+ params.forEach(values => (paramsString += `${this.parseType(values.type)} ${values.name}, `));
46
+ paramsString = paramsString.slice(0, -2);
47
+ }
48
+
49
+ return paramsString;
50
+ }
51
+ }
@@ -0,0 +1,30 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import { CodeEditorLanguages } from './code-editor-helper.model';
3
+
4
+ class Helper extends CodeEditorHelperBase {
5
+ language = CodeEditorLanguages.Javascript;
6
+
7
+ getFunctionOpening(): string {
8
+ return 'func opening\n';
9
+ }
10
+ }
11
+
12
+ describe('CodeEditorHelperBase', () => {
13
+ let helper: Helper;
14
+
15
+ beforeEach(() => {
16
+ helper = new Helper();
17
+ });
18
+
19
+ describe('when getting editor language', () => {
20
+ let result: string;
21
+
22
+ beforeEach(() => {
23
+ result = helper.getEditorLang();
24
+ });
25
+
26
+ it('should return helper language', () => {
27
+ expect(result).toEqual(CodeEditorLanguages.Javascript);
28
+ });
29
+ });
30
+ });
@@ -0,0 +1,16 @@
1
+ import { CodeEditorLanguages, CodeEditorTypesMap } from './code-editor-helper.model';
2
+
3
+ export abstract class CodeEditorHelperBase {
4
+ protected language: CodeEditorLanguages;
5
+ protected typesMap: CodeEditorTypesMap;
6
+
7
+ abstract getFunctionOpening(): string;
8
+
9
+ getEditorLang(): CodeEditorLanguages {
10
+ return this.language;
11
+ }
12
+
13
+ protected parseType(type: keyof CodeEditorTypesMap): string {
14
+ return this.typesMap[type];
15
+ }
16
+ }
@@ -0,0 +1,24 @@
1
+ import { CodeEditorFuncOptions } from './code-editor-helper.model';
2
+
3
+ export const initCodeMock = 'export function mock(param1, param2) { return param1; }';
4
+
5
+ export const defaultFuncParams: CodeEditorFuncOptions = {
6
+ params: [
7
+ {
8
+ name: 'param1',
9
+ type: 'boolean',
10
+ },
11
+ {
12
+ name: 'param2',
13
+ type: 'int',
14
+ },
15
+ { name: 'param3', type: 'double' },
16
+ { name: 'param4', type: 'float' },
17
+ { name: 'param5', type: 'str' },
18
+ { name: 'param6', type: 'array_boolean' },
19
+ { name: 'param7', type: 'array_int' },
20
+ { name: 'param8', type: 'array_float' },
21
+ ],
22
+ name: 'mockFunction',
23
+ returnType: 'boolean',
24
+ };
@@ -0,0 +1,67 @@
1
+ export interface CodeEditorHelper {
2
+ getInitCode?(): string;
3
+ getEditorLang(): string;
4
+ }
5
+
6
+ export const enum CodeEditorLanguages {
7
+ Javascript = 'javascript',
8
+ Typescript = 'typescript',
9
+ Elixir = 'elixir',
10
+ Rust = 'rust',
11
+ Dart = 'dart',
12
+ Erlang = 'erlang',
13
+ Julia = 'julia',
14
+ Perl = 'perl',
15
+ Php = 'php',
16
+ Python = 'python',
17
+ Java = 'java',
18
+ Kotlin = 'kotlin',
19
+ Ruby = 'ruby',
20
+ C = 'c',
21
+ Cpp = 'c++',
22
+ CppEditor = 'cpp',
23
+ R = 'r',
24
+ Swift = 'swift',
25
+ Scala = 'scala',
26
+ CSharp = 'c#',
27
+ CSharpEditor = 'csharp',
28
+ CSharpLegacy = 'c#_legacy',
29
+ Go = 'go',
30
+ Sql = 'sql',
31
+ Sqlite = 'sqlite3',
32
+ }
33
+
34
+ export const enum CodeEditorSqlOperations {
35
+ Select = 'SELECT',
36
+ Update = 'UPDATE',
37
+ Insert = 'INSERT',
38
+ Delete = 'DELETE',
39
+ CreateTable = 'CREATE TABLE',
40
+ }
41
+
42
+ export interface CodeEditorFuncOptions {
43
+ name?: string | CodeEditorSqlOperations;
44
+ params?: CodeEditorFuncParam[];
45
+ returnType?: keyof CodeEditorTypesMap;
46
+ }
47
+
48
+ export interface CodeEditorFuncParam {
49
+ id?: string;
50
+ name?: string;
51
+ order?: string;
52
+ type?: keyof CodeEditorTypesMap;
53
+ }
54
+
55
+ export interface CodeEditorTypesMap {
56
+ boolean: string;
57
+ int: string;
58
+ number?: string;
59
+ double: string;
60
+ float: string;
61
+ str: string;
62
+ array_boolean: string;
63
+ array_int: string;
64
+ array_float: string;
65
+ array_double?: string;
66
+ array_str?: string;
67
+ }
@@ -0,0 +1,40 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorCppHelper } from './cpp-helper';
3
+
4
+ describe('CodeEditorCppHelper', () => {
5
+ let helper: CodeEditorCppHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList =
9
+ 'bool param1, int param2, double param3, float param4, std::string param5, std::vector<bool> param6, std::vector<int> param7, std::vector<float> param8';
10
+ const correctFuncOpening = `bool mockFunction(${paramsList}) {\n`;
11
+ const correctInitCode = `${correctFuncOpening}\t //Insert your code here \n}`;
12
+
13
+ beforeEach(() => {
14
+ helper = new CodeEditorCppHelper(defaultParams);
15
+ });
16
+
17
+ describe('when getting init code', () => {
18
+ let result: string;
19
+
20
+ beforeEach(() => {
21
+ result = helper.getInitCode();
22
+ });
23
+
24
+ it('should return proper init code', () => {
25
+ expect(result).toEqual(correctInitCode);
26
+ });
27
+ });
28
+
29
+ describe('when getting func opening', () => {
30
+ let result: string;
31
+
32
+ beforeEach(() => {
33
+ result = helper.getFunctionOpening();
34
+ });
35
+
36
+ it('should return proper func opening', () => {
37
+ expect(result).toEqual(correctFuncOpening);
38
+ });
39
+ });
40
+ });
@@ -0,0 +1,52 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import {
3
+ CodeEditorFuncOptions,
4
+ CodeEditorHelper,
5
+ CodeEditorLanguages,
6
+ CodeEditorTypesMap,
7
+ } from './code-editor-helper.model';
8
+
9
+ export class CodeEditorCppHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
+ language = CodeEditorLanguages.CppEditor;
11
+ typesMap: CodeEditorTypesMap = {
12
+ boolean: 'bool',
13
+ int: 'int',
14
+ number: 'int',
15
+ double: 'double',
16
+ float: 'float',
17
+ str: 'std::string',
18
+ array_boolean: 'std::vector<bool>',
19
+ array_int: 'std::vector<int>',
20
+ array_float: 'std::vector<float>',
21
+ array_double: 'std::vector<double>',
22
+ array_str: 'std::vector<std::string>',
23
+ };
24
+
25
+ constructor(private functionOptions: CodeEditorFuncOptions) {
26
+ super();
27
+ }
28
+
29
+ getInitCode(): string {
30
+ return `${this.getFunctionOpening()}\t //Insert your code here \n}`;
31
+ }
32
+
33
+ getFunctionOpening(): string {
34
+ const { name: funcName, returnType } = this.functionOptions;
35
+ const params = this.getParamsString();
36
+ const showingReturnType = this.parseType(returnType);
37
+
38
+ return `${showingReturnType} ${funcName}(${params}) {\n`;
39
+ }
40
+
41
+ private getParamsString(): string {
42
+ const { params } = this.functionOptions;
43
+ let paramsString = '';
44
+
45
+ if (params && params.length > 0) {
46
+ params.forEach(values => (paramsString += `${this.parseType(values.type)} ${values.name}, `));
47
+ paramsString = paramsString.slice(0, -2);
48
+ }
49
+
50
+ return paramsString;
51
+ }
52
+ }
@@ -0,0 +1,42 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorCSharpHelper } from './csharp-helper';
3
+
4
+ describe('CodeEditorCSharpHelper', () => {
5
+ let helper: CodeEditorCSharpHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList =
9
+ 'bool param1, int param2, double param3, float param4, string param5, bool[] param6, int[] param7, Float[] param8';
10
+ const correctFuncOpening = `\t\tpublic static bool mockFunction(${paramsList}) {\n`;
11
+ const importText =
12
+ 'using System;\nusing System.Linq;\nnamespace TestTaker\n{\n\tpublic static class CustomCode\n\t{\n';
13
+ const correctInitCode = `${importText}${correctFuncOpening}\t\t //Insert your code here \n\t\t}\n\t}\n}`;
14
+
15
+ beforeEach(() => {
16
+ helper = new CodeEditorCSharpHelper(defaultParams);
17
+ });
18
+
19
+ describe('when getting init code', () => {
20
+ let result: string;
21
+
22
+ beforeEach(() => {
23
+ result = helper.getInitCode();
24
+ });
25
+
26
+ it('should return proper init code', () => {
27
+ expect(result).toEqual(correctInitCode);
28
+ });
29
+ });
30
+
31
+ describe('when getting func opening', () => {
32
+ let result: string;
33
+
34
+ beforeEach(() => {
35
+ result = helper.getFunctionOpening();
36
+ });
37
+
38
+ it('should return proper func opening', () => {
39
+ expect(result).toEqual(correctFuncOpening);
40
+ });
41
+ });
42
+ });
@@ -0,0 +1,55 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import {
3
+ CodeEditorFuncOptions,
4
+ CodeEditorHelper,
5
+ CodeEditorLanguages,
6
+ CodeEditorTypesMap,
7
+ } from './code-editor-helper.model';
8
+
9
+ export class CodeEditorCSharpHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
+ language = CodeEditorLanguages.CSharpEditor;
11
+ typesMap: CodeEditorTypesMap = {
12
+ boolean: 'bool',
13
+ int: 'int',
14
+ number: 'int',
15
+ double: 'double',
16
+ float: 'float',
17
+ str: 'string',
18
+ array_boolean: 'bool[]',
19
+ array_int: 'int[]',
20
+ array_float: 'Float[]',
21
+ array_double: 'double[]',
22
+ array_str: 'string[]',
23
+ };
24
+
25
+ private importText =
26
+ 'using System;\nusing System.Linq;\nnamespace TestTaker\n{\n\tpublic static class CustomCode\n\t{\n';
27
+
28
+ constructor(private functionOptions: CodeEditorFuncOptions) {
29
+ super();
30
+ }
31
+
32
+ getInitCode(): string {
33
+ return `${this.importText}${this.getFunctionOpening()}\t\t //Insert your code here \n\t\t}\n\t}\n}`;
34
+ }
35
+
36
+ getFunctionOpening(): string {
37
+ const { name: funcName, returnType } = this.functionOptions;
38
+ const params = this.getParamsString();
39
+ const showingReturnType = this.parseType(returnType);
40
+
41
+ return `\t\tpublic static ${showingReturnType} ${funcName}(${params}) {\n`;
42
+ }
43
+
44
+ private getParamsString(): string {
45
+ const { params } = this.functionOptions;
46
+ let paramsString = '';
47
+
48
+ if (params && params.length > 0) {
49
+ params.forEach(values => (paramsString += `${this.parseType(values.type)} ${values.name}, `));
50
+ paramsString = paramsString.slice(0, -2);
51
+ }
52
+
53
+ return paramsString;
54
+ }
55
+ }
@@ -0,0 +1,41 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorGoHelper } from './go-helper';
3
+
4
+ describe('CodeEditorGoHelper', () => {
5
+ let helper: CodeEditorGoHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList =
9
+ 'param1 bool, param2 int, param3 double, param4 float64, param5 string, param6 []bool, param7 []int, param8 []float64';
10
+ const correctFuncOpening = `func MockFunction(${paramsList}) bool {\n`;
11
+ const importPackagesText = 'package testtaker\nimport ()\n';
12
+ const correctInitCode = `${importPackagesText}${correctFuncOpening}\t //Insert your code here \n}`;
13
+
14
+ beforeEach(() => {
15
+ helper = new CodeEditorGoHelper(defaultParams);
16
+ });
17
+
18
+ describe('when getting init code', () => {
19
+ let result: string;
20
+
21
+ beforeEach(() => {
22
+ result = helper.getInitCode();
23
+ });
24
+
25
+ it('should return proper init code', () => {
26
+ expect(result).toEqual(correctInitCode);
27
+ });
28
+ });
29
+
30
+ describe('when getting func opening', () => {
31
+ let result: string;
32
+
33
+ beforeEach(() => {
34
+ result = helper.getFunctionOpening();
35
+ });
36
+
37
+ it('should return proper func opening', () => {
38
+ expect(result).toEqual(correctFuncOpening);
39
+ });
40
+ });
41
+ });
@@ -0,0 +1,54 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import {
3
+ CodeEditorFuncOptions,
4
+ CodeEditorHelper,
5
+ CodeEditorLanguages,
6
+ CodeEditorTypesMap,
7
+ } from './code-editor-helper.model';
8
+
9
+ export class CodeEditorGoHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
+ language = CodeEditorLanguages.Go;
11
+ typesMap: CodeEditorTypesMap = {
12
+ boolean: 'bool',
13
+ int: 'int',
14
+ number: 'int',
15
+ double: 'double',
16
+ float: 'float64',
17
+ str: 'string',
18
+ array_boolean: '[]bool',
19
+ array_int: '[]int',
20
+ array_float: '[]float64',
21
+ array_str: '[]string',
22
+ };
23
+
24
+ private importPackagesText = 'package testtaker\nimport ()\n';
25
+
26
+ constructor(private functionOptions: CodeEditorFuncOptions) {
27
+ super();
28
+ }
29
+
30
+ getInitCode(): string {
31
+ return `${this.importPackagesText}${this.getFunctionOpening()}\t //Insert your code here \n}`;
32
+ }
33
+
34
+ getFunctionOpening(): string {
35
+ const { name: funcName, returnType } = this.functionOptions;
36
+ const params = this.getParamsString();
37
+ const showingReturnType = this.parseType(returnType);
38
+ const uppercasedFuncName = `${funcName.charAt(0).toUpperCase()}${funcName.slice(1)}`;
39
+
40
+ return `func ${uppercasedFuncName}(${params}) ${showingReturnType} {\n`;
41
+ }
42
+
43
+ private getParamsString(): string {
44
+ const { params } = this.functionOptions;
45
+ let paramsString = '';
46
+
47
+ if (params && params.length > 0) {
48
+ params.forEach(values => (paramsString += `${values.name} ${this.parseType(values.type)}, `));
49
+ paramsString = paramsString.slice(0, -2);
50
+ }
51
+
52
+ return paramsString;
53
+ }
54
+ }
@@ -0,0 +1,41 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorJavaHelper } from './java-helper';
3
+
4
+ describe('CodeEditorJavaHelper', () => {
5
+ let helper: CodeEditorJavaHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList =
9
+ 'Boolean param1, Integer param2, Double param3, Float param4, String param5, Boolean[] param6, Integer[] param7, Float[] param8';
10
+ const classOpening = 'public class TestTaker {\n';
11
+ const correctFuncOpening = `\tpublic static Boolean mockFunction(${paramsList}) {\n`;
12
+ const correctInitCode = `${classOpening}${correctFuncOpening}\t\t //Insert your code here \n\t}\n`;
13
+
14
+ beforeEach(() => {
15
+ helper = new CodeEditorJavaHelper(defaultParams);
16
+ });
17
+
18
+ describe('when getting init code', () => {
19
+ let result: string;
20
+
21
+ beforeEach(() => {
22
+ result = helper.getInitCode();
23
+ });
24
+
25
+ it('should return proper init code', () => {
26
+ expect(result).toEqual(correctInitCode);
27
+ });
28
+ });
29
+
30
+ describe('when getting func opening', () => {
31
+ let result: string;
32
+
33
+ beforeEach(() => {
34
+ result = helper.getFunctionOpening();
35
+ });
36
+
37
+ it('should return proper func opening', () => {
38
+ expect(result).toEqual(correctFuncOpening);
39
+ });
40
+ });
41
+ });
@@ -0,0 +1,54 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import {
3
+ CodeEditorFuncOptions,
4
+ CodeEditorHelper,
5
+ CodeEditorLanguages,
6
+ CodeEditorTypesMap,
7
+ } from './code-editor-helper.model';
8
+
9
+ export class CodeEditorJavaHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
+ language = CodeEditorLanguages.Java;
11
+ typesMap: CodeEditorTypesMap = {
12
+ boolean: 'Boolean',
13
+ int: 'Integer',
14
+ number: 'Integer',
15
+ double: 'Double',
16
+ float: 'Float',
17
+ str: 'String',
18
+ array_boolean: 'Boolean[]',
19
+ array_int: 'Integer[]',
20
+ array_float: 'Float[]',
21
+ array_double: 'Double[]',
22
+ array_str: 'String[]',
23
+ };
24
+
25
+ private classOpening = 'public class TestTaker {\n';
26
+
27
+ constructor(private functionOptions: CodeEditorFuncOptions) {
28
+ super();
29
+ }
30
+
31
+ getInitCode(): string {
32
+ return `${this.classOpening}${this.getFunctionOpening()}\t\t //Insert your code here \n\t}\n`;
33
+ }
34
+
35
+ getFunctionOpening(): string {
36
+ const { name: funcName, returnType } = this.functionOptions;
37
+ const params = this.getParamsString();
38
+ const showingReturnType = this.parseType(returnType);
39
+
40
+ return `\tpublic static ${showingReturnType} ${funcName}(${params}) {\n`;
41
+ }
42
+
43
+ private getParamsString(): string {
44
+ const { params } = this.functionOptions;
45
+ let paramsString = '';
46
+
47
+ if (params && params.length > 0) {
48
+ params.forEach(values => (paramsString += `${this.parseType(values.type)} ${values.name}, `));
49
+ paramsString = paramsString.slice(0, -2);
50
+ }
51
+
52
+ return paramsString;
53
+ }
54
+ }
@@ -0,0 +1,39 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorJavascriptHelper } from './javascript-helper';
3
+
4
+ describe('CodeEditorJavascriptHelper', () => {
5
+ let helper: CodeEditorJavascriptHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList = 'param1, param2, param3, param4, param5, param6, param7, param8';
9
+ const correctFuncOpening = `export function mockFunction(${paramsList}) {\n`;
10
+ const correctInitCode = `${correctFuncOpening}\t //Insert your code here \n}`;
11
+
12
+ beforeEach(() => {
13
+ helper = new CodeEditorJavascriptHelper(defaultParams);
14
+ });
15
+
16
+ describe('when getting init code', () => {
17
+ let result: string;
18
+
19
+ beforeEach(() => {
20
+ result = helper.getInitCode();
21
+ });
22
+
23
+ it('should return proper init code', () => {
24
+ expect(result).toEqual(correctInitCode);
25
+ });
26
+ });
27
+
28
+ describe('when getting func opening', () => {
29
+ let result: string;
30
+
31
+ beforeEach(() => {
32
+ result = helper.getFunctionOpening();
33
+ });
34
+
35
+ it('should return proper func opening', () => {
36
+ expect(result).toEqual(correctFuncOpening);
37
+ });
38
+ });
39
+ });
@@ -0,0 +1,32 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import { CodeEditorFuncOptions, CodeEditorHelper, CodeEditorLanguages } from './code-editor-helper.model';
3
+
4
+ export class CodeEditorJavascriptHelper extends CodeEditorHelperBase implements CodeEditorHelper {
5
+ language = CodeEditorLanguages.Javascript;
6
+
7
+ constructor(private functionOptions: CodeEditorFuncOptions) {
8
+ super();
9
+ }
10
+
11
+ getInitCode(): string {
12
+ return `${this.getFunctionOpening()}\t //Insert your code here \n}`;
13
+ }
14
+
15
+ getFunctionOpening(): string {
16
+ const { name: funcName } = this.functionOptions;
17
+
18
+ return `export function ${funcName}(${this.getParamsString()}) {\n`;
19
+ }
20
+
21
+ private getParamsString(): string {
22
+ const { params } = this.functionOptions;
23
+ let paramsString = '';
24
+
25
+ if (params && params.length > 0) {
26
+ params.forEach(values => (paramsString += `${values.name}, `));
27
+ paramsString = paramsString.slice(0, -2);
28
+ }
29
+
30
+ return paramsString;
31
+ }
32
+ }
@@ -0,0 +1,41 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorKotlinHelper } from './kotlin-helper';
3
+
4
+ describe('CodeEditorKotlinHelper', () => {
5
+ let helper: CodeEditorKotlinHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList =
9
+ 'param1: Boolean, param2: Int, param3: Double, param4: Float, param5: String, param6: Array<Boolean>, param7: Array<Int>, param8: Array<Float>';
10
+ const packages = 'package com.testgorilla.testtaker\n';
11
+ const correctFuncOpening = `fun mockFunction(${paramsList}): Boolean {\n`;
12
+ const correctInitCode = `${packages}${correctFuncOpening}\t //Insert your code here \n}`;
13
+
14
+ beforeEach(() => {
15
+ helper = new CodeEditorKotlinHelper(defaultParams);
16
+ });
17
+
18
+ describe('when getting init code', () => {
19
+ let result: string;
20
+
21
+ beforeEach(() => {
22
+ result = helper.getInitCode();
23
+ });
24
+
25
+ it('should return proper init code', () => {
26
+ expect(result).toEqual(correctInitCode);
27
+ });
28
+ });
29
+
30
+ describe('when getting func opening', () => {
31
+ let result: string;
32
+
33
+ beforeEach(() => {
34
+ result = helper.getFunctionOpening();
35
+ });
36
+
37
+ it('should return proper func opening', () => {
38
+ expect(result).toEqual(correctFuncOpening);
39
+ });
40
+ });
41
+ });