diff --git a/.codegen.json b/.codegen.json index cbd571a9..02b0571d 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "5e9332b", "specHash": "d028758", "version": "4.10.0" } +{ "engineHash": "5a7add6", "specHash": "d028758", "version": "4.10.0" } diff --git a/docs/sdk-gen/notes.md b/docs/sdk-gen/notes.md index e1c77e8b..aa575af0 100644 --- a/docs/sdk-gen/notes.md +++ b/docs/sdk-gen/notes.md @@ -12,7 +12,10 @@ This operation is performed by calling function `createNoteConvertV2026R0`. See the endpoint docs at [API Reference](https://developer.box.com/reference/v2026.0/post-notes-convert/). -*Currently we don't have an example for calling `createNoteConvertV2026R0` in integration tests* + +```ts +await downscopedClient.notes.createNoteConvertV2026R0({ content: markdownContent, contentFormat: "markdown" as NotesConvertRequestBodyV2026R0ContentFormatField, parent: new FolderReferenceV2026R0({ id: "0" }), name: noteName } satisfies NotesConvertRequestBodyV2026R0Input) +``` ### Arguments diff --git a/tests/sdk-gen/notes.test.ts b/tests/sdk-gen/notes.test.ts new file mode 100644 index 00000000..2406c05c --- /dev/null +++ b/tests/sdk-gen/notes.test.ts @@ -0,0 +1,70 @@ +import { serializeNotesConvertResponseV2026R0 } from '@/schemas/v2026R0/notesConvertResponseV2026R0'; +import { deserializeNotesConvertResponseV2026R0 } from '@/schemas/v2026R0/notesConvertResponseV2026R0'; +import { serializeNotesConvertRequestBodyV2026R0 } from '@/schemas/v2026R0/notesConvertRequestBodyV2026R0'; +import { deserializeNotesConvertRequestBodyV2026R0 } from '@/schemas/v2026R0/notesConvertRequestBodyV2026R0'; +import { serializeNotesConvertRequestBodyV2026R0ContentFormatField } from '@/schemas/v2026R0/notesConvertRequestBodyV2026R0'; +import { deserializeNotesConvertRequestBodyV2026R0ContentFormatField } from '@/schemas/v2026R0/notesConvertRequestBodyV2026R0'; +import { serializeFolderReferenceV2026R0 } from '@/schemas/v2026R0/folderReferenceV2026R0'; +import { deserializeFolderReferenceV2026R0 } from '@/schemas/v2026R0/folderReferenceV2026R0'; +import { serializeFileFull } from '@/schemas/fileFull'; +import { deserializeFileFull } from '@/schemas/fileFull'; +import { NotesConvertRequestBodyV2026R0Input } from '@/schemas/v2026R0/notesConvertRequestBodyV2026R0'; +import { AccessToken } from '@/schemas/accessToken'; +import { NotesConvertResponseV2026R0 } from '@/schemas/v2026R0/notesConvertResponseV2026R0'; +import { NotesConvertRequestBodyV2026R0 } from '@/schemas/v2026R0/notesConvertRequestBodyV2026R0'; +import { NotesConvertRequestBodyV2026R0ContentFormatField } from '@/schemas/v2026R0/notesConvertRequestBodyV2026R0'; +import { FolderReferenceV2026R0 } from '@/schemas/v2026R0/folderReferenceV2026R0'; +import { FileFull } from '@/schemas/fileFull'; +import { getUuid } from '@/internal/utils'; +import { getEnvVar } from '@/internal/utils'; +import { BoxClient } from '@/client'; +import { BoxDeveloperTokenAuth } from '@/box/developerTokenAuth'; +import { getDefaultClientWithUserSubject } from './commons'; +import { toString } from '@/internal/utils'; +import { sdToJson } from '@/serialization/json'; +import { SerializedData } from '@/serialization/json'; +import { sdIsEmpty } from '@/serialization/json'; +import { sdIsBoolean } from '@/serialization/json'; +import { sdIsNumber } from '@/serialization/json'; +import { sdIsString } from '@/serialization/json'; +import { sdIsList } from '@/serialization/json'; +import { sdIsMap } from '@/serialization/json'; +export const client: BoxClient = getDefaultClientWithUserSubject( + getEnvVar('USER_ID') +); +test('testConvertMarkdownToBoxNote', async function testConvertMarkdownToBoxNote(): Promise { + const noteName: string = getUuid(); + const markdownContent: string = '# Heading\\n\\nSome text'; + const downscopedToken: AccessToken = await client.auth.downscopeToken( + ['item_upload'], + void 0, + void 0, + void 0 + ); + const downscopedClient: BoxClient = new BoxClient({ + auth: new BoxDeveloperTokenAuth({ token: downscopedToken.accessToken! }), + }); + const response: NotesConvertResponseV2026R0 = + await downscopedClient.notes.createNoteConvertV2026R0({ + content: markdownContent, + contentFormat: + 'markdown' as NotesConvertRequestBodyV2026R0ContentFormatField, + parent: new FolderReferenceV2026R0({ id: '0' }), + name: noteName, + } satisfies NotesConvertRequestBodyV2026R0Input); + if (!!(response.id == '')) { + throw new Error('Assertion failed'); + } + if (!((toString(response.type) as string) == 'file')) { + throw new Error('Assertion failed'); + } + const file: FileFull = await client.files.getFileById(response.id); + if (!(file.name == (''.concat(noteName, '.boxnote') as string))) { + throw new Error('Assertion failed'); + } + if (!(file.parent!.id == '0')) { + throw new Error('Assertion failed'); + } + await client.files.deleteFileById(response.id); +}); +export {};