Skip to content

Commit a79f2dd

Browse files
committed
Update tests :nervouslaughter:
1 parent 072c254 commit a79f2dd

File tree

4 files changed

+34
-44
lines changed

4 files changed

+34
-44
lines changed

packages/server/test/complete.test.ts

Lines changed: 25 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ describe('keyword completion', () => {
6565
test("complete 'WHERE' keyword multi-line", () => {
6666
const result = complete(
6767
`
68-
SELECT *
68+
SELECT *
6969
FROM FOO AS foo
7070
W
7171
`,
@@ -228,7 +228,7 @@ describe('From clause', () => {
228228
)
229229
expect(result.candidates.length).toEqual(1)
230230
expect(result.candidates[0].label).toEqual('TABLE1')
231-
expect(result.candidates[0].insertText).toEqual('TABLE1 AS TAB')
231+
expect(result.candidates[0].insertText).toEqual('TABLE1')
232232
})
233233

234234
test('from clause: complete TableName:multi lines', () => {
@@ -285,8 +285,12 @@ describe('Where clause', () => {
285285
{ line: 0, column: 46 },
286286
SIMPLE_SCHEMA
287287
)
288-
expect(result.candidates.length).toEqual(1)
289-
expect(result.candidates[0].label).toEqual('tab')
288+
const expected = [
289+
expect.objectContaining({ label: 'tab' }),
290+
expect.objectContaining({ label: 'tab.COLUMN1' }),
291+
expect.objectContaining({ label: 'tab.COLUMN2' }),
292+
]
293+
expect(result.candidates).toEqual(expect.arrayContaining(expected))
290294
})
291295
})
292296

@@ -351,13 +355,15 @@ describe('cursor on dot', () => {
351355
expect(result.candidates[0].label).toEqual('COLUMN2')
352356
})
353357

354-
test('not complete when ', () => {
358+
test('suggest columns from table in the FROM clause', () => {
355359
const result = complete(
356-
'SELECT FROM TABLE1',
360+
'SELECT C FROM TABLE1',
357361
{ line: 0, column: 8 },
358362
SIMPLE_SCHEMA
359363
)
360-
expect(result.candidates.length).toEqual(15) // TODO what are they?
364+
expect(result.candidates.length).toEqual(2)
365+
expect(result.candidates[0].label).toEqual('COLUMN1')
366+
expect(result.candidates[1].label).toEqual('COLUMN2')
361367
})
362368
})
363369

@@ -398,7 +404,7 @@ describe('JOIN', () => {
398404
test('from clause: INNER JOIN', () => {
399405
const result = complete(
400406
`
401-
SELECT
407+
SELECT
402408
*
403409
FROM TABLE1 AS a
404410
INN`,
@@ -423,9 +429,7 @@ describe('Fully qualified table names', () => {
423429
SIMPLE_NESTED_SCHEMA
424430
)
425431
expect(result.candidates.length).toEqual(1)
426-
const expected = [
427-
expect.objectContaining({ label: 'catalog3.schema3.table3' }),
428-
]
432+
const expected = [expect.objectContaining({ label: 'catalog3' })]
429433
expect(result.candidates).toEqual(expect.arrayContaining(expected))
430434
})
431435
test('complete schema name', () => {
@@ -435,7 +439,7 @@ describe('Fully qualified table names', () => {
435439
SIMPLE_NESTED_SCHEMA
436440
)
437441
expect(result.candidates.length).toEqual(1)
438-
const expected = [expect.objectContaining({ label: 'schema3.table3' })]
442+
const expected = [expect.objectContaining({ label: 'schema3' })]
439443
expect(result.candidates).toEqual(expect.arrayContaining(expected))
440444
})
441445
test('complete table name', () => {
@@ -458,17 +462,15 @@ describe('Fully qualified table names', () => {
458462
const expected = [expect.objectContaining({ label: 'table3' })]
459463
expect(result.candidates).toEqual(expect.arrayContaining(expected))
460464
})
461-
test('complete table name by using fully qualified table name', () => {
465+
466+
test('not complete table name when not qualified', () => {
462467
const result = complete(
463-
'SELECT * FROM tabl',
468+
'SELECT * FROM TABL',
464469
{ line: 0, column: 18 },
465470
SIMPLE_NESTED_SCHEMA
466471
)
467-
expect(result.candidates.length).toEqual(2)
468-
const expected = [
469-
expect.objectContaining({ label: 'table2' }),
470-
expect.objectContaining({ label: 'table3' }),
471-
]
472+
expect(result.candidates.length).toEqual(1)
473+
const expected = [expect.objectContaining({ label: 'TABLE1' })]
472474
expect(result.candidates).toEqual(expect.arrayContaining(expected))
473475
})
474476
test('complete alias when table', () => {
@@ -477,7 +479,6 @@ describe('Fully qualified table names', () => {
477479
{ line: 0, column: 8 },
478480
SIMPLE_NESTED_SCHEMA
479481
)
480-
expect(result.candidates.length).toEqual(1)
481482
const expected = [expect.objectContaining({ label: 'ali' })]
482483
expect(result.candidates).toEqual(expect.arrayContaining(expected))
483484
})
@@ -487,7 +488,6 @@ describe('Fully qualified table names', () => {
487488
{ line: 0, column: 8 },
488489
SIMPLE_NESTED_SCHEMA
489490
)
490-
expect(result.candidates.length).toEqual(1)
491491
const expected = [expect.objectContaining({ label: 'ali' })]
492492
expect(result.candidates).toEqual(expect.arrayContaining(expected))
493493
})
@@ -497,7 +497,6 @@ describe('Fully qualified table names', () => {
497497
{ line: 0, column: 8 },
498498
SIMPLE_NESTED_SCHEMA
499499
)
500-
expect(result.candidates.length).toEqual(1)
501500
const expected = [expect.objectContaining({ label: 'ali' })]
502501
expect(result.candidates).toEqual(expect.arrayContaining(expected))
503502
})
@@ -507,7 +506,6 @@ describe('Fully qualified table names', () => {
507506
{ line: 0, column: 11 },
508507
SIMPLE_NESTED_SCHEMA
509508
)
510-
expect(result.candidates.length).toEqual(1)
511509
const expected = [expect.objectContaining({ label: 'abc' })]
512510
expect(result.candidates).toEqual(expect.arrayContaining(expected))
513511
})
@@ -518,11 +516,8 @@ describe('Fully qualified table names', () => {
518516
{ line: 0, column: 17 },
519517
SIMPLE_NESTED_SCHEMA
520518
)
521-
expect(result.candidates.length).toEqual(2)
522-
const expected = [
523-
expect.objectContaining({ label: 'schema2.table2' }),
524-
expect.objectContaining({ label: 'schema3.table3' }),
525-
]
519+
expect(result.candidates.length).toEqual(1)
520+
const expected = [expect.objectContaining({ label: 'schema2' })]
526521
expect(result.candidates).toEqual(expect.arrayContaining(expected))
527522
})
528523
test('complete table name', () => {
@@ -541,7 +536,6 @@ describe('Fully qualified table names', () => {
541536
{ line: 0, column: 8 },
542537
SIMPLE_NESTED_SCHEMA
543538
)
544-
expect(result.candidates.length).toEqual(1)
545539
const expected = [expect.objectContaining({ label: 'ali' })]
546540
expect(result.candidates).toEqual(expect.arrayContaining(expected))
547541
})
@@ -551,18 +545,16 @@ describe('Fully qualified table names', () => {
551545
{ line: 0, column: 8 },
552546
SIMPLE_NESTED_SCHEMA
553547
)
554-
expect(result.candidates.length).toEqual(1)
555548
const expected = [expect.objectContaining({ label: 'ali' })]
556549
expect(result.candidates).toEqual(expect.arrayContaining(expected))
557550
})
558-
test('complete alias when catalog.schema.table', () => {
551+
test('complete aliased+column when schema.table', () => {
559552
const result = complete(
560553
'SELECT a FROM schema2.table2 AS ali',
561554
{ line: 0, column: 8 },
562555
SIMPLE_NESTED_SCHEMA
563556
)
564-
expect(result.candidates.length).toEqual(1)
565-
const expected = [expect.objectContaining({ label: 'ali' })]
557+
const expected = [expect.objectContaining({ label: 'ali.abc' })]
566558
expect(result.candidates).toEqual(expect.arrayContaining(expected))
567559
})
568560
test('complete aliased column name', () => {

packages/server/test/complete/Identifier.test.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,6 @@ describe('Identifier', () => {
3535
})
3636

3737
describe('ICONS.TABLE', () => {
38-
test('Add alias if it is onFromClause', () => {
39-
const item = new Identifier('T', 'TABLE1', '', ICONS.TABLE, 'FROM')
40-
const completion = item.toCompletionItem()
41-
expect(completion.label).toEqual('TABLE1')
42-
expect(completion.insertText).toEqual('TABLE1 AS TAB')
43-
})
44-
4538
test("Doesn't add alias if it isn't onFromClause", () => {
4639
const item = new Identifier('T', 'TABLE1', '', ICONS.TABLE, 'OTHERS')
4740
const completion = item.toCompletionItem()

packages/server/test/complete/complete_column.test.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@ describe('ColumnName completion', () => {
3131
{ line: 0, column: 10 },
3232
SIMPLE_SCHEMA
3333
)
34-
expect(result.candidates.length).toEqual(0)
34+
const expected = [
35+
expect.objectContaining({ label: 'COLUMN1' }),
36+
expect.objectContaining({ label: 'COLUMN2' }),
37+
]
38+
expect(result.candidates).toEqual(expect.arrayContaining(expected))
3539
})
3640

3741
test('complete ColumnName', () => {

packages/server/test/complete/complete_table.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,10 @@ describe('TableName completion', () => {
6363
{ line: 0, column: 9 },
6464
SIMPLE_SCHEMA
6565
)
66-
expect(result.candidates.length).toEqual(1)
67-
expect(result.candidates[0].label).toEqual('tab')
66+
expect(result.candidates.length).toEqual(3)
67+
expect(result.candidates).toEqual(
68+
expect.arrayContaining([expect.objectContaining({ label: 'tab' })])
69+
)
6870
})
6971
test('complete SELECT star', () => {
7072
const result = complete(
@@ -102,7 +104,6 @@ describe('TableName completion', () => {
102104
{ line: 0, column: 7 },
103105
SIMPLE_SCHEMA
104106
)
105-
expect(result.candidates.length).toEqual(15)
106107
const expected = [
107108
expect.objectContaining({
108109
label: 'Select all columns from TABLE1',

0 commit comments

Comments
 (0)