|
7 | 7 | TypeDefinition, |
8 | 8 | TypeDefinitionDisplayStrings, |
9 | 9 | TypeSystemDefinition, |
| 10 | + Value, |
10 | 11 | ValueDefinition, |
11 | 12 | } from '../../Models'; |
12 | 13 | const mainMock: ParserTree = { |
@@ -109,10 +110,149 @@ const mainMock: ParserTree = { |
109 | 110 | }, |
110 | 111 | name: 'id', |
111 | 112 | }), |
| 113 | + createParserField({ |
| 114 | + data: { |
| 115 | + type: ValueDefinition.InputValueDefinition, |
| 116 | + }, |
| 117 | + type: { |
| 118 | + fieldType: { |
| 119 | + type: Options.name, |
| 120 | + name: ScalarTypes.Int, |
| 121 | + }, |
| 122 | + }, |
| 123 | + name: 'age', |
| 124 | + }), |
| 125 | + createParserField({ |
| 126 | + data: { |
| 127 | + type: ValueDefinition.InputValueDefinition, |
| 128 | + }, |
| 129 | + type: { |
| 130 | + fieldType: { |
| 131 | + type: Options.name, |
| 132 | + name: ScalarTypes.Float, |
| 133 | + }, |
| 134 | + }, |
| 135 | + name: 'degrees', |
| 136 | + }), |
| 137 | + createParserField({ |
| 138 | + data: { |
| 139 | + type: ValueDefinition.InputValueDefinition, |
| 140 | + }, |
| 141 | + type: { |
| 142 | + fieldType: { |
| 143 | + type: Options.name, |
| 144 | + name: ScalarTypes.Boolean, |
| 145 | + }, |
| 146 | + }, |
| 147 | + name: 'isOk', |
| 148 | + }), |
| 149 | + createParserField({ |
| 150 | + data: { |
| 151 | + type: ValueDefinition.InputValueDefinition, |
| 152 | + }, |
| 153 | + type: { |
| 154 | + fieldType: { |
| 155 | + type: Options.name, |
| 156 | + name: 'AnInput', |
| 157 | + }, |
| 158 | + }, |
| 159 | + name: 'testInput', |
| 160 | + }), |
| 161 | + createParserField({ |
| 162 | + data: { |
| 163 | + type: ValueDefinition.InputValueDefinition, |
| 164 | + }, |
| 165 | + type: { |
| 166 | + fieldType: { |
| 167 | + type: Options.array, |
| 168 | + nest: { |
| 169 | + type: Options.name, |
| 170 | + name: ScalarTypes.String, |
| 171 | + }, |
| 172 | + }, |
| 173 | + }, |
| 174 | + name: 'testList', |
| 175 | + }), |
| 176 | + createParserField({ |
| 177 | + data: { |
| 178 | + type: ValueDefinition.InputValueDefinition, |
| 179 | + }, |
| 180 | + type: { |
| 181 | + fieldType: { |
| 182 | + type: Options.name, |
| 183 | + name: 'AnEnum', |
| 184 | + }, |
| 185 | + }, |
| 186 | + name: 'testEnum', |
| 187 | + }), |
112 | 188 | ], |
113 | 189 | }), |
114 | 190 | ], |
115 | 191 | }), |
| 192 | + createParserField({ |
| 193 | + name: 'AnInput', |
| 194 | + data: { |
| 195 | + type: TypeDefinition.InputObjectTypeDefinition, |
| 196 | + }, |
| 197 | + type: { |
| 198 | + fieldType: { |
| 199 | + type: Options.name, |
| 200 | + name: TypeDefinitionDisplayStrings.input, |
| 201 | + }, |
| 202 | + }, |
| 203 | + args: [ |
| 204 | + createParserField({ |
| 205 | + data: { |
| 206 | + type: ValueDefinition.InputValueDefinition, |
| 207 | + }, |
| 208 | + name: 'firstName', |
| 209 | + type: { |
| 210 | + fieldType: { |
| 211 | + type: Options.name, |
| 212 | + name: ScalarTypes.String, |
| 213 | + }, |
| 214 | + }, |
| 215 | + }), |
| 216 | + ], |
| 217 | + }), |
| 218 | + createParserField({ |
| 219 | + name: 'AnEnum', |
| 220 | + data: { |
| 221 | + type: TypeDefinition.EnumTypeDefinition, |
| 222 | + }, |
| 223 | + type: { |
| 224 | + fieldType: { |
| 225 | + type: Options.name, |
| 226 | + name: TypeDefinitionDisplayStrings.enum, |
| 227 | + }, |
| 228 | + }, |
| 229 | + args: [ |
| 230 | + createParserField({ |
| 231 | + name: 'HELLO', |
| 232 | + data: { |
| 233 | + type: ValueDefinition.EnumValueDefinition, |
| 234 | + }, |
| 235 | + type: { |
| 236 | + fieldType: { |
| 237 | + type: Options.name, |
| 238 | + name: ValueDefinition.EnumValueDefinition, |
| 239 | + }, |
| 240 | + }, |
| 241 | + }), |
| 242 | + createParserField({ |
| 243 | + name: 'WORLD', |
| 244 | + data: { |
| 245 | + type: ValueDefinition.EnumValueDefinition, |
| 246 | + }, |
| 247 | + type: { |
| 248 | + fieldType: { |
| 249 | + type: Options.name, |
| 250 | + name: ValueDefinition.EnumValueDefinition, |
| 251 | + }, |
| 252 | + }, |
| 253 | + }), |
| 254 | + ], |
| 255 | + }), |
116 | 256 | ], |
117 | 257 | }; |
118 | 258 |
|
@@ -290,6 +430,90 @@ describe('Tree Operations tests', () => { |
290 | 430 | expect(treeMock.nodes[1].args[1].id).not.toEqual(oldFieldId); |
291 | 431 | expect(treeMock.nodes[1].id).not.toEqual(oldQueryId); |
292 | 432 | }); |
| 433 | + test('Set input value default value - StringValue', () => { |
| 434 | + const treeMock = createMock(); |
| 435 | + const updatedInputValue = createParserField({ |
| 436 | + ...treeMock.nodes[1].args[1].args[0], |
| 437 | + value: { |
| 438 | + type: Value.StringValue, |
| 439 | + value: 'Hello', |
| 440 | + }, |
| 441 | + }); |
| 442 | + mutate(treeMock, treeMock.nodes).setValueNode(treeMock.nodes[1].args[1].args[0], 'Hello'); |
| 443 | + expect(treeMock.nodes[1].args[1].args).toContainEqual(updatedInputValue); |
| 444 | + }); |
| 445 | + test('Set input value default value - IntValue', () => { |
| 446 | + const treeMock = createMock(); |
| 447 | + const updatedInputValue = createParserField({ |
| 448 | + ...treeMock.nodes[1].args[1].args[1], |
| 449 | + value: { |
| 450 | + type: Value.IntValue, |
| 451 | + value: '18', |
| 452 | + }, |
| 453 | + }); |
| 454 | + mutate(treeMock, treeMock.nodes).setValueNode(treeMock.nodes[1].args[1].args[1], '18'); |
| 455 | + expect(treeMock.nodes[1].args[1].args).toContainEqual(updatedInputValue); |
| 456 | + }); |
| 457 | + test('Set input value default value - FloatValue', () => { |
| 458 | + const treeMock = createMock(); |
| 459 | + const updatedInputValue = createParserField({ |
| 460 | + ...treeMock.nodes[1].args[1].args[2], |
| 461 | + value: { |
| 462 | + type: Value.FloatValue, |
| 463 | + value: '36.7', |
| 464 | + }, |
| 465 | + }); |
| 466 | + mutate(treeMock, treeMock.nodes).setValueNode(treeMock.nodes[1].args[1].args[2], '36.7'); |
| 467 | + expect(treeMock.nodes[1].args[1].args).toContainEqual(updatedInputValue); |
| 468 | + }); |
| 469 | + test('Set input value default value - BooleanValue', () => { |
| 470 | + const treeMock = createMock(); |
| 471 | + const updatedInputValue = createParserField({ |
| 472 | + ...treeMock.nodes[1].args[1].args[3], |
| 473 | + value: { |
| 474 | + type: Value.BooleanValue, |
| 475 | + value: 'true', |
| 476 | + }, |
| 477 | + }); |
| 478 | + mutate(treeMock, treeMock.nodes).setValueNode(treeMock.nodes[1].args[1].args[3], 'true'); |
| 479 | + expect(treeMock.nodes[1].args[1].args).toContainEqual(updatedInputValue); |
| 480 | + }); |
| 481 | + test('Set input value default value - ObjectValue', () => { |
| 482 | + const treeMock = createMock(); |
| 483 | + const updatedInputValue = createParserField({ |
| 484 | + ...treeMock.nodes[1].args[1].args[4], |
| 485 | + value: { |
| 486 | + type: Value.ObjectValue, |
| 487 | + value: `{ firstName:"Hello" }`, |
| 488 | + }, |
| 489 | + }); |
| 490 | + mutate(treeMock, treeMock.nodes).setValueNode(treeMock.nodes[1].args[1].args[4], `{ firstName:"Hello" }`); |
| 491 | + expect(treeMock.nodes[1].args[1].args).toContainEqual(updatedInputValue); |
| 492 | + }); |
| 493 | + test('Set input value default value - ListValue', () => { |
| 494 | + const treeMock = createMock(); |
| 495 | + const updatedInputValue = createParserField({ |
| 496 | + ...treeMock.nodes[1].args[1].args[5], |
| 497 | + value: { |
| 498 | + type: Value.ListValue, |
| 499 | + value: `["Hello"]`, |
| 500 | + }, |
| 501 | + }); |
| 502 | + mutate(treeMock, treeMock.nodes).setValueNode(treeMock.nodes[1].args[1].args[5], `["Hello"]`); |
| 503 | + expect(treeMock.nodes[1].args[1].args).toContainEqual(updatedInputValue); |
| 504 | + }); |
| 505 | + test('Set input value default value - EnumValue', () => { |
| 506 | + const treeMock = createMock(); |
| 507 | + const updatedInputValue = createParserField({ |
| 508 | + ...treeMock.nodes[1].args[1].args[6], |
| 509 | + value: { |
| 510 | + type: Value.EnumValue, |
| 511 | + value: `HELLO`, |
| 512 | + }, |
| 513 | + }); |
| 514 | + mutate(treeMock, treeMock.nodes).setValueNode(treeMock.nodes[1].args[1].args[6], `HELLO`); |
| 515 | + expect(treeMock.nodes[1].args[1].args).toContainEqual(updatedInputValue); |
| 516 | + }); |
293 | 517 | test('Implement interface', () => { |
294 | 518 | const treeMock = createInterfaceMock(); |
295 | 519 | mutate(treeMock, treeMock.nodes).implementInterface(treeMock.nodes[2], treeMock.nodes[0]); |
|
0 commit comments