Skip to content

Commit 8464446

Browse files
committed
chore: test refactor
1 parent f896eaf commit 8464446

File tree

87 files changed

+2681
-2508
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+2681
-2508
lines changed

packages/cli/test/ts-schema-gen.test.ts

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -370,56 +370,54 @@ model User {
370370

371371
expect(schema.models).toMatchObject({
372372
User: {
373-
name: "User",
373+
name: 'User',
374374
fields: {
375375
id: {
376-
name: "id",
377-
type: "String",
376+
name: 'id',
377+
type: 'String',
378378
id: true,
379379
attributes: [
380380
{
381-
name: "@id"
381+
name: '@id',
382382
},
383383
{
384-
name: "@default",
384+
name: '@default',
385385
args: [
386386
{
387-
name: "value",
387+
name: 'value',
388388
value: {
389-
kind: "call",
390-
function: "uuid",
389+
kind: 'call',
390+
function: 'uuid',
391391
args: [
392392
{
393-
kind: "literal",
394-
value: 7
395-
}
396-
]
397-
}
398-
}
399-
]
400-
}
393+
kind: 'literal',
394+
value: 7,
395+
},
396+
],
397+
},
398+
},
399+
],
400+
},
401401
],
402402
default: {
403-
kind: "call",
404-
function: "uuid",
403+
kind: 'call',
404+
function: 'uuid',
405405
args: [
406406
{
407-
kind: "literal",
408-
value: 7
409-
}
410-
]
411-
}
412-
}
407+
kind: 'literal',
408+
value: 7,
409+
},
410+
],
411+
},
412+
},
413413
},
414-
idFields: [
415-
"id"
416-
],
414+
idFields: ['id'],
417415
uniqueFields: {
418416
id: {
419-
type: "String"
420-
}
421-
}
422-
}
417+
type: 'String',
418+
},
419+
},
420+
},
423421
});
424422
});
425423
});

packages/sdk/src/ts-schema-generator.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -507,9 +507,11 @@ export class TsSchemaGenerator {
507507
...(defaultValue.args.length > 0
508508
? [
509509
ts.factory.createArrayLiteralExpression(
510-
defaultValue.args.map((arg) => this.createExpressionUtilsCall('literal', [
511-
this.createLiteralNode(arg)
512-
])),
510+
defaultValue.args.map((arg) =>
511+
this.createExpressionUtilsCall('literal', [
512+
this.createLiteralNode(arg),
513+
]),
514+
),
513515
),
514516
]
515517
: []),

packages/testtools/src/client.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ export type CreateTestClientOptions<Schema extends SchemaDef> = Omit<ClientOptio
3737
usePrismaPush?: boolean;
3838
extraSourceFiles?: Record<string, string>;
3939
workDir?: string;
40+
debug?: boolean;
4041
};
4142

4243
export async function createTestClient<Schema extends SchemaDef>(
@@ -103,7 +104,9 @@ export async function createTestClient<Schema extends SchemaDef>(
103104
}
104105

105106
invariant(workDir);
106-
console.log(`Work directory: ${workDir}`);
107+
if (options?.debug) {
108+
console.log(`Work directory: ${workDir}`);
109+
}
107110

108111
const { plugins, ...rest } = options ?? {};
109112
const _options: ClientOptions<Schema> = {

tests/regression/test/v2-migrated/issue-1058.test.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { createTestClient } from '@zenstackhq/testtools';
2-
import { it } from 'vitest';
2+
import { describe, it } from 'vitest';
33

4-
it('verifies issue 1058', async () => {
5-
const schema = `
4+
describe('Regression for issue #1058', () => {
5+
it('verifies issue 1058', async () => {
6+
const schema = `
67
model User {
78
id String @id @default(cuid())
89
name String
@@ -45,8 +46,9 @@ it('verifies issue 1058', async () => {
4546
entity Entity @relation(fields: [entityId], references: [id], onUpdate: NoAction)
4647
userId String
4748
user User @relation(fields: [userId], references: [id], onDelete: Cascade, onUpdate: NoAction)
48-
}
49+
}
4950
`;
5051

51-
await createTestClient(schema, { provider: 'postgresql' });
52+
await createTestClient(schema, { provider: 'postgresql' });
53+
});
5254
});
Lines changed: 98 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import { createPolicyTestClient } from '@zenstackhq/testtools';
2-
import { expect, it } from 'vitest';
2+
import { describe, expect, it } from 'vitest';
33

4-
it('verifies issue 1080', async () => {
5-
const db = await createPolicyTestClient(
6-
`
4+
describe('Regression for issue #1080', () => {
5+
it('verifies issue 1080', async () => {
6+
const db = await createPolicyTestClient(
7+
`
78
model Project {
89
id String @id @unique @default(uuid())
910
Fields Field[]
@@ -20,110 +21,111 @@ model Field {
2021
@@allow('all', true)
2122
}
2223
`,
23-
);
24+
);
2425

25-
const project = await db.project.create({
26-
include: { Fields: true },
27-
data: {
28-
Fields: {
29-
create: [{ name: 'first' }, { name: 'second' }],
26+
const project = await db.project.create({
27+
include: { Fields: true },
28+
data: {
29+
Fields: {
30+
create: [{ name: 'first' }, { name: 'second' }],
31+
},
3032
},
31-
},
32-
});
33+
});
3334

34-
let updated = await db.project.update({
35-
where: { id: project.id },
36-
include: { Fields: true },
37-
data: {
38-
Fields: {
39-
upsert: [
40-
{
41-
where: { id: project.Fields[0].id },
42-
create: { name: 'first1' },
43-
update: { name: 'first1' },
44-
},
45-
{
46-
where: { id: project.Fields[1].id },
47-
create: { name: 'second1' },
48-
update: { name: 'second1' },
49-
},
50-
],
35+
let updated = await db.project.update({
36+
where: { id: project.id },
37+
include: { Fields: true },
38+
data: {
39+
Fields: {
40+
upsert: [
41+
{
42+
where: { id: project.Fields[0].id },
43+
create: { name: 'first1' },
44+
update: { name: 'first1' },
45+
},
46+
{
47+
where: { id: project.Fields[1].id },
48+
create: { name: 'second1' },
49+
update: { name: 'second1' },
50+
},
51+
],
52+
},
5153
},
52-
},
53-
});
54-
expect(updated).toMatchObject({
55-
Fields: expect.arrayContaining([
56-
expect.objectContaining({ name: 'first1' }),
57-
expect.objectContaining({ name: 'second1' }),
58-
]),
59-
});
54+
});
55+
expect(updated).toMatchObject({
56+
Fields: expect.arrayContaining([
57+
expect.objectContaining({ name: 'first1' }),
58+
expect.objectContaining({ name: 'second1' }),
59+
]),
60+
});
6061

61-
updated = await db.project.update({
62-
where: { id: project.id },
63-
include: { Fields: true },
64-
data: {
65-
Fields: {
66-
upsert: {
67-
where: { id: project.Fields[0].id },
68-
create: { name: 'first2' },
69-
update: { name: 'first2' },
62+
updated = await db.project.update({
63+
where: { id: project.id },
64+
include: { Fields: true },
65+
data: {
66+
Fields: {
67+
upsert: {
68+
where: { id: project.Fields[0].id },
69+
create: { name: 'first2' },
70+
update: { name: 'first2' },
71+
},
7072
},
7173
},
72-
},
73-
});
74-
expect(updated).toMatchObject({
75-
Fields: expect.arrayContaining([
76-
expect.objectContaining({ name: 'first2' }),
77-
expect.objectContaining({ name: 'second1' }),
78-
]),
79-
});
74+
});
75+
expect(updated).toMatchObject({
76+
Fields: expect.arrayContaining([
77+
expect.objectContaining({ name: 'first2' }),
78+
expect.objectContaining({ name: 'second1' }),
79+
]),
80+
});
8081

81-
updated = await db.project.update({
82-
where: { id: project.id },
83-
include: { Fields: true },
84-
data: {
85-
Fields: {
86-
upsert: {
87-
where: { id: project.Fields[0].id },
88-
create: { name: 'first3' },
89-
update: { name: 'first3' },
90-
},
91-
update: {
92-
where: { id: project.Fields[1].id },
93-
data: { name: 'second3' },
82+
updated = await db.project.update({
83+
where: { id: project.id },
84+
include: { Fields: true },
85+
data: {
86+
Fields: {
87+
upsert: {
88+
where: { id: project.Fields[0].id },
89+
create: { name: 'first3' },
90+
update: { name: 'first3' },
91+
},
92+
update: {
93+
where: { id: project.Fields[1].id },
94+
data: { name: 'second3' },
95+
},
9496
},
9597
},
96-
},
97-
});
98-
expect(updated).toMatchObject({
99-
Fields: expect.arrayContaining([
100-
expect.objectContaining({ name: 'first3' }),
101-
expect.objectContaining({ name: 'second3' }),
102-
]),
103-
});
98+
});
99+
expect(updated).toMatchObject({
100+
Fields: expect.arrayContaining([
101+
expect.objectContaining({ name: 'first3' }),
102+
expect.objectContaining({ name: 'second3' }),
103+
]),
104+
});
104105

105-
updated = await db.project.update({
106-
where: { id: project.id },
107-
include: { Fields: true },
108-
data: {
109-
Fields: {
110-
upsert: {
111-
where: { id: 'non-exist' },
112-
create: { name: 'third1' },
113-
update: { name: 'third1' },
114-
},
115-
update: {
116-
where: { id: project.Fields[1].id },
117-
data: { name: 'second4' },
106+
updated = await db.project.update({
107+
where: { id: project.id },
108+
include: { Fields: true },
109+
data: {
110+
Fields: {
111+
upsert: {
112+
where: { id: 'non-exist' },
113+
create: { name: 'third1' },
114+
update: { name: 'third1' },
115+
},
116+
update: {
117+
where: { id: project.Fields[1].id },
118+
data: { name: 'second4' },
119+
},
118120
},
119121
},
120-
},
121-
});
122-
expect(updated).toMatchObject({
123-
Fields: expect.arrayContaining([
124-
expect.objectContaining({ name: 'first3' }),
125-
expect.objectContaining({ name: 'second4' }),
126-
expect.objectContaining({ name: 'third1' }),
127-
]),
122+
});
123+
expect(updated).toMatchObject({
124+
Fields: expect.arrayContaining([
125+
expect.objectContaining({ name: 'first3' }),
126+
expect.objectContaining({ name: 'second4' }),
127+
expect.objectContaining({ name: 'third1' }),
128+
]),
129+
});
128130
});
129131
});

0 commit comments

Comments
 (0)