start with broken tests #18
ci.yml
on: pull_request
Build
14s
Lint
16s
Prettier
13s
Type Check
13s
Test
16s
Benchmark Types
16s
Annotations
21 errors
Prettier
Process completed with exit code 1.
|
Type Check
Process completed with exit code 2.
|
Type Check:
tests/infer.test.ts#L893
Type 'Namespace<{ lexicon: 1; id: "com.example.blog"; defs: { main: { key: "tid"; record: ObjectResult<{ title: { required: true; } & { type: "string"; }; body: { required: true; } & { type: "string"; }; }>; } & { ...; }; metadata: ObjectResult<...>; }; }>' does not satisfy the constraint '{ id: string; defs: Record<string, unknown>; }'.
|
Type Check:
tests/infer.test.ts#L856
Type 'Namespace<{ lexicon: 1; id: "com.example.app"; defs: { user: ObjectResult<{ name: { required: true; } & { type: "string"; }; email: { required: true; } & { type: "string"; }; }>; post: ObjectResult<{ title: { ...; } & { ...; }; content: { ...; } & { ...; }; }>; comment: ObjectResult<...>; }; }>' does not satisfy the constraint '{ id: string; defs: Record<string, unknown>; }'.
|
Type Check:
tests/infer.test.ts#L797
Type 'ObjectResult<{ views: LexiconItem & { type: "integer"; }; likes: LexiconItem & { type: "integer"; }; shares: LexiconItem & { type: "integer"; }; }>' is not assignable to type 'LexiconItem'.
|
Type Check:
tests/infer.test.ts#L790
Type 'ObjectResult<{ did: StringOptions & { type: "string"; }; handle: StringOptions & { type: "string"; }; avatar: LexiconItem & { type: "string"; }; }>' is not assignable to type 'LexiconItem'.
|
Type Check:
tests/infer.test.ts#L722
Argument of type 'ObjectResult<{ id: { required: true; } & { type: "string"; }; name: { required: true; } & { type: "string"; }; }>' is not assignable to parameter of type 'LexiconItem'.
|
Type Check:
tests/infer.test.ts#L688
Type 'ObjectResult<{ name: { required: true; } & { type: "string"; }; }>' is not assignable to type 'LexiconItem'.
|
Type Check:
tests/infer.test.ts#L687
Type 'ObjectResult<ObjectProperties>' is not assignable to type 'LexiconItem'.
|
Type Check:
tests/infer.test.ts#L686
Type 'ObjectResult<ObjectProperties>' is not assignable to type 'LexiconItem'.
|
Type Check:
tests/infer.test.ts#L661
Type 'ObjectResult<{ name: { required: true; } & { type: "string"; }; email: { required: true; } & { type: "string"; }; }>' is not assignable to type 'LexiconItem'.
|
tests/infer.test.ts > InferRef handles basic reference:
tests/infer.test.ts#L435
AssertionError: Expected values to be strictly equal:
+ actual - expected
'{\n' +
' main: {\n' +
+ ' post?:\n' +
+ ' | {\n' +
+ ' [key: string]: unknown\n' +
+ ' $type: "com.example.post"\n' +
+ ' }\n' +
+ ' | undefined\n' +
- ' post?: {\n' +
- ' $type: "com.example.post"\n' +
- ' [key: string]: unknown\n' +
- ' } | undefined\n' +
' }\n' +
'}'
- Expected
+ Received
{
main: {
- post?: {
- $type: "com.example.post"
+ post?:
+ | {
+ [key: string]: unknown
+ $type: "com.example.post"
- [key: string]: unknown
+ }
- } | undefined
+ | undefined
}
}
❯ tests/infer.test.ts:435:2
|
tests/infer.test.ts > InferObject handles mixed nullable, required, and optional:
tests/infer.test.ts#L409
AssertionError: Expected values to be strictly equal:
+ actual - expected
'{\n' +
' main: {\n' +
+ ' required?: string | undefined\n' +
- ' optionalNullable?: string | null | undefined\n' +
' optional?: string | undefined\n' +
+ ' requiredNullable?: string | undefined\n' +
+ ' optionalNullable?: string | undefined\n' +
- ' required: string\n' +
- ' requiredNullable: string | null\n' +
' }\n' +
'}'
- Expected
+ Received
{
main: {
- optionalNullable?: string | null | undefined
+ required?: string | undefined
optional?: string | undefined
- required: string
- requiredNullable: string | null
+ requiredNullable?: string | undefined
+ optionalNullable?: string | undefined
}
}
❯ tests/infer.test.ts:409:2
|
tests/infer.test.ts > InferObject handles nullable and required field:
tests/infer.test.ts#L391
AssertionError: Expected values to be strictly equal:
+ actual - expected
+ '{ main: { value?: string | undefined } }'
- '{ main: { value: string | null } }'
^
Expected: "{ main: { value: string | null } }"
Received: "{ main: { value?: string | undefined } }"
❯ tests/infer.test.ts:391:2
|
tests/infer.test.ts > InferObject handles multiple nullable fields:
tests/infer.test.ts#L370
AssertionError: Expected values to be strictly equal:
+ actual - expected
'{\n' +
' main: {\n' +
+ ' field1?: string | undefined\n' +
+ ' field2?: number | undefined\n' +
+ ' field3?: boolean | undefined\n' +
- ' field1?: string | null | undefined\n' +
- ' field2?: number | null | undefined\n' +
- ' field3?: boolean | null | undefined\n' +
' }\n' +
'}'
- Expected
+ Received
{
main: {
- field1?: string | null | undefined
+ field1?: string | undefined
- field2?: number | null | undefined
+ field2?: number | undefined
- field3?: boolean | null | undefined
+ field3?: boolean | undefined
}
}
❯ tests/infer.test.ts:370:2
|
tests/infer.test.ts > InferObject handles nullable optional field:
tests/infer.test.ts#L353
AssertionError: Expected values to be strictly equal:
+ actual - expected
+ '{ main: { description?: string | undefined } }'
- '{ main: { description?: string | null | undefined } }'
Expected: "{ main: { description?: string | null | undefined } }"
Received: "{ main: { description?: string | undefined } }"
❯ tests/infer.test.ts:353:2
|
tests/infer.test.ts > InferObject handles all required fields:
tests/infer.test.ts#L328
AssertionError: Expected values to be strictly equal:
+ actual - expected
+ '{\n' +
+ ' main: {\n' +
+ ' field1?: string | undefined\n' +
+ ' field2?: number | undefined\n' +
+ ' field3?: boolean | undefined\n' +
+ ' }\n' +
+ '}'
- '{\n main: {\n field1: string\n field2: number\n field3: boolean\n }\n}'
- Expected
+ Received
{
main: {
- field1: string
+ field1?: string | undefined
- field2: number
+ field2?: number | undefined
- field3: boolean
+ field3?: boolean | undefined
}
}
❯ tests/infer.test.ts:328:2
|
tests/infer.test.ts > InferObject handles mixed optional and required fields:
tests/infer.test.ts#L281
AssertionError: Expected values to be strictly equal:
+ actual - expected
'{\n' +
' main: {\n' +
+ ' id?: string | undefined\n' +
+ ' name?: string | undefined\n' +
+ ' age?: number | undefined\n' +
' email?: string | undefined\n' +
- ' age?: number | undefined\n' +
- ' id: string\n' +
- ' name: string\n' +
' }\n' +
'}'
- Expected
+ Received
{
main: {
- email?: string | undefined
+ id?: string | undefined
+ name?: string | undefined
age?: number | undefined
- id: string
- name: string
+ email?: string | undefined
}
}
❯ tests/infer.test.ts:281:2
|
tests/infer.test.ts > InferArray handles unknown arrays:
tests/infer.test.ts#L259
AssertionError: Expected values to be strictly equal:
+ actual - expected
+ '{ main: { items?: unknown[] | undefined } }'
- '{ main: { items?: unknown[] } }'
^
Expected: "{ main: { items?: unknown[] } }"
Received: "{ main: { items?: unknown[] | undefined } }"
❯ tests/infer.test.ts:259:2
|
tests/infer.test.ts > InferType handles bytes primitive:
tests/infer.test.ts#L161
AssertionError: Expected values to be strictly equal:
+ actual - expected
+ '{\n main: { data?: Uint8Array<ArrayBufferLike> | undefined }\n}'
- '{ main: { data?: Uint8Array | undefined } }'
- Expected
+ Received
- { main: { data?: Uint8Array | undefined } }
+ {
+ main: { data?: Uint8Array<ArrayBufferLike> | undefined }
+ }
❯ tests/infer.test.ts:161:2
|
tests/infer.test.ts > InferType handles boolean primitive:
tests/infer.test.ts#L111
AssertionError: Expected values to be strictly equal:
+ actual - expected
+ '{\n' +
+ ' main: {\n' +
+ ' isActive?: boolean | undefined\n' +
+ ' hasAccess?: boolean | undefined\n' +
+ ' }\n' +
+ '}'
- '{\n main: {\n isActive?: boolean | undefined\n hasAccess: boolean\n }\n}'
- Expected
+ Received
{
main: {
isActive?: boolean | undefined
- hasAccess: boolean
+ hasAccess?: boolean | undefined
}
}
❯ tests/infer.test.ts:111:2
|