@neurodevs/node-tdd 1.0.6 → 1.0.7

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 (179) hide show
  1. package/package.json +1 -1
  2. package/.nvmrc +0 -1
  3. package/.vscode/launch.json +0 -53
  4. package/.vscode/settings.json +0 -62
  5. package/.vscode/tasks.json +0 -99
  6. package/build/__tests__/MockFetch.d.ts +0 -18
  7. package/build/__tests__/MockFetch.js +0 -55
  8. package/build/__tests__/MockFetch.js.map +0 -1
  9. package/build/__tests__/behavioral/AbstractModuleTest.test.d.ts +0 -5
  10. package/build/__tests__/behavioral/AbstractModuleTest.test.js +0 -22
  11. package/build/__tests__/behavioral/AbstractModuleTest.test.js.map +0 -1
  12. package/build/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.d.ts +0 -5
  13. package/build/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.js +0 -34
  14. package/build/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.js.map +0 -1
  15. package/build/__tests__/behavioral/utilities/Assert.test.d.ts +0 -45
  16. package/build/__tests__/behavioral/utilities/Assert.test.js +0 -645
  17. package/build/__tests__/behavioral/utilities/Assert.test.js.map +0 -1
  18. package/build/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.d.ts +0 -4
  19. package/build/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.js +0 -23
  20. package/build/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.js.map +0 -1
  21. package/build/__tests__/behavioral/utilities/MockFetch.test.d.ts +0 -28
  22. package/build/__tests__/behavioral/utilities/MockFetch.test.js +0 -211
  23. package/build/__tests__/behavioral/utilities/MockFetch.test.js.map +0 -1
  24. package/build/__tests__/behavioral/utilities/StackCleaner.test.d.ts +0 -4
  25. package/build/__tests__/behavioral/utilities/StackCleaner.test.js +0 -46
  26. package/build/__tests__/behavioral/utilities/StackCleaner.test.js.map +0 -1
  27. package/build/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.d.ts +0 -7
  28. package/build/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.js +0 -32
  29. package/build/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.js.map +0 -1
  30. package/build/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.d.ts +0 -4
  31. package/build/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.js +0 -19
  32. package/build/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.js.map +0 -1
  33. package/build/__tests__/behavioral/utilities/Stringify.test.d.ts +0 -5
  34. package/build/__tests__/behavioral/utilities/Stringify.test.js +0 -127
  35. package/build/__tests__/behavioral/utilities/Stringify.test.js.map +0 -1
  36. package/build/__tests__/behavioral/utilities/TestDecoratorResolver.test.d.ts +0 -7
  37. package/build/__tests__/behavioral/utilities/TestDecoratorResolver.test.js +0 -38
  38. package/build/__tests__/behavioral/utilities/TestDecoratorResolver.test.js.map +0 -1
  39. package/build/__tests__/behavioral/utilities/TestOnBasic.test.d.ts +0 -12
  40. package/build/__tests__/behavioral/utilities/TestOnBasic.test.js +0 -68
  41. package/build/__tests__/behavioral/utilities/TestOnBasic.test.js.map +0 -1
  42. package/build/__tests__/behavioral/utilities/TestOnInstance.test.d.ts +0 -28
  43. package/build/__tests__/behavioral/utilities/TestOnInstance.test.js +0 -289
  44. package/build/__tests__/behavioral/utilities/TestOnInstance.test.js.map +0 -1
  45. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.d.ts +0 -9
  46. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.js +0 -118
  47. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.js.map +0 -1
  48. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.d.ts +0 -5
  49. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.js +0 -78
  50. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.js.map +0 -1
  51. package/build/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.d.ts +0 -4
  52. package/build/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.js +0 -23
  53. package/build/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.js.map +0 -1
  54. package/build/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.d.ts +0 -4
  55. package/build/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.js +0 -24
  56. package/build/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.js.map +0 -1
  57. package/build/__tests__/behavioral/utilities/TestResolver.test.d.ts +0 -7
  58. package/build/__tests__/behavioral/utilities/TestResolver.test.js +0 -38
  59. package/build/__tests__/behavioral/utilities/TestResolver.test.js.map +0 -1
  60. package/build/__tests__/behavioral/utilities/TestResolverOnStatic.test.d.ts +0 -4
  61. package/build/__tests__/behavioral/utilities/TestResolverOnStatic.test.js +0 -20
  62. package/build/__tests__/behavioral/utilities/TestResolverOnStatic.test.js.map +0 -1
  63. package/build/__tests__/behavioral/workspace/JestJsonParser.test.d.ts +0 -18
  64. package/build/__tests__/behavioral/workspace/JestJsonParser.test.js +0 -267
  65. package/build/__tests__/behavioral/workspace/JestJsonParser.test.js.map +0 -1
  66. package/build/__tests__/behavioral/workspace/TestReporter.test.d.ts +0 -27
  67. package/build/__tests__/behavioral/workspace/TestReporter.test.js +0 -508
  68. package/build/__tests__/behavioral/workspace/TestReporter.test.js.map +0 -1
  69. package/build/__tests__/behavioral/workspace/TestRunner.test.d.ts +0 -15
  70. package/build/__tests__/behavioral/workspace/TestRunner.test.js +0 -99
  71. package/build/__tests__/behavioral/workspace/TestRunner.test.js.map +0 -1
  72. package/build/__tests__/behavioral/workspace/Widgets.test.d.ts +0 -16
  73. package/build/__tests__/behavioral/workspace/Widgets.test.js +0 -134
  74. package/build/__tests__/behavioral/workspace/Widgets.test.js.map +0 -1
  75. package/build/__tests__/mock-terminal-kit.d.ts +0 -79
  76. package/build/__tests__/mock-terminal-kit.js +0 -103
  77. package/build/__tests__/mock-terminal-kit.js.map +0 -1
  78. package/build/__tests__/support/AbstractForInstanceTest.d.ts +0 -4
  79. package/build/__tests__/support/AbstractForInstanceTest.js +0 -9
  80. package/build/__tests__/support/AbstractForInstanceTest.js.map +0 -1
  81. package/build/__tests__/support/AbstractLevelOneTest.d.ts +0 -3
  82. package/build/__tests__/support/AbstractLevelOneTest.js +0 -4
  83. package/build/__tests__/support/AbstractLevelOneTest.js.map +0 -1
  84. package/build/__tests__/support/AbstractLevelTwoTest.d.ts +0 -7
  85. package/build/__tests__/support/AbstractLevelTwoTest.js +0 -14
  86. package/build/__tests__/support/AbstractLevelTwoTest.js.map +0 -1
  87. package/build/__tests__/support/AbstractStaticTest.d.ts +0 -7
  88. package/build/__tests__/support/AbstractStaticTest.js +0 -14
  89. package/build/__tests__/support/AbstractStaticTest.js.map +0 -1
  90. package/build/__tests__/support/AbstractTestOnInstanceTest.d.ts +0 -22
  91. package/build/__tests__/support/AbstractTestOnInstanceTest.js +0 -23
  92. package/build/__tests__/support/AbstractTestOnInstanceTest.js.map +0 -1
  93. package/build/__tests__/support/AbstractTestOnInstanceWithHooks.d.ts +0 -26
  94. package/build/__tests__/support/AbstractTestOnInstanceWithHooks.js +0 -59
  95. package/build/__tests__/support/AbstractTestOnInstanceWithHooks.js.map +0 -1
  96. package/build/__tests__/support/jest.setup.d.ts +0 -1
  97. package/build/__tests__/support/jest.setup.js +0 -4
  98. package/build/__tests__/support/jest.setup.js.map +0 -1
  99. package/build/__tests__/support/onTestFileResult.d.ts +0 -244
  100. package/build/__tests__/support/onTestFileResult.js +0 -980
  101. package/build/__tests__/support/onTestFileResult.js.map +0 -1
  102. package/eslint.config.js +0 -3
  103. package/prettier.config.js +0 -3
  104. package/src/.spruce/settings.json +0 -4
  105. package/src/__tests__/MockFetch.ts +0 -100
  106. package/src/__tests__/behavioral/AbstractModuleTest.test.ts +0 -15
  107. package/src/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.ts +0 -31
  108. package/src/__tests__/behavioral/utilities/Assert.test.ts +0 -826
  109. package/src/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.ts +0 -14
  110. package/src/__tests__/behavioral/utilities/MockFetch.test.ts +0 -240
  111. package/src/__tests__/behavioral/utilities/StackCleaner.test.ts +0 -46
  112. package/src/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.ts +0 -34
  113. package/src/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.ts +0 -11
  114. package/src/__tests__/behavioral/utilities/Stringify.test.ts +0 -169
  115. package/src/__tests__/behavioral/utilities/TestDecoratorResolver.test.ts +0 -51
  116. package/src/__tests__/behavioral/utilities/TestOnBasic.test.ts +0 -62
  117. package/src/__tests__/behavioral/utilities/TestOnInstance.test.ts +0 -439
  118. package/src/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.ts +0 -237
  119. package/src/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.ts +0 -85
  120. package/src/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.ts +0 -14
  121. package/src/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.ts +0 -16
  122. package/src/__tests__/behavioral/utilities/TestResolver.test.ts +0 -48
  123. package/src/__tests__/behavioral/utilities/TestResolverOnStatic.test.ts +0 -12
  124. package/src/__tests__/behavioral/workspace/JestJsonParser.test.ts +0 -357
  125. package/src/__tests__/behavioral/workspace/TestReporter.test.ts +0 -584
  126. package/src/__tests__/behavioral/workspace/TestRunner.test.ts +0 -87
  127. package/src/__tests__/behavioral/workspace/Widgets.test.ts +0 -131
  128. package/src/__tests__/mock-terminal-kit.ts +0 -115
  129. package/src/__tests__/support/AbstractForInstanceTest.ts +0 -12
  130. package/src/__tests__/support/AbstractLevelOneTest.ts +0 -3
  131. package/src/__tests__/support/AbstractLevelTwoTest.ts +0 -16
  132. package/src/__tests__/support/AbstractStaticTest.ts +0 -16
  133. package/src/__tests__/support/AbstractTestOnInstanceTest.ts +0 -30
  134. package/src/__tests__/support/AbstractTestOnInstanceWithHooks.ts +0 -138
  135. package/src/__tests__/support/jest.setup.ts +0 -2
  136. package/src/__tests__/support/onTestFileResult.ts +0 -1008
  137. package/src/impl/AbstractModuleTest.ts +0 -67
  138. package/src/index.ts +0 -12
  139. package/src/utilities/AssertionError.ts +0 -14
  140. package/src/utilities/StackCleaner.ts +0 -14
  141. package/src/utilities/TestDecoratorResolver.ts +0 -118
  142. package/src/utilities/assert.ts +0 -583
  143. package/src/utilities/assert.utility.ts +0 -295
  144. package/src/utilities/decorators.ts +0 -167
  145. package/src/workspace/CommandService.ts +0 -256
  146. package/src/workspace/JestJsonParser.ts +0 -255
  147. package/src/workspace/TKButtonWidget.ts +0 -54
  148. package/src/workspace/TestLogItemGenerator.ts +0 -184
  149. package/src/workspace/TestReporter.ts +0 -880
  150. package/src/workspace/TestRunner.ts +0 -128
  151. package/src/workspace/TkBaseWidget.ts +0 -249
  152. package/src/workspace/TkInputWidget.ts +0 -83
  153. package/src/workspace/TkLayoutCellWidget.ts +0 -46
  154. package/src/workspace/TkLayoutWidget.ts +0 -181
  155. package/src/workspace/TkMenuBarWidget.ts +0 -95
  156. package/src/workspace/TkPopupWidget.ts +0 -47
  157. package/src/workspace/TkProgressBarWidget.ts +0 -54
  158. package/src/workspace/TkTextWidget.ts +0 -167
  159. package/src/workspace/TkWindowWidget.ts +0 -122
  160. package/src/workspace/WidgetFactory.ts +0 -33
  161. package/src/workspace/button.types.ts +0 -19
  162. package/src/workspace/duration.utility.ts +0 -34
  163. package/src/workspace/factory.types.ts +0 -101
  164. package/src/workspace/input.types.ts +0 -22
  165. package/src/workspace/keySelectChoices.ts +0 -134
  166. package/src/workspace/layout.types.ts +0 -40
  167. package/src/workspace/menuBar.types.ts +0 -24
  168. package/src/workspace/popup.types.ts +0 -17
  169. package/src/workspace/progressBar.types.ts +0 -13
  170. package/src/workspace/table.types.ts +0 -9
  171. package/src/workspace/termKit.utility.ts +0 -130
  172. package/src/workspace/terminal-kit.d.ts +0 -28
  173. package/src/workspace/test.types.ts +0 -34
  174. package/src/workspace/testRunner.cli.ts +0 -166
  175. package/src/workspace/text.types.ts +0 -27
  176. package/src/workspace/widget.utilities.ts +0 -35
  177. package/src/workspace/widgets.types.ts +0 -102
  178. package/src/workspace/window.types.ts +0 -22
  179. package/tsconfig.json +0 -24
@@ -1,645 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import generateId from '@neurodevs/generate-id';
8
- import assert from '../../../utilities/assert.js';
9
- import test from '../../../utilities/decorators.js';
10
- import AbstractModuleTest from '../../../impl/AbstractModuleTest.js';
11
- export default class AssertTest extends AbstractModuleTest {
12
- static async canHandleAsyncThrows() {
13
- let hitError = false;
14
- await assert.doesThrowAsync(async () => new Promise(() => {
15
- hitError = true;
16
- throw new Error('should catch');
17
- }));
18
- assert.isTrue(hitError);
19
- }
20
- static async canDetectNoErrorThrown() {
21
- let hitCallback = true;
22
- let detectedNoThrow = false;
23
- try {
24
- assert.doesThrow(async () => {
25
- hitCallback = true;
26
- });
27
- }
28
- catch (err) {
29
- detectedNoThrow = true;
30
- assert.isTruthy(err);
31
- }
32
- assert.isTrue(hitCallback);
33
- assert.isTrue(detectedNoThrow);
34
- }
35
- static isEqual() {
36
- assert.doesThrow(() => assert.isEqual('hello', 'world'), /expected/);
37
- assert.isEqual(1, 1);
38
- assert.isEqual(1, 1, 'works with error message');
39
- assert.isEqual('testing', 'testing', 'works with error message');
40
- }
41
- static isAbove() {
42
- assert.isAbove(10, 5);
43
- assert.doesThrow(() => assert.isAbove(5, 10), /is not above/);
44
- assert.doesThrow(() => assert.isAbove(undefined, 10), /is not a number/);
45
- }
46
- static async isBelow() {
47
- assert.isBelow(5, 10);
48
- assert.doesThrow(() => assert.isBelow(10, 5), /is not below/);
49
- assert.doesThrow(() => assert.isBelow(undefined, 5), /is not a number/);
50
- }
51
- static async typeTests() {
52
- assert.isType('string');
53
- assert.isType(123);
54
- const myCustomObj = {
55
- testStr: 'blah',
56
- };
57
- assert.isType(myCustomObj);
58
- assert.areSameType(true, true);
59
- }
60
- static async canMatchErrorByString() {
61
- assert.doesThrow(() => {
62
- throw new Error('Match on string');
63
- }, 'on string');
64
- assert.doesThrow(() => {
65
- throw new Error('crudAssert.beforeEach(this.views) is is here with dots and parentheses');
66
- }, 'crudAssert.beforeEach(this.views)');
67
- await assert.doesThrowAsync(async () => {
68
- throw new Error('canMatchErrorByString: Match on string');
69
- }, 'on string');
70
- }
71
- static async doesNotMatchErrorByBadString() {
72
- let errorThrown = false;
73
- try {
74
- assert.doesThrow(() => {
75
- throw new Error('doesNotMatchErrorByBadString: Match on string');
76
- }, 'on string2');
77
- }
78
- catch {
79
- errorThrown = true;
80
- }
81
- assert.isTrue(errorThrown);
82
- }
83
- static async throwMatchesErrorByRegex() {
84
- assert.doesThrow(() => {
85
- throw new Error('Match on string');
86
- }, /on STRING/i);
87
- await assert.doesThrowAsync(async () => {
88
- throw new Error('Match on string');
89
- }, /on STRING/i);
90
- }
91
- static async throwReturnsTheError() {
92
- const err = assert.doesThrow(() => {
93
- throw new Error('Match on string');
94
- });
95
- assert.isEqual(err.message, 'Match on string');
96
- const err2 = await assert.doesThrowAsync(async () => {
97
- throw new Error('Match on string');
98
- });
99
- assert.isEqual(err2.message, 'Match on string');
100
- }
101
- static async doesNotMatchErrorByBadRegex() {
102
- let errorThrown = false;
103
- try {
104
- assert.doesThrow(() => {
105
- throw new Error('Match on string');
106
- }, /on string2/);
107
- }
108
- catch {
109
- errorThrown = true;
110
- }
111
- assert.isTrue(errorThrown);
112
- }
113
- static async doesNotMatchErrorByBadRegexAsync() {
114
- let errorThrown = false;
115
- try {
116
- await assert.doesThrowAsync(async () => {
117
- throw new Error('Match on string');
118
- }, /on string2/);
119
- }
120
- catch {
121
- errorThrown = true;
122
- }
123
- assert.isTrue(errorThrown);
124
- }
125
- static async assertIsString() {
126
- const path = (() => {
127
- return 'test';
128
- })();
129
- assert.isString(path);
130
- assert.isType(path);
131
- }
132
- static includeAndDoesNotInclude(haystack, needle) {
133
- assert.doesInclude(haystack, needle);
134
- assert.doesThrow(() => assert.doesNotInclude(haystack, needle));
135
- }
136
- static doesIncludeThrowsAsExpected(haystack, needle, matcher) {
137
- const err = assert.doesThrow(() => assert.doesInclude(haystack, needle), matcher);
138
- assert.doesNotInclude(err.message, 'undefined');
139
- }
140
- static hasAllFunctionsAndPasses() {
141
- const obj = { func1: () => { }, func2() { }, foo: 'bar' };
142
- assert.hasAllFunctions(obj, ['func1', 'func2']);
143
- }
144
- static hasAllFunctionsAndFails() {
145
- const obj = { func1: () => { }, func2() { }, foo: 'bar' };
146
- let errorHit = false;
147
- try {
148
- assert.hasAllFunctions(obj, ['func1', 'func3']);
149
- }
150
- catch (err) {
151
- errorHit = true;
152
- assert.doesInclude(err.message, 'func3');
153
- }
154
- assert.isTrue(errorHit);
155
- }
156
- static isTruthy() {
157
- const run = () => {
158
- return 'test';
159
- };
160
- const value = run();
161
- assert.isTruthy(value);
162
- assert.isType(value);
163
- assert.doesThrow(() => assert.isTruthy(false), /is not truthy/);
164
- assert.doesThrow(() => assert.isTruthy(undefined), /is not truthy/);
165
- assert.doesThrow(() => assert.isTruthy(null), /is not truthy/);
166
- assert.doesThrow(() => assert.isTruthy(0), /is not truthy/);
167
- }
168
- static isFalsy() {
169
- assert.isFalsy(null);
170
- assert.isFalsy(0);
171
- assert.isFalsy(undefined);
172
- assert.isFalsy(false);
173
- assert.doesThrow(() => assert.isFalsy(1), /is not falsy/);
174
- assert.doesThrow(() => assert.isFalsy('undefined'), /is not falsy/);
175
- }
176
- static isString() {
177
- assert.isString('test');
178
- assert.doesThrow(() => assert.isString(true), 'not a string');
179
- }
180
- static isTrue() {
181
- assert.isTrue(true);
182
- assert.doesThrow(() => assert.isTrue(false));
183
- assert.doesThrow(() => assert.isTrue(undefined));
184
- }
185
- static isFalse() {
186
- assert.isFalse(false);
187
- assert.doesThrow(() => assert.isFalse(true));
188
- assert.doesThrow(() => assert.isFalse(undefined));
189
- }
190
- static deepEqual() {
191
- assert.isEqualDeep({ test: true }, { test: true });
192
- assert.doesThrow(() => assert.isNotEqualDeep({ test: true }, { test: true }));
193
- assert.doesThrow(() => assert.isEqualDeep({ test: true }, { test: false }), /true => false/);
194
- assert.isNotEqualDeep({ test: true }, { test: false });
195
- assert.doesThrow(() => assert.isEqualDeep({ test: '1' }, { test: 1 }), /"1" => 1/);
196
- assert.doesThrow(() => assert.isNotEqualDeep({ test: true, hello: 'world' }, {
197
- test: true,
198
- hello: 'world',
199
- }));
200
- }
201
- static isUndefined() {
202
- assert.isUndefined(undefined);
203
- assert.doesThrow(() => assert.isUndefined(true), /not undefined/);
204
- }
205
- static isNotEqual() {
206
- assert.isNotEqual(true, false);
207
- assert.doesThrow(() => assert.isNotEqual('do', 'do'), /should not equal/);
208
- }
209
- static fail() {
210
- assert.doesThrow(() => assert.fail('waka waka'), 'waka waka');
211
- }
212
- static isObject() {
213
- assert.isObject({ test: true });
214
- assert.doesThrow(() => assert.isObject(true), /not an object/gi);
215
- }
216
- static isLength() {
217
- assert.isLength([], 0);
218
- assert.isLength(['test'], 1);
219
- assert.doesThrow(() => assert.isLength(['test'], 4), /expected length/gi);
220
- assert.doesThrow(() => assert.isLength(undefined, 4), /undefined/gi);
221
- assert.doesThrow(() => assert.isLength(null, 4), /null/gi);
222
- }
223
- static isNull() {
224
- assert.isNull(null);
225
- assert.doesThrow(() => assert.isNull(false));
226
- assert.doesThrow(() => assert.isNull(undefined));
227
- }
228
- static isExactType() {
229
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
230
- const test = null;
231
- assert.isExactType(true);
232
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
233
- let test2;
234
- assert.isExactType(true);
235
- }
236
- static isArray() {
237
- assert.isArray([]);
238
- assert.doesThrow(() => assert.isArray(true), /is not an array/);
239
- let couldBeArray;
240
- couldBeArray = [];
241
- function test() {
242
- assert.isArray(couldBeArray);
243
- assert.isExactType(true);
244
- }
245
- test();
246
- }
247
- static isNumber() {
248
- assert.doesThrow(() => assert.isNumber('test'));
249
- assert.doesThrow(() => assert.isNumber('1'));
250
- assert.isNumber(1);
251
- assert.isNumber(2);
252
- }
253
- static canAssertIstanceOf() {
254
- class Test {
255
- test = true;
256
- }
257
- class Test2 {
258
- test = false;
259
- }
260
- const test = new Test();
261
- const test2 = true;
262
- const test3 = { hello: 'world' };
263
- const test4 = new Test2();
264
- assert.doesThrow(() => assert.isInstanceOf(test2, Test));
265
- assert.doesThrow(() => assert.isInstanceOf(test3, Test));
266
- assert.doesThrow(() => assert.isInstanceOf(test4, Test));
267
- assert.doesThrow(() => assert.isInstanceOf(test, Test2));
268
- assert.isInstanceOf(test, Test);
269
- // assert.isInstanceOf(test4, Test)
270
- }
271
- static printsNiceDiff() {
272
- // assert.isEqualDeep(
273
- // { test: true, taco: 'bell' },
274
- // { test: false, burger: 'king' }
275
- // )
276
- // assert.isFalsy([new Error('yay')])
277
- assert.isEqual('actual: string one', 'expected: string two');
278
- }
279
- static printsNiceDiffWithDoesInclude() {
280
- this.simpleDoesIncludePrettyPrint();
281
- assert.doesInclude([
282
- {
283
- body: generateId(),
284
- classification: 'transactional',
285
- source: {
286
- isCore: true,
287
- },
288
- target: {
289
- personId: generateId(),
290
- },
291
- },
292
- {
293
- body: generateId(),
294
- classification: 'transactional',
295
- source: {
296
- isCore: true,
297
- },
298
- target: {
299
- personId: generateId(),
300
- },
301
- },
302
- ], {
303
- target: {
304
- address: '+1 555 555 5555',
305
- personId: generateId(),
306
- },
307
- });
308
- }
309
- static simpleDoesIncludePrettyPrint() {
310
- assert.doesInclude({ test: true, taco: 'bell' }, { test: false });
311
- }
312
- static async doesThrowMatchIsCaseInsensitive() {
313
- assert.doesThrow(() => {
314
- throw new Error('Match on string');
315
- }, 'on STRING');
316
- }
317
- static async doesNotThrowRegexErrorIfStringNotFound() {
318
- const err = assert.doesThrow(() => {
319
- assert.doesInclude('hello', '+1 555 555 5555');
320
- });
321
- assert.doesNotInclude(err.message, 'Invalid regular');
322
- }
323
- static async canFindInBetween() {
324
- assert.doesThrow(() => assert.isBetween(1, 2, 3));
325
- assert.isBetween(3, 0, 5);
326
- assert.doesThrow(() => assert.isBetween(3, 0, 3));
327
- assert.isBetween(4, 3, 5);
328
- }
329
- static async isBetweenInclusive() {
330
- assert.doesThrow(() => assert.isBetweenInclusive(1, 2, 3));
331
- assert.isBetweenInclusive(3, 0, 5);
332
- assert.isBetweenInclusive(1, 1, 1);
333
- assert.doesThrow(() => assert.isBetweenInclusive(3, 0, 2));
334
- assert.isBetweenInclusive(4, 3, 4);
335
- assert.isBetweenInclusive(4, 4, 4);
336
- }
337
- static async doesThrowDoesNotCheckErrorStack() {
338
- const err = new Error('taco');
339
- err.stack = 'one two three';
340
- assert.doesThrow(() => {
341
- throw err;
342
- }, 'taco');
343
- }
344
- static async doesIncludeThrowsWithExpectedError() {
345
- const haystack = [{ taco: 'breath' }];
346
- const needle = [{ burrito: true }];
347
- assert.doesThrow(() => assert.doesInclude(haystack, needle, `Oh no! I checked the map and could not find that pin anywhere! Try 'this.mapVc.addPin(...)'!`), 'could not find that');
348
- }
349
- }
350
- __decorate([
351
- test()
352
- ], AssertTest, "canHandleAsyncThrows", null);
353
- __decorate([
354
- test()
355
- ], AssertTest, "canDetectNoErrorThrown", null);
356
- __decorate([
357
- test()
358
- ], AssertTest, "isEqual", null);
359
- __decorate([
360
- test()
361
- ], AssertTest, "isAbove", null);
362
- __decorate([
363
- test()
364
- ], AssertTest, "isBelow", null);
365
- __decorate([
366
- test()
367
- ], AssertTest, "typeTests", null);
368
- __decorate([
369
- test()
370
- ], AssertTest, "canMatchErrorByString", null);
371
- __decorate([
372
- test()
373
- ], AssertTest, "doesNotMatchErrorByBadString", null);
374
- __decorate([
375
- test()
376
- ], AssertTest, "throwMatchesErrorByRegex", null);
377
- __decorate([
378
- test()
379
- ], AssertTest, "throwReturnsTheError", null);
380
- __decorate([
381
- test()
382
- ], AssertTest, "doesNotMatchErrorByBadRegex", null);
383
- __decorate([
384
- test()
385
- ], AssertTest, "doesNotMatchErrorByBadRegexAsync", null);
386
- __decorate([
387
- test('asserts is string (test will pass, types will fail)')
388
- ], AssertTest, "assertIsString", null);
389
- __decorate([
390
- test('include uses string to match string', 'hello world', 'world'),
391
- test('assert regex on string', 'hello world', /world/gi),
392
- test('assert regex obj on string', 'hello world', new RegExp('world', 'gis')),
393
- test('include uses partial and matches 0th level', { hello: 'world', taco: 'bell' }, { taco: 'bell' }),
394
- test('include can find string as value on 0th level', { hello: 'world', taco: 'bell' }, 'bell'),
395
- test('include can find scalar on 1st level', {
396
- hello: 'world',
397
- taco: 'bell',
398
- flavor: { cheese: true, buffalo: true },
399
- }, { 'flavor.cheese': true }),
400
- test('include can find scalar on 2nd level', {
401
- hello: 'world',
402
- taco: 'bell',
403
- flavor: { cheese: { size: 'large', buffalo: true } },
404
- }, { 'flavor.cheese.size': 'large' }),
405
- test('include can find object on 2nd level', {
406
- hello: 'world',
407
- taco: 'bell',
408
- flavor: { cheese: { size: 'large', buffalo: { wing: true } } },
409
- }, { 'flavor.cheese.buffalo': { wing: true } }),
410
- test('include can search inside array with index', {
411
- flavors: [{ cheese: true }, { peperoni: true }],
412
- }, { 'flavors[0].cheese': true }),
413
- test('include can search inside array without index', {
414
- flavors: [{ cheese: true }, { peperoni: true }],
415
- }, { 'flavors[].peperoni': true }),
416
- test('include can search inside array without index', {
417
- flavors: [
418
- { size: 'large', toppings: [{ meat: true }, { cheese: true }] },
419
- { size: 'small' },
420
- ],
421
- }, { 'flavors[].toppings[].meat': true }),
422
- test('include can search array without index', [{ cheese: true }, { meat: true }], { meat: true }),
423
- test('include can match on partial object', { cheese: true, meat: true }, {
424
- meat: true,
425
- }),
426
- test('include can search array without index', [{ cheese: true }, { meat: true }], { '[].meat': true }),
427
- test('include can search array without index', [{ cheese: true }, { meat: true }], { meat: true }),
428
- test('include matches partial object in array', [
429
- {
430
- name: 'schemas.types.ts',
431
- description: 'Every schema you need based on all your contracts',
432
- path: '/example/schemas.types.ts',
433
- action: 'updated',
434
- },
435
- ], {
436
- action: 'updated',
437
- }),
438
- test('include matches deep equal on object with nested object in array', [
439
- {
440
- name: 'schemas.types.ts',
441
- description: 'Every schema you need based on all your contracts',
442
- path: '/example/schemas.types.ts',
443
- action: 'updated',
444
- deep: {
445
- foo: 'bar',
446
- },
447
- },
448
- ], {
449
- name: 'schemas.types.ts',
450
- description: 'Every schema you need based on all your contracts',
451
- path: '/example/schemas.types.ts',
452
- action: 'updated',
453
- deep: {
454
- foo: 'bar',
455
- },
456
- }),
457
- test('include matches deep equal on nested object in array', [
458
- {
459
- name: 'schemas.types.ts',
460
- description: 'Every schema you need based on all your contracts',
461
- path: '/example/schemas.types.ts',
462
- action: 'updated',
463
- deep: {
464
- foo: 'bar',
465
- },
466
- },
467
- ], {
468
- name: 'schemas.types.ts',
469
- deep: {
470
- foo: 'bar',
471
- },
472
- }),
473
- test('include matches object props', {
474
- results: {
475
- errors: [new Error('test'), new Error('test2')],
476
- },
477
- }, {
478
- 'results.errors[].stack': 'test2',
479
- }),
480
- test('include matches object props against regex', {
481
- results: {
482
- errors: [new Error('test'), new Error('test2')],
483
- },
484
- }, {
485
- 'results.errors[].stack': /test[1|2]/,
486
- }),
487
- test('include matches when passed an array and matching against object with numbers', [6, 7], 7),
488
- test('include matches object with array property in array of objects', [
489
- {
490
- methodName: 'use',
491
- args: [null],
492
- },
493
- {
494
- methodName: 'on',
495
- args: ['confirm-pin', null],
496
- },
497
- {
498
- methodName: 'on',
499
- args: ['who-am-i', null],
500
- },
501
- {
502
- methodName: 'on',
503
- args: ['authenticate', null],
504
- },
505
- {
506
- methodName: 'on',
507
- args: ['can-listen', null],
508
- },
509
- {
510
- methodName: 'emit',
511
- args: ['test.what-an-event', null],
512
- },
513
- ], {
514
- methodName: 'emit',
515
- args: ['test.what-an-event', null],
516
- })
517
- ], AssertTest, "includeAndDoesNotInclude", null);
518
- __decorate([
519
- test('include fails as expected with strings', 'taco', 'bravo', /could not find(.*?)"bravo"/gis),
520
- test('include fails as expected with regex obj on string', 'hello world', new RegExp('cheeseball', 'gis')),
521
- test('include fails as expected matching string against object', { hello: 'world' }, 'taco', /Could not find(.*?)taco/gis),
522
- test('include fails as expected matching string against object with array', {
523
- flavors: [
524
- { size: 'large', toppings: [{ meat: true }, { cheese: true }] },
525
- { size: 'small' },
526
- ],
527
- }, { 'flavors[].toppings[].meat': false }, /could not find match(.*?)false(.*?)at(.*?)toppings\[\]\.meat/gis),
528
- test('include fails as expected matching string against nested object', {
529
- cheese: { size: 'large', toppings: { meat: true } },
530
- }, { 'cheese.toppings.stink': false }, /the path(.*?)cheese.toppings.stink(.*?)was not found in/gis),
531
- test('include fails as expected by not showing full object if path matches but value differs', {
532
- cheese: { size: 'large', toppings: { meat: true } },
533
- }, { 'cheese.toppings.meat': false }, /expected(.*?)false(.*?)but found(.*?)true(.*?)at(.*?)cheese.toppings.meat/gis),
534
- test("include fails when can't find in an array", [
535
- {
536
- name: 'schemas.types.ts',
537
- description: 'Every schema you need based on all your contracts',
538
- path: '/example/schemas.types.ts',
539
- action: 'updated',
540
- },
541
- ], {
542
- action: 'star',
543
- }, /could not find(.*?)"action": "star"/gis),
544
- test("include fails when can't find in an array", [
545
- {
546
- name: 'schemas.types.ts',
547
- description: 'Every schema you need based on all your contracts',
548
- path: '/example/schemas.types.ts',
549
- action: 'updated',
550
- },
551
- ], {
552
- name: 'schemas.types.ts',
553
- action: '2',
554
- }, /could not find(.*?)"name": "schemas.types.ts"/gis),
555
- test('include fails object props against regex', {
556
- results: {
557
- errors: [new Error('test'), new Error('test2')],
558
- },
559
- }, {
560
- 'results.errors[].stack': /test3/,
561
- }, /could not find match/i),
562
- test('include fails when passed an array and matching against object', ['hey', 'there'], { name: 'hey', foo: 'bar' }, /could not find/i),
563
- test('include fails when passed an array and matching against object with numbers', [6, 7], { name: 7, foo: 6 }, /could not find/i),
564
- test('include matches when passed an array and matching against numbers', [6, 7], 9),
565
- test('include fails when searching an object for a regex', { foo: 'bar', taco: 'bravo' }, /yummy/)
566
- ], AssertTest, "doesIncludeThrowsAsExpected", null);
567
- __decorate([
568
- test()
569
- ], AssertTest, "hasAllFunctionsAndPasses", null);
570
- __decorate([
571
- test()
572
- ], AssertTest, "hasAllFunctionsAndFails", null);
573
- __decorate([
574
- test()
575
- ], AssertTest, "isTruthy", null);
576
- __decorate([
577
- test()
578
- ], AssertTest, "isFalsy", null);
579
- __decorate([
580
- test()
581
- ], AssertTest, "isString", null);
582
- __decorate([
583
- test()
584
- ], AssertTest, "isTrue", null);
585
- __decorate([
586
- test()
587
- ], AssertTest, "isFalse", null);
588
- __decorate([
589
- test()
590
- ], AssertTest, "deepEqual", null);
591
- __decorate([
592
- test()
593
- ], AssertTest, "isUndefined", null);
594
- __decorate([
595
- test()
596
- ], AssertTest, "isNotEqual", null);
597
- __decorate([
598
- test()
599
- ], AssertTest, "fail", null);
600
- __decorate([
601
- test()
602
- ], AssertTest, "isObject", null);
603
- __decorate([
604
- test()
605
- ], AssertTest, "isLength", null);
606
- __decorate([
607
- test()
608
- ], AssertTest, "isNull", null);
609
- __decorate([
610
- test()
611
- ], AssertTest, "isExactType", null);
612
- __decorate([
613
- test()
614
- ], AssertTest, "isArray", null);
615
- __decorate([
616
- test()
617
- ], AssertTest, "isNumber", null);
618
- __decorate([
619
- test()
620
- ], AssertTest, "canAssertIstanceOf", null);
621
- __decorate([
622
- test.skip('Example of pretty print. Remove skip() to see. Always fails.')
623
- ], AssertTest, "printsNiceDiff", null);
624
- __decorate([
625
- test.skip('Example of pretty print with does include. Remove only() to see. Always fails.')
626
- ], AssertTest, "printsNiceDiffWithDoesInclude", null);
627
- __decorate([
628
- test()
629
- ], AssertTest, "doesThrowMatchIsCaseInsensitive", null);
630
- __decorate([
631
- test()
632
- ], AssertTest, "doesNotThrowRegexErrorIfStringNotFound", null);
633
- __decorate([
634
- test()
635
- ], AssertTest, "canFindInBetween", null);
636
- __decorate([
637
- test()
638
- ], AssertTest, "isBetweenInclusive", null);
639
- __decorate([
640
- test()
641
- ], AssertTest, "doesThrowDoesNotCheckErrorStack", null);
642
- __decorate([
643
- test()
644
- ], AssertTest, "doesIncludeThrowsWithExpectedError", null);
645
- //# sourceMappingURL=Assert.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Assert.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/utilities/Assert.test.ts"],"names":[],"mappings":"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"}