@testgorilla/tgo-coding-test 2.0.0 → 2.0.1

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 (255) hide show
  1. package/fesm2022/testgorilla-tgo-coding-test.mjs +4526 -0
  2. package/fesm2022/testgorilla-tgo-coding-test.mjs.map +1 -0
  3. package/{src/index.ts → index.d.ts} +2 -19
  4. package/lib/components/code-editor/code-editor.component.d.ts +54 -0
  5. package/lib/components/code-editor/code-editor.service.d.ts +12 -0
  6. package/lib/components/code-editor/helpers/c-helper.d.ts +11 -0
  7. package/lib/components/code-editor/helpers/code-editor-helper.base.d.ts +8 -0
  8. package/lib/components/code-editor/helpers/code-editor-helper.model.d.ts +62 -0
  9. package/lib/components/code-editor/helpers/cpp-helper.d.ts +11 -0
  10. package/lib/components/code-editor/helpers/csharp-helper.d.ts +12 -0
  11. package/lib/components/code-editor/helpers/go-helper.d.ts +12 -0
  12. package/lib/components/code-editor/helpers/java-helper.d.ts +12 -0
  13. package/lib/components/code-editor/helpers/javascript-helper.d.ts +10 -0
  14. package/lib/components/code-editor/helpers/kotlin-helper.d.ts +12 -0
  15. package/lib/components/code-editor/helpers/php-helper.d.ts +10 -0
  16. package/lib/components/code-editor/helpers/python-helper.d.ts +10 -0
  17. package/lib/components/code-editor/helpers/r-helper.d.ts +10 -0
  18. package/lib/components/code-editor/helpers/ruby-helper.d.ts +10 -0
  19. package/lib/components/code-editor/helpers/scala-helper.d.ts +12 -0
  20. package/lib/components/code-editor/helpers/sql-helper.d.ts +10 -0
  21. package/lib/components/code-editor/helpers/swift-helper.d.ts +11 -0
  22. package/lib/components/code-editor/helpers/typescript-helper.d.ts +11 -0
  23. package/lib/components/code-editor/models/code-editor.model.d.ts +8 -0
  24. package/lib/components/code-editor/models/coding-snapshot.model.d.ts +4 -0
  25. package/lib/components/coding-question/coding-question.component.d.ts +45 -0
  26. package/lib/components/coding-section/coding-section.component.d.ts +52 -0
  27. package/lib/components/common/truncated-text/truncated-text.component.d.ts +13 -0
  28. package/lib/components/configurations/configurations.component.d.ts +40 -0
  29. package/lib/components/instructions/instructions.component.d.ts +48 -0
  30. package/lib/components/panel/panel.component.d.ts +12 -0
  31. package/lib/components/runnable-editor/runnable-editor.component.d.ts +53 -0
  32. package/lib/components/tests/test-cases/test-cases.component.d.ts +46 -0
  33. package/lib/components/tests/test-cases-content/test-cases-content.component.d.ts +26 -0
  34. package/lib/components/tests/test-cases-status/test-cases-status.component.d.ts +9 -0
  35. package/lib/components/tests/test-results.component.d.ts +33 -0
  36. package/lib/components/tgo-coding-test/tgo-coding-test.component.d.ts +69 -0
  37. package/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.d.ts +101 -0
  38. package/{src/lib/config/index.ts → lib/config/index.d.ts} +0 -1
  39. package/lib/config/tgo-coding-test.config.d.ts +24 -0
  40. package/{src/lib/config/tgo-coding-test.provider.ts → lib/config/tgo-coding-test.provider.d.ts} +6 -18
  41. package/lib/config/tgo-coding-test.token.d.ts +9 -0
  42. package/lib/models/auto-saved-data.d.ts +42 -0
  43. package/lib/models/code-event.d.ts +15 -0
  44. package/lib/models/coderunner-execution-results.d.ts +51 -0
  45. package/lib/models/configs.d.ts +15 -0
  46. package/lib/models/language-change-action.d.ts +4 -0
  47. package/lib/models/lat-languages.d.ts +8 -0
  48. package/lib/models/mixpanel-events.d.ts +3 -0
  49. package/lib/models/mode.d.ts +5 -0
  50. package/lib/models/paste-data.d.ts +4 -0
  51. package/lib/models/programming-language.d.ts +8 -0
  52. package/lib/models/test-cases.d.ts +67 -0
  53. package/lib/models/theme.d.ts +4 -0
  54. package/lib/models/translations.d.ts +1 -0
  55. package/lib/models/view-mode.d.ts +6 -0
  56. package/{src/lib/pipes/memoize-func.pipe.ts → lib/pipes/memoize-func.pipe.d.ts} +6 -14
  57. package/lib/services/candidate-coding-test-services/candidature-api.service.d.ts +10 -0
  58. package/lib/services/candidate-coding-test-services/coderunner-api.service.d.ts +18 -0
  59. package/lib/services/candidate-coding-test-services/coding-test-tour.service.d.ts +22 -0
  60. package/lib/services/candidate-coding-test-services/coding-test.service.d.ts +68 -0
  61. package/{src/lib/services/candidate-coding-test-services/index.ts → lib/services/candidate-coding-test-services/index.d.ts} +1 -1
  62. package/lib/services/coding-test-config.service.d.ts +38 -0
  63. package/lib/services/configurations.service.d.ts +37 -0
  64. package/lib/services/lib-coding-test.service.d.ts +69 -0
  65. package/lib/services/storage.service.d.ts +83 -0
  66. package/lib/services/test-cases.service.d.ts +12 -0
  67. package/lib/services/theme.service.d.ts +17 -0
  68. package/lib/utils/additional-languages/erlang.d.ts +37 -0
  69. package/lib/utils/resize-element.d.ts +2 -0
  70. package/lib/utils/time-to-ms.util.d.ts +1 -0
  71. package/package.json +17 -3
  72. package/shared/index.d.ts +4 -0
  73. package/shared/lib/components/audio-animation/audio-animation.component.d.ts +27 -0
  74. package/shared/lib/components/audio-animation/index.d.ts +1 -0
  75. package/shared/lib/components/index.d.ts +2 -0
  76. package/shared/lib/components/vimeo-video/index.d.ts +1 -0
  77. package/shared/lib/components/vimeo-video/vimeo-video.component.d.ts +24 -0
  78. package/shared/lib/models/answer.d.ts +17 -0
  79. package/shared/lib/models/assessment.d.ts +80 -0
  80. package/shared/lib/models/environment.d.ts +1 -0
  81. package/shared/lib/models/index.d.ts +8 -0
  82. package/shared/lib/models/question-component.d.ts +54 -0
  83. package/shared/lib/models/question.d.ts +102 -0
  84. package/shared/lib/models/test.d.ts +81 -0
  85. package/shared/lib/models/translations.d.ts +1 -0
  86. package/shared/lib/models/window.d.ts +6 -0
  87. package/shared/lib/services/api/api.service.d.ts +25 -0
  88. package/shared/lib/services/api/mocked-api.service.d.ts +35 -0
  89. package/shared/lib/services/environment/environment.service.d.ts +6 -0
  90. package/shared/lib/services/index.d.ts +9 -0
  91. package/shared/lib/services/localization/languages.model.d.ts +15 -0
  92. package/shared/lib/services/localization/transloco-lazy-module-utils.d.ts +11 -0
  93. package/shared/lib/services/localization/transloco-testing.module.d.ts +2 -0
  94. package/shared/lib/services/media/media.service.d.ts +29 -0
  95. package/shared/lib/services/mixpanel/mixpanel.service.d.ts +10 -0
  96. package/shared/lib/services/theme/theme.service.d.ts +8 -0
  97. package/shared/test-mocks/assessment-test.mock.d.ts +21 -0
  98. package/shared/test-mocks/index.d.ts +2 -0
  99. package/shared/test-mocks/tgo-ui.mock.d.ts +21 -0
  100. package/.eslintrc.json +0 -46
  101. package/jest.config.ts +0 -26
  102. package/ng-package.json +0 -14
  103. package/project.json +0 -48
  104. package/src/lib/components/.gitkeep +0 -0
  105. package/src/lib/components/code-editor/code-editor.component.html +0 -10
  106. package/src/lib/components/code-editor/code-editor.component.scss +0 -21
  107. package/src/lib/components/code-editor/code-editor.component.spec.ts +0 -136
  108. package/src/lib/components/code-editor/code-editor.component.ts +0 -368
  109. package/src/lib/components/code-editor/code-editor.mocks.ts +0 -28
  110. package/src/lib/components/code-editor/code-editor.service.spec.ts +0 -160
  111. package/src/lib/components/code-editor/code-editor.service.ts +0 -94
  112. package/src/lib/components/code-editor/helpers/c-helper.spec.ts +0 -39
  113. package/src/lib/components/code-editor/helpers/c-helper.ts +0 -51
  114. package/src/lib/components/code-editor/helpers/code-editor-helper.base.spec.ts +0 -30
  115. package/src/lib/components/code-editor/helpers/code-editor-helper.base.ts +0 -16
  116. package/src/lib/components/code-editor/helpers/code-editor-helper.mocks.ts +0 -24
  117. package/src/lib/components/code-editor/helpers/code-editor-helper.model.ts +0 -67
  118. package/src/lib/components/code-editor/helpers/cpp-helper.spec.ts +0 -40
  119. package/src/lib/components/code-editor/helpers/cpp-helper.ts +0 -52
  120. package/src/lib/components/code-editor/helpers/csharp-helper.spec.ts +0 -42
  121. package/src/lib/components/code-editor/helpers/csharp-helper.ts +0 -55
  122. package/src/lib/components/code-editor/helpers/go-helper.spec.ts +0 -41
  123. package/src/lib/components/code-editor/helpers/go-helper.ts +0 -54
  124. package/src/lib/components/code-editor/helpers/java-helper.spec.ts +0 -41
  125. package/src/lib/components/code-editor/helpers/java-helper.ts +0 -54
  126. package/src/lib/components/code-editor/helpers/javascript-helper.spec.ts +0 -39
  127. package/src/lib/components/code-editor/helpers/javascript-helper.ts +0 -32
  128. package/src/lib/components/code-editor/helpers/kotlin-helper.spec.ts +0 -41
  129. package/src/lib/components/code-editor/helpers/kotlin-helper.ts +0 -54
  130. package/src/lib/components/code-editor/helpers/php-helper.spec.ts +0 -39
  131. package/src/lib/components/code-editor/helpers/php-helper.ts +0 -32
  132. package/src/lib/components/code-editor/helpers/python-helper.spec.ts +0 -39
  133. package/src/lib/components/code-editor/helpers/python-helper.ts +0 -32
  134. package/src/lib/components/code-editor/helpers/r-helper.spec.ts +0 -39
  135. package/src/lib/components/code-editor/helpers/r-helper.ts +0 -32
  136. package/src/lib/components/code-editor/helpers/ruby-helper.spec.ts +0 -39
  137. package/src/lib/components/code-editor/helpers/ruby-helper.ts +0 -32
  138. package/src/lib/components/code-editor/helpers/scala-helper.spec.ts +0 -41
  139. package/src/lib/components/code-editor/helpers/scala-helper.ts +0 -53
  140. package/src/lib/components/code-editor/helpers/sql-helper.spec.ts +0 -87
  141. package/src/lib/components/code-editor/helpers/sql-helper.ts +0 -44
  142. package/src/lib/components/code-editor/helpers/swift-helper.spec.ts +0 -40
  143. package/src/lib/components/code-editor/helpers/swift-helper.ts +0 -51
  144. package/src/lib/components/code-editor/helpers/typescript-helper.spec.ts +0 -40
  145. package/src/lib/components/code-editor/helpers/typescript-helper.ts +0 -52
  146. package/src/lib/components/code-editor/models/code-editor.model.ts +0 -9
  147. package/src/lib/components/code-editor/models/coding-snapshot.model.ts +0 -4
  148. package/src/lib/components/coding-question/coding-question.component.html +0 -78
  149. package/src/lib/components/coding-question/coding-question.component.scss +0 -75
  150. package/src/lib/components/coding-question/coding-question.component.spec.ts +0 -85
  151. package/src/lib/components/coding-question/coding-question.component.ts +0 -101
  152. package/src/lib/components/coding-section/coding-section.component.html +0 -82
  153. package/src/lib/components/coding-section/coding-section.component.scss +0 -64
  154. package/src/lib/components/coding-section/coding-section.component.spec.ts +0 -257
  155. package/src/lib/components/coding-section/coding-section.component.ts +0 -186
  156. package/src/lib/components/coding-test.module.ts +0 -124
  157. package/src/lib/components/common/truncated-text/truncated-text.component.html +0 -6
  158. package/src/lib/components/common/truncated-text/truncated-text.component.scss +0 -18
  159. package/src/lib/components/common/truncated-text/truncated-text.component.spec.ts +0 -84
  160. package/src/lib/components/common/truncated-text/truncated-text.component.ts +0 -36
  161. package/src/lib/components/configurations/configurations.component.html +0 -57
  162. package/src/lib/components/configurations/configurations.component.scss +0 -42
  163. package/src/lib/components/configurations/configurations.component.spec.ts +0 -186
  164. package/src/lib/components/configurations/configurations.component.ts +0 -97
  165. package/src/lib/components/instructions/instructions.component.html +0 -41
  166. package/src/lib/components/instructions/instructions.component.scss +0 -173
  167. package/src/lib/components/instructions/instructions.component.spec.ts +0 -106
  168. package/src/lib/components/instructions/instructions.component.ts +0 -137
  169. package/src/lib/components/panel/panel.component.html +0 -19
  170. package/src/lib/components/panel/panel.component.scss +0 -41
  171. package/src/lib/components/panel/panel.component.spec.ts +0 -40
  172. package/src/lib/components/panel/panel.component.ts +0 -33
  173. package/src/lib/components/runnable-editor/runnable-editor.component.html +0 -75
  174. package/src/lib/components/runnable-editor/runnable-editor.component.scss +0 -55
  175. package/src/lib/components/runnable-editor/runnable-editor.component.spec.ts +0 -124
  176. package/src/lib/components/runnable-editor/runnable-editor.component.ts +0 -154
  177. package/src/lib/components/tests/test-cases/test-cases.component.html +0 -135
  178. package/src/lib/components/tests/test-cases/test-cases.component.scss +0 -220
  179. package/src/lib/components/tests/test-cases/test-cases.component.spec.ts +0 -401
  180. package/src/lib/components/tests/test-cases/test-cases.component.ts +0 -204
  181. package/src/lib/components/tests/test-cases-content/test-cases-content.component.html +0 -94
  182. package/src/lib/components/tests/test-cases-content/test-cases-content.component.scss +0 -103
  183. package/src/lib/components/tests/test-cases-content/test-cases-content.component.spec.ts +0 -122
  184. package/src/lib/components/tests/test-cases-content/test-cases-content.component.ts +0 -101
  185. package/src/lib/components/tests/test-cases-status/test-cases-status.component.html +0 -16
  186. package/src/lib/components/tests/test-cases-status/test-cases-status.component.scss +0 -49
  187. package/src/lib/components/tests/test-cases-status/test-cases-status.component.spec.ts +0 -22
  188. package/src/lib/components/tests/test-cases-status/test-cases-status.component.ts +0 -17
  189. package/src/lib/components/tests/test-results.component.html +0 -119
  190. package/src/lib/components/tests/test-results.component.scss +0 -189
  191. package/src/lib/components/tests/test-results.component.spec.ts +0 -140
  192. package/src/lib/components/tests/test-results.component.ts +0 -97
  193. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.html +0 -96
  194. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.scss +0 -6
  195. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.spec.ts +0 -599
  196. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.ts +0 -278
  197. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.html +0 -36
  198. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.scss +0 -183
  199. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.spec.ts +0 -883
  200. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.ts +0 -578
  201. package/src/lib/config/tgo-coding-test.config.ts +0 -26
  202. package/src/lib/config/tgo-coding-test.token.ts +0 -21
  203. package/src/lib/models/.gitkeep +0 -0
  204. package/src/lib/models/auto-saved-data.ts +0 -51
  205. package/src/lib/models/code-event.ts +0 -17
  206. package/src/lib/models/coderunner-execution-results.ts +0 -58
  207. package/src/lib/models/coding-lib.mocks.ts +0 -246
  208. package/src/lib/models/configs.ts +0 -18
  209. package/src/lib/models/language-change-action.ts +0 -4
  210. package/src/lib/models/lat-languages.ts +0 -12
  211. package/src/lib/models/mixpanel-events.ts +0 -3
  212. package/src/lib/models/mode.ts +0 -5
  213. package/src/lib/models/paste-data.ts +0 -4
  214. package/src/lib/models/programming-language.ts +0 -9
  215. package/src/lib/models/test-cases.ts +0 -74
  216. package/src/lib/models/theme.ts +0 -5
  217. package/src/lib/models/translations.ts +0 -1
  218. package/src/lib/models/view-mode.ts +0 -6
  219. package/src/lib/services/.gitkeep +0 -0
  220. package/src/lib/services/candidate-coding-test-services/candidature-api.service.spec.ts +0 -40
  221. package/src/lib/services/candidate-coding-test-services/candidature-api.service.ts +0 -15
  222. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.spec.ts +0 -134
  223. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.ts +0 -105
  224. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.spec.ts +0 -161
  225. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.ts +0 -100
  226. package/src/lib/services/candidate-coding-test-services/coding-test.service.spec.ts +0 -1524
  227. package/src/lib/services/candidate-coding-test-services/coding-test.service.ts +0 -843
  228. package/src/lib/services/coding-test-config.service.ts +0 -48
  229. package/src/lib/services/configurations.service.mocks.ts +0 -77
  230. package/src/lib/services/configurations.service.spec.ts +0 -79
  231. package/src/lib/services/configurations.service.ts +0 -111
  232. package/src/lib/services/index.ts +0 -0
  233. package/src/lib/services/lib-coding-test.service.spec.ts +0 -265
  234. package/src/lib/services/lib-coding-test.service.ts +0 -157
  235. package/src/lib/services/local-storage.service.mocks.ts +0 -22
  236. package/src/lib/services/storage.service.spec.ts +0 -1119
  237. package/src/lib/services/storage.service.ts +0 -729
  238. package/src/lib/services/test-cases.service.spec.ts +0 -53
  239. package/src/lib/services/test-cases.service.ts +0 -29
  240. package/src/lib/services/theme.service.spec.ts +0 -76
  241. package/src/lib/services/theme.service.ts +0 -34
  242. package/src/lib/styles/mixins.scss +0 -86
  243. package/src/lib/styles/styles.scss +0 -112
  244. package/src/lib/styles/variables.scss +0 -105
  245. package/src/lib/utils/.gitkeep +0 -0
  246. package/src/lib/utils/additional-languages/erlang.ts +0 -115
  247. package/src/lib/utils/resize-element.ts +0 -15
  248. package/src/lib/utils/time-to-ms.util.ts +0 -10
  249. package/src/test-setup.ts +0 -3
  250. package/tsconfig.json +0 -19
  251. package/tsconfig.lib.json +0 -19
  252. package/tsconfig.lib.prod.json +0 -10
  253. package/tsconfig.spec.json +0 -17
  254. /package/{src/assets → assets}/i18n/en.json +0 -0
  255. /package/{src/lib/components/code-editor/helpers/index.ts → lib/components/code-editor/helpers/index.d.ts} +0 -0
@@ -1,41 +0,0 @@
1
- import { defaultFuncParams } from './code-editor-helper.mocks';
2
- import { CodeEditorScalaHelper } from './scala-helper';
3
-
4
- describe('CodeEditorScalaHelper', () => {
5
- let helper: CodeEditorScalaHelper;
6
-
7
- const defaultParams = { ...defaultFuncParams };
8
- const paramsList =
9
- 'param1: Boolean, param2: Int, param3: Double, param4: Float, param5: String, param6: Array[Boolean], param7: Array[Integer], param8: Array[Float]';
10
- const packages = 'package Testgorilla\nobject TestTaker\n';
11
- const correctFuncOpening = `def mockFunction(${paramsList}) : Boolean = {\n`;
12
- const correctInitCode = `${packages}${correctFuncOpening}\t //Insert your code here \n}`;
13
-
14
- beforeEach(() => {
15
- helper = new CodeEditorScalaHelper(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
- });
@@ -1,53 +0,0 @@
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 CodeEditorScalaHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
- language = CodeEditorLanguages.Scala;
11
- typesMap: CodeEditorTypesMap = {
12
- boolean: 'Boolean',
13
- int: 'Int',
14
- double: 'Double',
15
- float: 'Float',
16
- str: 'String',
17
- array_boolean: 'Array[Boolean]',
18
- array_int: 'Array[Integer]',
19
- array_float: 'Array[Float]',
20
- array_double: 'Array[Double]',
21
- array_str: 'Array[String]',
22
- };
23
-
24
- private packagesText = 'package Testgorilla\nobject TestTaker\n';
25
-
26
- constructor(private functionOptions: CodeEditorFuncOptions) {
27
- super();
28
- }
29
-
30
- getInitCode(): string {
31
- return `${this.packagesText}${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
-
39
- return `def ${funcName}(${params}) : ${showingReturnType} = {\n`;
40
- }
41
-
42
- private getParamsString(): string {
43
- const { params } = this.functionOptions;
44
- let paramsString = '';
45
-
46
- if (params && params.length > 0) {
47
- params.forEach(values => (paramsString += `${values.name}: ${this.parseType(values.type)}, `));
48
- paramsString = paramsString.slice(0, -2);
49
- }
50
-
51
- return paramsString;
52
- }
53
- }
@@ -1,87 +0,0 @@
1
- import { CodeEditorFuncOptions, CodeEditorSqlOperations } from './code-editor-helper.model';
2
- import { CodeEditorSqlHelper } from './sql-helper';
3
-
4
- describe('CodeEditorSqlHelper', () => {
5
- let helper: CodeEditorSqlHelper;
6
-
7
- const defaultParams: CodeEditorFuncOptions = { name: CodeEditorSqlOperations.Select };
8
- const correctFuncOpening = 'SELECT\n';
9
- const correctSelectInitCode = `${correctFuncOpening}## FROM ## WHERE ##;\n`;
10
-
11
- beforeEach(() => {
12
- helper = new CodeEditorSqlHelper(defaultParams);
13
- });
14
-
15
- describe('when getting init code', () => {
16
- let result: string;
17
-
18
- beforeEach(() => {
19
- result = helper.getInitCode();
20
- });
21
-
22
- describe('and operation is SELECT', () => {
23
- it('should return proper init code', () => {
24
- expect(result).toEqual(correctSelectInitCode);
25
- });
26
- });
27
-
28
- describe('and operation is UPDATE', () => {
29
- it('should return proper init code', () => {
30
- const correctInitCode = 'UPDATE\n## SET ## WHERE ##;\n';
31
- helper = new CodeEditorSqlHelper({ name: CodeEditorSqlOperations.Update });
32
- result = helper.getInitCode();
33
- expect(result).toEqual(correctInitCode);
34
- });
35
- });
36
-
37
- describe('and operation is INSERT', () => {
38
- it('should return proper init code', () => {
39
- const correctInitCode = 'INSERT\nINTO ## WHERE ##;\n';
40
- helper = new CodeEditorSqlHelper({ name: CodeEditorSqlOperations.Insert });
41
- result = helper.getInitCode();
42
- expect(result).toEqual(correctInitCode);
43
- });
44
- });
45
-
46
- describe('and operation is DELETE', () => {
47
- it('should return proper init code', () => {
48
- const correctInitCode = 'DELETE\n## FROM ## WHERE ##;\n';
49
- helper = new CodeEditorSqlHelper({ name: CodeEditorSqlOperations.Delete });
50
- result = helper.getInitCode();
51
- expect(result).toEqual(correctInitCode);
52
- });
53
- });
54
-
55
- describe('and operation is CREATE TABLE', () => {
56
- it('should return proper init code', () => {
57
- const correctInitCode = 'CREATE TABLE\n## VALUES ##;\n';
58
- helper = new CodeEditorSqlHelper({ name: CodeEditorSqlOperations.CreateTable });
59
- result = helper.getInitCode();
60
- expect(result).toEqual(correctInitCode);
61
- });
62
- });
63
-
64
- describe('and operation is unknown', () => {
65
- it('should throw error', () => {
66
- helper = new CodeEditorSqlHelper({ name: 'anything' });
67
- try {
68
- result = helper.getInitCode();
69
- } catch (e) {
70
- expect(e.message).toEqual('wrong sql operation');
71
- }
72
- });
73
- });
74
- });
75
-
76
- describe('when getting func opening', () => {
77
- let result: string;
78
-
79
- beforeEach(() => {
80
- result = helper.getFunctionOpening();
81
- });
82
-
83
- it('should return proper func opening', () => {
84
- expect(result).toEqual(correctFuncOpening);
85
- });
86
- });
87
- });
@@ -1,44 +0,0 @@
1
- import { CodeEditorHelperBase } from './code-editor-helper.base';
2
- import {
3
- CodeEditorFuncOptions,
4
- CodeEditorHelper,
5
- CodeEditorLanguages,
6
- CodeEditorSqlOperations,
7
- } from './code-editor-helper.model';
8
-
9
- export class CodeEditorSqlHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
- language = CodeEditorLanguages.Sql;
11
-
12
- constructor(private functionOptions: CodeEditorFuncOptions) {
13
- super();
14
- }
15
-
16
- getInitCode(): string {
17
- return `${this.getFunctionOpening()}${this.getOperationCode()}`;
18
- }
19
-
20
- getFunctionOpening(): string {
21
- const { name: funcName } = this.functionOptions;
22
-
23
- return `${funcName || ''}\n`;
24
- }
25
-
26
- private getOperationCode(): string {
27
- const { name: funcName } = this.functionOptions;
28
-
29
- switch (funcName) {
30
- case CodeEditorSqlOperations.Select:
31
- return '## FROM ## WHERE ##;\n';
32
- case CodeEditorSqlOperations.Update:
33
- return '## SET ## WHERE ##;\n';
34
- case CodeEditorSqlOperations.Insert:
35
- return 'INTO ## WHERE ##;\n';
36
- case CodeEditorSqlOperations.Delete:
37
- return '## FROM ## WHERE ##;\n';
38
- case CodeEditorSqlOperations.CreateTable:
39
- return '## VALUES ##;\n';
40
- default:
41
- return '';
42
- }
43
- }
44
- }
@@ -1,40 +0,0 @@
1
- import { defaultFuncParams } from './code-editor-helper.mocks';
2
- import { CodeEditorSwiftHelper } from './swift-helper';
3
-
4
- describe('CodeEditorSwiftHelper', () => {
5
- let helper: CodeEditorSwiftHelper;
6
-
7
- const defaultParams = { ...defaultFuncParams };
8
- const paramsList =
9
- '_ param1: Bool, _ param2: Int, _ param3: Double, _ param4: Float, _ param5: String, _ param6: [Bool], _ param7: [Int], _ param8: [Float]';
10
- const correctFuncOpening = `func mockFunction(${paramsList}) -> Bool {\n`;
11
- const correctInitCode = `${correctFuncOpening}\t //Insert your code here \n}`;
12
-
13
- beforeEach(() => {
14
- helper = new CodeEditorSwiftHelper(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
- });
@@ -1,51 +0,0 @@
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 CodeEditorSwiftHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
- language = CodeEditorLanguages.Swift;
11
- typesMap: CodeEditorTypesMap = {
12
- boolean: 'Bool',
13
- int: 'Int',
14
- double: 'Double',
15
- float: 'Float',
16
- str: 'String',
17
- array_boolean: '[Bool]',
18
- array_int: '[Int]',
19
- array_float: '[Float]',
20
- array_double: '[Double]',
21
- array_str: '[String]',
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 `func ${funcName}(${params}) -> ${showingReturnType} {\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 += `_ ${values.name}: ${this.parseType(values.type)}, `));
46
- paramsString = paramsString.slice(0, -2);
47
- }
48
-
49
- return paramsString;
50
- }
51
- }
@@ -1,40 +0,0 @@
1
- import { defaultFuncParams } from './code-editor-helper.mocks';
2
- import { CodeEditorTypescriptHelper } from './typescript-helper';
3
-
4
- describe('CodeEditorTypescriptHelper', () => {
5
- let helper: CodeEditorTypescriptHelper;
6
-
7
- const defaultParams = { ...defaultFuncParams };
8
- const paramsList =
9
- 'param1: boolean, param2: number, param3: number, param4: number, param5: string, param6: Array<boolean>, param7: Array<number>, param8: Array<number>';
10
- const correctFuncOpening = `export default function mockFunction(${paramsList}): boolean {\n`;
11
- const correctInitCode = `${correctFuncOpening}\t //Insert your code here \n}`;
12
-
13
- beforeEach(() => {
14
- helper = new CodeEditorTypescriptHelper(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
- });
@@ -1,52 +0,0 @@
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 CodeEditorTypescriptHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
- language = CodeEditorLanguages.Typescript;
11
- typesMap: CodeEditorTypesMap = {
12
- boolean: 'boolean',
13
- int: 'number',
14
- number: 'number',
15
- double: 'number',
16
- float: 'number',
17
- str: 'string',
18
- array_boolean: 'Array<boolean>',
19
- array_int: 'Array<number>',
20
- array_float: 'Array<number>',
21
- array_double: 'Array<number>',
22
- array_str: 'Array<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 `export default function ${funcName}(${params}): ${showingReturnType} {\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 += `${values.name}: ${this.parseType(values.type)}, `));
47
- paramsString = paramsString.slice(0, -2);
48
- }
49
-
50
- return paramsString;
51
- }
52
- }
@@ -1,9 +0,0 @@
1
- export interface PasteData {
2
- type: string;
3
- data: string;
4
- }
5
-
6
- export const enum MonacoColorTheme {
7
- Light = 'vs',
8
- Dark = 'vs-dark',
9
- }
@@ -1,4 +0,0 @@
1
- export interface CodingSnapshot {
2
- text: string;
3
- copied_text?: string;
4
- }
@@ -1,78 +0,0 @@
1
- <div
2
- *ngIf="!isMobile; else mobileTpl"
3
- class="main-container"
4
- [ngClass]="{ 'main-container-fullscreen': isFullscreenMode }"
5
- >
6
- <mat-card appearance="outlined" class="main-card">
7
- <as-split class="as-split" direction="horizontal" [useTransition]="true" [gutterSize]="GUTTER_SIZE">
8
- <as-split-area size="38" minSize="24">
9
- <ng-container [ngTemplateOutlet]="instructions"></ng-container>
10
- </as-split-area>
11
- <as-split-area size="62" minSize="30">
12
- <ng-container [ngTemplateOutlet]="runnableIde"></ng-container>
13
- </as-split-area>
14
- </as-split>
15
-
16
- <ui-button
17
- *ngIf="!isFullscreenMode"
18
- class="fullscreen-btn themed-button"
19
- [variant]="'secondary'"
20
- [iconName]="'Full-screen'"
21
- [justIcon]="true"
22
- [size]="'big'"
23
- [applicationTheme]="applicationTheme"
24
- [tooltip]="translations['TOOLTIPS']['MAXIMISE']"
25
- [tooltipPosition]="'left'"
26
- (buttonClickEvent)="enableFullScreenMode()"
27
- >
28
- </ui-button>
29
- </mat-card>
30
- </div>
31
-
32
- <ng-template #mobileTpl>
33
- <div class="main-container main-container-mobile">
34
- <mat-card appearance="outlined" class="main-card main-card-mobile">
35
- <ng-container [ngTemplateOutlet]="instructions"></ng-container>
36
- <ng-container [ngTemplateOutlet]="runnableIde"></ng-container>
37
- </mat-card>
38
- </div>
39
- </ng-template>
40
-
41
- <ng-template #instructions>
42
- <tgo-code-instructions
43
- [mode]="mode"
44
- [isLAT]="isLAT"
45
- [questionText]="questionText"
46
- [translations]="translations"
47
- [isDarkTheme]="isDarkTheme$ | async"
48
- ></tgo-code-instructions>
49
- </ng-template>
50
- <ng-template #runnableIde>
51
- <tgo-runnable-editor
52
- [initCode]="initCode"
53
- [functionParams]="functionParams"
54
- [functionName]="functionName"
55
- [returnType]="returnType"
56
- [isFullViewMode]="true"
57
- [shouldGenerateInitCode]="false"
58
- [isLAT]="isLAT"
59
- [isSQL]="isSQL"
60
- [canAddCustomTestCases]="canAddCustomTestCases"
61
- [languages]="languages"
62
- [autoHeight]="autoHeight"
63
- [translations]="translations"
64
- [questionText]="questionText"
65
- [companyColor]="companyColor"
66
- [testCasesStatus]="testCasesStatus"
67
- [loading]="loading"
68
- [runTestResponse]="runTestResponse"
69
- [exampleTestCases]="exampleTestCases"
70
- [hideTestCases]="hideTestCases"
71
- [applicationTheme]="applicationTheme"
72
- (pasteEvent)="pasteEvent.emit($event)"
73
- (codeChange)="codeChange.emit($event)"
74
- (runTestClick)="runTestClick.emit($event)"
75
- (languageChange)="languageChange.emit($event)"
76
- >
77
- </tgo-runnable-editor>
78
- </ng-template>
@@ -1,75 +0,0 @@
1
- @import '../../styles/mixins';
2
-
3
- @include as-split-styles();
4
-
5
- :host {
6
- display: block;
7
- height: 100%;
8
- }
9
-
10
- .main-container {
11
- height: 100%;
12
- padding: 32px 50px 40px 50px;
13
- display: flex;
14
- justify-content: center;
15
-
16
- &-mobile {
17
- padding: 20px 16px 0;
18
- }
19
-
20
- .main-card {
21
- flex: 1 0 100%;
22
- height: 100%;
23
- max-height: 750px;
24
- max-width: 1280px;
25
- padding: 0 !important;
26
- box-shadow: 0 8px 24px 4px rgba(0, 0, 0, 0.08);
27
- background-color: var(--bg-mat-card) !important;
28
-
29
- &-mobile {
30
- display: flex;
31
- flex-direction: column;
32
- max-width: 100%;
33
- max-height: 100%;
34
- }
35
- }
36
-
37
- &-fullscreen {
38
- padding: 0;
39
-
40
- .main-card {
41
- max-height: calc(100vh - 80px);
42
- max-width: 100vw;
43
- }
44
- }
45
- }
46
-
47
- .fullscreen-btn {
48
- position: absolute;
49
- top: 0;
50
- right: -50px;
51
-
52
- &.themed-button {
53
- ::ng-deep {
54
- .mat-mdc-unelevated-button.secondary {
55
- background-color: var(--button-bg-color);
56
- }
57
- }
58
- }
59
-
60
- @media screen and (min-width: 1400px) {
61
- right: -72px;
62
- }
63
-
64
- .fullscreen-icon {
65
- width: 18px;
66
- height: 18px;
67
- min-width: auto;
68
- min-height: auto;
69
- font-size: 18px;
70
-
71
- ::ng-deep svg {
72
- fill: var(--icon-bg-color);
73
- }
74
- }
75
- }
@@ -1,85 +0,0 @@
1
- import { ChangeDetectorRef, NO_ERRORS_SCHEMA } from '@angular/core';
2
- import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
3
-
4
- import { MockModule, MockProvider } from 'ng-mocks';
5
- import { Subject } from 'rxjs';
6
- import { Themes } from '../../models/theme';
7
- import { ConfigurationsService } from '../../services/configurations.service';
8
- import { LibCodingTestService } from '../../services/lib-coding-test.service';
9
- import { CodingQuestionComponent } from './coding-question.component';
10
- import { CONFIGURATIONS_SERVICE_MOCK } from '../../services/configurations.service.mocks';
11
- import { AngularSplitModule } from 'angular-split';
12
- import { MatCardModule } from '@angular/material/card';
13
- import { ButtonComponentModule } from '@testgorilla/tgo-ui';
14
-
15
- describe('CodingQuestionComponent', () => {
16
- let component: CodingQuestionComponent;
17
- let fixture: ComponentFixture<CodingQuestionComponent>;
18
- let configurationsService: ConfigurationsService;
19
-
20
- beforeEach(waitForAsync(() => {
21
- TestBed.configureTestingModule({
22
- imports: [
23
- CodingQuestionComponent,
24
- MockModule(AngularSplitModule),
25
- MockModule(MatCardModule),
26
- MockModule(ButtonComponentModule),
27
- ],
28
- schemas: [NO_ERRORS_SCHEMA],
29
- providers: [
30
- MockProvider(ChangeDetectorRef),
31
- MockProvider(LibCodingTestService, {
32
- isFullscreen$: new Subject(),
33
- setFullscreen(val) {
34
- this.isFullscreen$.next(val);
35
- },
36
- }),
37
- MockProvider(ConfigurationsService, CONFIGURATIONS_SERVICE_MOCK),
38
- ],
39
- })
40
- .overrideComponent(CodingQuestionComponent, {
41
- set: {
42
- template: '',
43
- },
44
- })
45
- .compileComponents();
46
- }));
47
-
48
- beforeEach(() => {
49
- fixture = TestBed.createComponent(CodingQuestionComponent);
50
- configurationsService = TestBed.inject(ConfigurationsService);
51
- component = fixture.componentInstance;
52
- component.translations = { TOOLTIPS: {} };
53
-
54
- fixture.detectChanges();
55
- });
56
-
57
- describe('when the fullscreen mode is enabled', () => {
58
- beforeEach(() => {
59
- component.enableFullScreenMode();
60
- });
61
-
62
- it('should turn on fullscreen mode', () => {
63
- expect(component.isFullscreenMode).toBeTruthy();
64
- });
65
- });
66
-
67
- describe('when the component is destroyed', () => {
68
- let setCodeComponentDestroyedSpy: jest.SpyInstance;
69
- let setColorThemeSpy: jest.SpyInstance;
70
- let closeConfigPanelSpy: jest.SpyInstance;
71
-
72
- beforeEach(() => {
73
- setCodeComponentDestroyedSpy = jest.spyOn(configurationsService, 'setCodeComponentDestroyed');
74
- setColorThemeSpy = jest.spyOn(configurationsService, 'setColorTheme');
75
- closeConfigPanelSpy = jest.spyOn(configurationsService, 'closeConfigPanel');
76
- component.ngOnDestroy();
77
- });
78
-
79
- it('should call configurationsService methods', () => {
80
- expect(setCodeComponentDestroyedSpy).toHaveBeenCalledWith(true);
81
- expect(setColorThemeSpy).toHaveBeenCalledWith(Themes.Default);
82
- expect(closeConfigPanelSpy).toHaveBeenCalled();
83
- });
84
- });
85
- });