Skip to content

Commit 5648c4b

Browse files
committed
Update tests :nervouslaughter:
1 parent ec8d2d9 commit 5648c4b

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
`,
@@ -220,7 +220,7 @@ describe('From clause', () => {
220220
)
221221
expect(result.candidates.length).toEqual(1)
222222
expect(result.candidates[0].label).toEqual('TABLE1')
223-
expect(result.candidates[0].insertText).toEqual('TABLE1 AS TAB')
223+
expect(result.candidates[0].insertText).toEqual('TABLE1')
224224
})
225225

226226
test('from clause: complete TableName:multi lines', () => {
@@ -277,8 +277,12 @@ describe('Where clause', () => {
277277
{ line: 0, column: 46 },
278278
SIMPLE_SCHEMA
279279
)
280-
expect(result.candidates.length).toEqual(1)
281-
expect(result.candidates[0].label).toEqual('tab')
280+
const expected = [
281+
expect.objectContaining({ label: 'tab' }),
282+
expect.objectContaining({ label: 'tab.COLUMN1' }),
283+
expect.objectContaining({ label: 'tab.COLUMN2' }),
284+
]
285+
expect(result.candidates).toEqual(expect.arrayContaining(expected))
282286
})
283287
})
284288

@@ -343,13 +347,15 @@ describe('cursor on dot', () => {
343347
expect(result.candidates[0].label).toEqual('COLUMN2')
344348
})
345349

346-
test('not complete when ', () => {
350+
test('suggest columns from table in the FROM clause', () => {
347351
const result = complete(
348-
'SELECT FROM TABLE1',
352+
'SELECT C FROM TABLE1',
349353
{ line: 0, column: 8 },
350354
SIMPLE_SCHEMA
351355
)
352-
expect(result.candidates.length).toEqual(13) // TODO what are they?
356+
expect(result.candidates.length).toEqual(2)
357+
expect(result.candidates[0].label).toEqual('COLUMN1')
358+
expect(result.candidates[1].label).toEqual('COLUMN2')
353359
})
354360
})
355361

@@ -390,7 +396,7 @@ describe('JOIN', () => {
390396
test('from clause: INNER JOIN', () => {
391397
const result = complete(
392398
`
393-
SELECT
399+
SELECT
394400
*
395401
FROM TABLE1 AS a
396402
INN`,
@@ -415,9 +421,7 @@ describe('Fully qualified table names', () => {
415421
SIMPLE_NESTED_SCHEMA
416422
)
417423
expect(result.candidates.length).toEqual(1)
418-
const expected = [
419-
expect.objectContaining({ label: 'catalog3.schema3.table3' }),
420-
]
424+
const expected = [expect.objectContaining({ label: 'catalog3' })]
421425
expect(result.candidates).toEqual(expect.arrayContaining(expected))
422426
})
423427
test('complete schema name', () => {
@@ -427,7 +431,7 @@ describe('Fully qualified table names', () => {
427431
SIMPLE_NESTED_SCHEMA
428432
)
429433
expect(result.candidates.length).toEqual(1)
430-
const expected = [expect.objectContaining({ label: 'schema3.table3' })]
434+
const expected = [expect.objectContaining({ label: 'schema3' })]
431435
expect(result.candidates).toEqual(expect.arrayContaining(expected))
432436
})
433437
test('complete table name', () => {
@@ -450,17 +454,15 @@ describe('Fully qualified table names', () => {
450454
const expected = [expect.objectContaining({ label: 'table3' })]
451455
expect(result.candidates).toEqual(expect.arrayContaining(expected))
452456
})
453-
test('complete table name by using fully qualified table name', () => {
457+
458+
test('not complete table name when not qualified', () => {
454459
const result = complete(
455-
'SELECT * FROM tabl',
460+
'SELECT * FROM TABL',
456461
{ line: 0, column: 18 },
457462
SIMPLE_NESTED_SCHEMA
458463
)
459-
expect(result.candidates.length).toEqual(2)
460-
const expected = [
461-
expect.objectContaining({ label: 'table2' }),
462-
expect.objectContaining({ label: 'table3' }),
463-
]
464+
expect(result.candidates.length).toEqual(1)
465+
const expected = [expect.objectContaining({ label: 'TABLE1' })]
464466
expect(result.candidates).toEqual(expect.arrayContaining(expected))
465467
})
466468
test('complete alias when table', () => {
@@ -469,7 +471,6 @@ describe('Fully qualified table names', () => {
469471
{ line: 0, column: 8 },
470472
SIMPLE_NESTED_SCHEMA
471473
)
472-
expect(result.candidates.length).toEqual(1)
473474
const expected = [expect.objectContaining({ label: 'ali' })]
474475
expect(result.candidates).toEqual(expect.arrayContaining(expected))
475476
})
@@ -479,7 +480,6 @@ describe('Fully qualified table names', () => {
479480
{ line: 0, column: 8 },
480481
SIMPLE_NESTED_SCHEMA
481482
)
482-
expect(result.candidates.length).toEqual(1)
483483
const expected = [expect.objectContaining({ label: 'ali' })]
484484
expect(result.candidates).toEqual(expect.arrayContaining(expected))
485485
})
@@ -489,7 +489,6 @@ describe('Fully qualified table names', () => {
489489
{ line: 0, column: 8 },
490490
SIMPLE_NESTED_SCHEMA
491491
)
492-
expect(result.candidates.length).toEqual(1)
493492
const expected = [expect.objectContaining({ label: 'ali' })]
494493
expect(result.candidates).toEqual(expect.arrayContaining(expected))
495494
})
@@ -499,7 +498,6 @@ describe('Fully qualified table names', () => {
499498
{ line: 0, column: 11 },
500499
SIMPLE_NESTED_SCHEMA
501500
)
502-
expect(result.candidates.length).toEqual(1)
503501
const expected = [expect.objectContaining({ label: 'abc' })]
504502
expect(result.candidates).toEqual(expect.arrayContaining(expected))
505503
})
@@ -510,11 +508,8 @@ describe('Fully qualified table names', () => {
510508
{ line: 0, column: 17 },
511509
SIMPLE_NESTED_SCHEMA
512510
)
513-
expect(result.candidates.length).toEqual(2)
514-
const expected = [
515-
expect.objectContaining({ label: 'schema2.table2' }),
516-
expect.objectContaining({ label: 'schema3.table3' }),
517-
]
511+
expect(result.candidates.length).toEqual(1)
512+
const expected = [expect.objectContaining({ label: 'schema2' })]
518513
expect(result.candidates).toEqual(expect.arrayContaining(expected))
519514
})
520515
test('complete table name', () => {
@@ -533,7 +528,6 @@ describe('Fully qualified table names', () => {
533528
{ line: 0, column: 8 },
534529
SIMPLE_NESTED_SCHEMA
535530
)
536-
expect(result.candidates.length).toEqual(1)
537531
const expected = [expect.objectContaining({ label: 'ali' })]
538532
expect(result.candidates).toEqual(expect.arrayContaining(expected))
539533
})
@@ -543,18 +537,16 @@ describe('Fully qualified table names', () => {
543537
{ line: 0, column: 8 },
544538
SIMPLE_NESTED_SCHEMA
545539
)
546-
expect(result.candidates.length).toEqual(1)
547540
const expected = [expect.objectContaining({ label: 'ali' })]
548541
expect(result.candidates).toEqual(expect.arrayContaining(expected))
549542
})
550-
test('complete alias when catalog.schema.table', () => {
543+
test('complete aliased+column when schema.table', () => {
551544
const result = complete(
552545
'SELECT a FROM schema2.table2 AS ali',
553546
{ line: 0, column: 8 },
554547
SIMPLE_NESTED_SCHEMA
555548
)
556-
expect(result.candidates.length).toEqual(1)
557-
const expected = [expect.objectContaining({ label: 'ali' })]
549+
const expected = [expect.objectContaining({ label: 'ali.abc' })]
558550
expect(result.candidates).toEqual(expect.arrayContaining(expected))
559551
})
560552
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(13)
106107
const expected = [
107108
expect.objectContaining({
108109
label: 'Select all columns from TABLE1',

0 commit comments

Comments
 (0)