@sanity/cli 6.0.0-alpha.3 → 6.0.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/auth/login/{index.js → login.js} +1 -1
- package/dist/actions/auth/login/{index.js.map → login.js.map} +1 -1
- package/dist/actions/dev/startStudioDevServer.js +3 -8
- package/dist/actions/dev/startStudioDevServer.js.map +1 -1
- package/dist/actions/dev/types.d.ts +1 -3
- package/dist/actions/dev/types.js.map +1 -1
- package/dist/actions/documents/validate.d.ts +0 -2
- package/dist/actions/documents/validate.js +21 -1
- package/dist/actions/documents/validate.js.map +1 -1
- package/dist/actions/exec/execScript.js +1 -1
- package/dist/actions/exec/execScript.js.map +1 -1
- package/dist/actions/graphql/__tests__/getGraphQLAPIs.test.js +1 -1
- package/dist/actions/graphql/__tests__/getGraphQLAPIs.test.js.map +1 -1
- package/dist/actions/graphql/getGraphQLAPIs.js +1 -1
- package/dist/actions/graphql/getGraphQLAPIs.js.map +1 -1
- package/dist/actions/manifest/extractManifest.js +1 -4
- package/dist/actions/manifest/extractManifest.js.map +1 -1
- package/dist/actions/organizations/getOrganizationChoices.d.ts +6 -0
- package/dist/actions/organizations/getOrganizationChoices.js +23 -0
- package/dist/actions/organizations/getOrganizationChoices.js.map +1 -0
- package/dist/actions/organizations/getOrganizationsWithAttachGrantInfo.d.ts +2 -0
- package/dist/actions/organizations/getOrganizationsWithAttachGrantInfo.js +9 -0
- package/dist/actions/organizations/getOrganizationsWithAttachGrantInfo.js.map +1 -0
- package/dist/actions/organizations/hasProjectAttachGrant.d.ts +1 -0
- package/dist/actions/organizations/hasProjectAttachGrant.js +24 -0
- package/dist/actions/organizations/hasProjectAttachGrant.js.map +1 -0
- package/dist/actions/schema/deleteSchemaAction.d.ts +13 -5
- package/dist/actions/schema/deleteSchemaAction.js +12 -17
- package/dist/actions/schema/deleteSchemaAction.js.map +1 -1
- package/dist/actions/schema/deploySchemas.d.ts +15 -0
- package/dist/actions/schema/deploySchemas.js +98 -0
- package/dist/actions/schema/deploySchemas.js.map +1 -0
- package/dist/actions/schema/listSchemas.d.ts +12 -0
- package/dist/actions/schema/listSchemas.js +119 -0
- package/dist/actions/schema/listSchemas.js.map +1 -0
- package/dist/actions/schema/schemaStoreTypes.d.ts +0 -11
- package/dist/actions/schema/schemaStoreTypes.js.map +1 -1
- package/dist/actions/schema/utils/debug.d.ts +2 -0
- package/dist/actions/schema/utils/debug.js +5 -0
- package/dist/actions/schema/utils/debug.js.map +1 -0
- package/dist/actions/schema/utils/manifestExtractor.d.ts +3 -8
- package/dist/actions/schema/utils/manifestExtractor.js +12 -17
- package/dist/actions/schema/utils/manifestExtractor.js.map +1 -1
- package/dist/actions/schema/utils/manifestReader.d.ts +2 -9
- package/dist/actions/schema/utils/manifestReader.js +6 -12
- package/dist/actions/schema/utils/manifestReader.js.map +1 -1
- package/dist/actions/schema/utils/schemaStoreOutStrings.d.ts +0 -1
- package/dist/actions/schema/utils/schemaStoreOutStrings.js +1 -1
- package/dist/actions/schema/utils/schemaStoreOutStrings.js.map +1 -1
- package/dist/actions/schema/utils/schemaStoreValidation.d.ts +10 -62
- package/dist/actions/schema/utils/schemaStoreValidation.js +40 -127
- package/dist/actions/schema/utils/schemaStoreValidation.js.map +1 -1
- package/dist/actions/schema/utils/uniqByProjectIdDataset.d.ts +14 -0
- package/dist/actions/schema/utils/uniqByProjectIdDataset.js +9 -0
- package/dist/actions/schema/utils/uniqByProjectIdDataset.js.map +1 -0
- package/dist/actions/users/getMembersForProject.d.ts +1 -3
- package/dist/actions/users/getMembersForProject.js +6 -17
- package/dist/actions/users/getMembersForProject.js.map +1 -1
- package/dist/actions/users/types.d.ts +0 -11
- package/dist/actions/users/types.js.map +1 -1
- package/dist/commands/__tests__/debug.test.js +113 -220
- package/dist/commands/__tests__/debug.test.js.map +1 -1
- package/dist/commands/__tests__/deploy.test.js +325 -293
- package/dist/commands/__tests__/deploy.test.js.map +1 -1
- package/dist/commands/__tests__/dev.test.js +62 -19
- package/dist/commands/__tests__/dev.test.js.map +1 -1
- package/dist/commands/__tests__/init/init.authentication.test.js +73 -0
- package/dist/commands/__tests__/init/init.authentication.test.js.map +1 -0
- package/dist/commands/__tests__/init/init.create-new-project.test.js +195 -0
- package/dist/commands/__tests__/init/init.create-new-project.test.js.map +1 -0
- package/dist/commands/__tests__/init/init.plan.test.js +279 -0
- package/dist/commands/__tests__/init/init.plan.test.js.map +1 -0
- package/dist/commands/__tests__/init/init.setup.test.js +335 -0
- package/dist/commands/__tests__/init/init.setup.test.js.map +1 -0
- package/dist/commands/__tests__/install.test.js +46 -22
- package/dist/commands/__tests__/install.test.js.map +1 -1
- package/dist/commands/__tests__/logout.test.js +8 -5
- package/dist/commands/__tests__/logout.test.js.map +1 -1
- package/dist/commands/__tests__/manage.test.js +29 -24
- package/dist/commands/__tests__/manage.test.js.map +1 -1
- package/dist/commands/__tests__/migration.test.js +119 -0
- package/dist/commands/__tests__/migration.test.js.map +1 -0
- package/dist/commands/__tests__/versions.test.js +22 -14
- package/dist/commands/__tests__/versions.test.js.map +1 -1
- package/dist/commands/backup/__tests__/disable.test.js +72 -75
- package/dist/commands/backup/__tests__/disable.test.js.map +1 -1
- package/dist/commands/backup/__tests__/download.test.js +169 -80
- package/dist/commands/backup/__tests__/download.test.js.map +1 -1
- package/dist/commands/backup/__tests__/enable.test.js +109 -140
- package/dist/commands/backup/__tests__/enable.test.js.map +1 -1
- package/dist/commands/backup/__tests__/list.test.js +84 -75
- package/dist/commands/backup/__tests__/list.test.js.map +1 -1
- package/dist/commands/backup/disable.js +5 -11
- package/dist/commands/backup/disable.js.map +1 -1
- package/dist/commands/backup/enable.js +5 -11
- package/dist/commands/backup/enable.js.map +1 -1
- package/dist/commands/backup/list.js +7 -8
- package/dist/commands/backup/list.js.map +1 -1
- package/dist/commands/cors/__tests__/add.test.js +68 -38
- package/dist/commands/cors/__tests__/add.test.js.map +1 -1
- package/dist/commands/cors/__tests__/delete.test.js +52 -37
- package/dist/commands/cors/__tests__/delete.test.js.map +1 -1
- package/dist/commands/cors/__tests__/list.test.js +80 -57
- package/dist/commands/cors/__tests__/list.test.js.map +1 -1
- package/dist/commands/cors/add.js +5 -13
- package/dist/commands/cors/add.js.map +1 -1
- package/dist/commands/cors/delete.js +7 -15
- package/dist/commands/cors/delete.js.map +1 -1
- package/dist/commands/cors/list.js +2 -10
- package/dist/commands/cors/list.js.map +1 -1
- package/dist/commands/dataset/__tests__/copy.test.js +197 -89
- package/dist/commands/dataset/__tests__/copy.test.js.map +1 -1
- package/dist/commands/dataset/__tests__/create.test.js +147 -117
- package/dist/commands/dataset/__tests__/create.test.js.map +1 -1
- package/dist/commands/dataset/__tests__/delete.test.js +75 -68
- package/dist/commands/dataset/__tests__/delete.test.js.map +1 -1
- package/dist/commands/dataset/__tests__/export.test.js +123 -83
- package/dist/commands/dataset/__tests__/export.test.js.map +1 -1
- package/dist/commands/dataset/__tests__/import.test.js +2 -2
- package/dist/commands/dataset/__tests__/import.test.js.map +1 -1
- package/dist/commands/dataset/__tests__/list.test.js +107 -65
- package/dist/commands/dataset/__tests__/list.test.js.map +1 -1
- package/dist/commands/dataset/alias/__tests__/create.test.js +114 -74
- package/dist/commands/dataset/alias/__tests__/create.test.js.map +1 -1
- package/dist/commands/dataset/alias/__tests__/delete.test.js +40 -29
- package/dist/commands/dataset/alias/__tests__/delete.test.js.map +1 -1
- package/dist/commands/dataset/alias/__tests__/link.test.js +114 -74
- package/dist/commands/dataset/alias/__tests__/link.test.js.map +1 -1
- package/dist/commands/dataset/alias/__tests__/unlink.test.js +44 -29
- package/dist/commands/dataset/alias/__tests__/unlink.test.js.map +1 -1
- package/dist/commands/dataset/export.js +4 -4
- package/dist/commands/dataset/export.js.map +1 -1
- package/dist/commands/dataset/visibility/__tests__/get.test.js +48 -67
- package/dist/commands/dataset/visibility/__tests__/get.test.js.map +1 -1
- package/dist/commands/dataset/visibility/__tests__/set.test.js +76 -123
- package/dist/commands/dataset/visibility/__tests__/set.test.js.map +1 -1
- package/dist/commands/dev.js +0 -1
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/docs/__tests__/search.test.js +8 -7
- package/dist/commands/docs/__tests__/search.test.js.map +1 -1
- package/dist/commands/documents/__tests__/create.test.js +328 -265
- package/dist/commands/documents/__tests__/create.test.js.map +1 -1
- package/dist/commands/documents/__tests__/delete.test.js +119 -87
- package/dist/commands/documents/__tests__/delete.test.js.map +1 -1
- package/dist/commands/documents/__tests__/get.test.js +68 -95
- package/dist/commands/documents/__tests__/get.test.js.map +1 -1
- package/dist/commands/documents/__tests__/query.test.js +87 -192
- package/dist/commands/documents/__tests__/query.test.js.map +1 -1
- package/dist/commands/documents/__tests__/validate.test.js +52 -29
- package/dist/commands/documents/__tests__/validate.test.js.map +1 -1
- package/dist/commands/documents/create.d.ts +1 -0
- package/dist/commands/documents/create.js +10 -9
- package/dist/commands/documents/create.js.map +1 -1
- package/dist/commands/documents/delete.js +2 -3
- package/dist/commands/documents/delete.js.map +1 -1
- package/dist/commands/documents/get.js +2 -3
- package/dist/commands/documents/get.js.map +1 -1
- package/dist/commands/documents/query.js +2 -3
- package/dist/commands/documents/query.js.map +1 -1
- package/dist/commands/documents/validate.js +0 -20
- package/dist/commands/documents/validate.js.map +1 -1
- package/dist/commands/graphql/__tests__/list.test.js +57 -45
- package/dist/commands/graphql/__tests__/list.test.js.map +1 -1
- package/dist/commands/graphql/__tests__/undeploy.test.js +85 -59
- package/dist/commands/graphql/__tests__/undeploy.test.js.map +1 -1
- package/dist/commands/graphql/list.js +2 -2
- package/dist/commands/graphql/list.js.map +1 -1
- package/dist/commands/graphql/undeploy.js +4 -9
- package/dist/commands/graphql/undeploy.js.map +1 -1
- package/dist/commands/hook/__tests__/attempt.test.js +48 -33
- package/dist/commands/hook/__tests__/attempt.test.js.map +1 -1
- package/dist/commands/hook/__tests__/create.test.js +49 -51
- package/dist/commands/hook/__tests__/create.test.js.map +1 -1
- package/dist/commands/hook/__tests__/delete.test.js +43 -30
- package/dist/commands/hook/__tests__/delete.test.js.map +1 -1
- package/dist/commands/hook/__tests__/list.test.js +38 -31
- package/dist/commands/hook/__tests__/list.test.js.map +1 -1
- package/dist/commands/hook/__tests__/logs.test.js +68 -40
- package/dist/commands/hook/__tests__/logs.test.js.map +1 -1
- package/dist/commands/hook/create.js +2 -6
- package/dist/commands/hook/create.js.map +1 -1
- package/dist/commands/hook/delete.js +5 -17
- package/dist/commands/hook/delete.js.map +1 -1
- package/dist/commands/hook/list.js +2 -8
- package/dist/commands/hook/list.js.map +1 -1
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.js +151 -18
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/manifest/__tests__/extract.test.js +22 -13
- package/dist/commands/manifest/__tests__/extract.test.js.map +1 -1
- package/dist/commands/media/__tests__/create-aspect.test.js +41 -28
- package/dist/commands/media/__tests__/create-aspect.test.js.map +1 -1
- package/dist/commands/media/__tests__/delete-aspect.test.js +44 -35
- package/dist/commands/media/__tests__/delete-aspect.test.js.map +1 -1
- package/dist/commands/media/__tests__/deploy-aspect.test.js +67 -80
- package/dist/commands/media/__tests__/deploy-aspect.test.js.map +1 -1
- package/dist/commands/media/__tests__/export.test.js +365 -66
- package/dist/commands/media/__tests__/export.test.js.map +1 -1
- package/dist/commands/media/__tests__/import.test.js +171 -105
- package/dist/commands/media/__tests__/import.test.js.map +1 -1
- package/dist/commands/media/export.js +2 -2
- package/dist/commands/media/export.js.map +1 -1
- package/dist/commands/media/import.js +2 -2
- package/dist/commands/media/import.js.map +1 -1
- package/dist/commands/projects/__tests__/list.test.js +5 -4
- package/dist/commands/projects/__tests__/list.test.js.map +1 -1
- package/dist/commands/projects/list.js +2 -6
- package/dist/commands/projects/list.js.map +1 -1
- package/dist/commands/schema/__tests__/delete.test.js +396 -151
- package/dist/commands/schema/__tests__/delete.test.js.map +1 -1
- package/dist/commands/schema/__tests__/deploy.test.js +348 -0
- package/dist/commands/schema/__tests__/deploy.test.js.map +1 -0
- package/dist/commands/schema/__tests__/extract.test.js +19 -11
- package/dist/commands/schema/__tests__/extract.test.js.map +1 -1
- package/dist/commands/schema/__tests__/list.test.js +399 -0
- package/dist/commands/schema/__tests__/list.test.js.map +1 -0
- package/dist/commands/schema/__tests__/validate.test.js +27 -10
- package/dist/commands/schema/__tests__/validate.test.js.map +1 -1
- package/dist/commands/schema/delete.d.ts +1 -1
- package/dist/commands/schema/delete.js +20 -23
- package/dist/commands/schema/delete.js.map +1 -1
- package/dist/commands/schema/deploy.d.ts +16 -0
- package/dist/commands/schema/deploy.js +98 -0
- package/dist/commands/schema/deploy.js.map +1 -0
- package/dist/commands/schema/list.d.ts +15 -0
- package/dist/commands/schema/list.js +104 -0
- package/dist/commands/schema/list.js.map +1 -0
- package/dist/commands/telemetry/__tests__/disable.test.js +7 -5
- package/dist/commands/telemetry/__tests__/disable.test.js.map +1 -1
- package/dist/commands/telemetry/__tests__/enable.test.js +7 -5
- package/dist/commands/telemetry/__tests__/enable.test.js.map +1 -1
- package/dist/commands/telemetry/__tests__/status.test.js +7 -5
- package/dist/commands/telemetry/__tests__/status.test.js.map +1 -1
- package/dist/commands/tokens/__tests__/add.test.js +55 -40
- package/dist/commands/tokens/__tests__/add.test.js.map +1 -1
- package/dist/commands/tokens/__tests__/delete.test.js +72 -42
- package/dist/commands/tokens/__tests__/delete.test.js.map +1 -1
- package/dist/commands/tokens/__tests__/list.test.js +87 -60
- package/dist/commands/tokens/__tests__/list.test.js.map +1 -1
- package/dist/commands/tokens/add.js +3 -5
- package/dist/commands/tokens/add.js.map +1 -1
- package/dist/commands/users/__tests__/invite.test.js +100 -79
- package/dist/commands/users/__tests__/invite.test.js.map +1 -1
- package/dist/commands/users/__tests__/list.test.js +186 -180
- package/dist/commands/users/__tests__/list.test.js.map +1 -1
- package/dist/commands/users/invite.js +6 -17
- package/dist/commands/users/invite.js.map +1 -1
- package/dist/commands/users/list.js +4 -7
- package/dist/commands/users/list.js.map +1 -1
- package/dist/config/createCliConfig.d.ts +4 -4
- package/dist/services/backup.d.ts +8 -0
- package/dist/services/backup.js +19 -0
- package/dist/services/backup.js.map +1 -1
- package/dist/services/cors.d.ts +23 -0
- package/dist/services/cors.js +38 -0
- package/dist/services/cors.js.map +1 -0
- package/dist/services/graphql.d.ts +7 -0
- package/dist/services/graphql.js +11 -0
- package/dist/services/graphql.js.map +1 -1
- package/dist/services/hooks.d.ts +2 -0
- package/dist/services/hooks.js +19 -0
- package/dist/services/hooks.js.map +1 -1
- package/dist/services/organizations.d.ts +40 -0
- package/dist/services/organizations.js +41 -0
- package/dist/services/organizations.js.map +1 -0
- package/dist/services/projects.d.ts +31 -0
- package/dist/services/projects.js +71 -1
- package/dist/services/projects.js.map +1 -1
- package/dist/services/schemas.d.ts +4 -0
- package/dist/services/schemas.js +40 -0
- package/dist/services/schemas.js.map +1 -0
- package/dist/services/user.d.ts +10 -0
- package/dist/services/user.js +24 -0
- package/dist/services/user.js.map +1 -0
- package/dist/util/__tests__/getCliVersion.test.js +2 -2
- package/dist/util/__tests__/getCliVersion.test.js.map +1 -1
- package/dist/util/errorMessages.d.ts +1 -0
- package/dist/util/errorMessages.js +1 -0
- package/dist/util/errorMessages.js.map +1 -1
- package/dist/util/getCliVersion.js +1 -1
- package/dist/util/getCliVersion.js.map +1 -1
- package/dist/util/readPackageJson.d.ts +1 -15
- package/dist/util/readPackageJson.js +1 -1
- package/dist/util/readPackageJson.js.map +1 -1
- package/dist/util/uniqBy.d.ts +1 -0
- package/dist/util/uniqBy.js +14 -0
- package/dist/util/uniqBy.js.map +1 -0
- package/oclif.config.js +6 -1
- package/oclif.manifest.json +152 -158
- package/package.json +30 -31
- package/dist/actions/cors/constants.d.ts +0 -1
- package/dist/actions/cors/constants.js +0 -3
- package/dist/actions/cors/constants.js.map +0 -1
- package/dist/actions/cors/types.d.ts +0 -9
- package/dist/actions/cors/types.js +0 -3
- package/dist/actions/cors/types.js.map +0 -1
- package/dist/actions/migration/getMigrationRootDirectory.d.ts +0 -2
- package/dist/actions/migration/getMigrationRootDirectory.js +0 -14
- package/dist/actions/migration/getMigrationRootDirectory.js.map +0 -1
- package/dist/actions/migration/resolveMigrations.d.ts +0 -19
- package/dist/actions/migration/resolveMigrations.js +0 -43
- package/dist/actions/migration/resolveMigrations.js.map +0 -1
- package/dist/actions/migration/templates/__tests__/minimalAdvanced.test.js +0 -65
- package/dist/actions/migration/templates/__tests__/minimalAdvanced.test.js.map +0 -1
- package/dist/actions/migration/templates/__tests__/minimalSimple.test.js +0 -145
- package/dist/actions/migration/templates/__tests__/minimalSimple.test.js.map +0 -1
- package/dist/actions/migration/templates/__tests__/renameField.test.js +0 -63
- package/dist/actions/migration/templates/__tests__/renameField.test.js.map +0 -1
- package/dist/actions/migration/templates/__tests__/renameType.test.js +0 -61
- package/dist/actions/migration/templates/__tests__/renameType.test.js.map +0 -1
- package/dist/actions/migration/templates/__tests__/stringToPTE.test.js +0 -87
- package/dist/actions/migration/templates/__tests__/stringToPTE.test.js.map +0 -1
- package/dist/actions/migration/templates/index.d.ts +0 -5
- package/dist/actions/migration/templates/index.js +0 -7
- package/dist/actions/migration/templates/index.js.map +0 -1
- package/dist/actions/migration/templates/minimalAdvanced.d.ts +0 -4
- package/dist/actions/migration/templates/minimalAdvanced.js +0 -21
- package/dist/actions/migration/templates/minimalAdvanced.js.map +0 -1
- package/dist/actions/migration/templates/minimalSimple.d.ts +0 -4
- package/dist/actions/migration/templates/minimalSimple.js +0 -61
- package/dist/actions/migration/templates/minimalSimple.js.map +0 -1
- package/dist/actions/migration/templates/renameField.d.ts +0 -4
- package/dist/actions/migration/templates/renameField.js +0 -20
- package/dist/actions/migration/templates/renameField.js.map +0 -1
- package/dist/actions/migration/templates/renameType.d.ts +0 -4
- package/dist/actions/migration/templates/renameType.js +0 -19
- package/dist/actions/migration/templates/renameType.js.map +0 -1
- package/dist/actions/migration/templates/stringToPTE.d.ts +0 -4
- package/dist/actions/migration/templates/stringToPTE.js +0 -32
- package/dist/actions/migration/templates/stringToPTE.js.map +0 -1
- package/dist/actions/schema/__tests__/deleteSchemaAction.test.js +0 -294
- package/dist/actions/schema/__tests__/deleteSchemaAction.test.js.map +0 -1
- package/dist/actions/schema/schemaStoreConstants.d.ts +0 -1
- package/dist/actions/schema/schemaStoreConstants.js +0 -4
- package/dist/actions/schema/schemaStoreConstants.js.map +0 -1
- package/dist/actions/schema/utils/schemaActionHelpers.d.ts +0 -1
- package/dist/actions/schema/utils/schemaActionHelpers.js +0 -5
- package/dist/actions/schema/utils/schemaActionHelpers.js.map +0 -1
- package/dist/actions/schema/utils/schemaApiClient.d.ts +0 -6
- package/dist/actions/schema/utils/schemaApiClient.js +0 -17
- package/dist/actions/schema/utils/schemaApiClient.js.map +0 -1
- package/dist/actions/users/apiVersion.d.ts +0 -6
- package/dist/actions/users/apiVersion.js +0 -7
- package/dist/actions/users/apiVersion.js.map +0 -1
- package/dist/commands/__tests__/init.test.js +0 -411
- package/dist/commands/__tests__/init.test.js.map +0 -1
- package/dist/commands/migration/__tests__/create.test.js +0 -296
- package/dist/commands/migration/__tests__/create.test.js.map +0 -1
- package/dist/commands/migration/__tests__/list.test.js +0 -166
- package/dist/commands/migration/__tests__/list.test.js.map +0 -1
- package/dist/commands/migration/__tests__/run.test.js +0 -481
- package/dist/commands/migration/__tests__/run.test.js.map +0 -1
- package/dist/commands/migration/create.d.ts +0 -17
- package/dist/commands/migration/create.js +0 -143
- package/dist/commands/migration/create.js.map +0 -1
- package/dist/commands/migration/list.d.ts +0 -9
- package/dist/commands/migration/list.js +0 -61
- package/dist/commands/migration/list.js.map +0 -1
- package/dist/commands/migration/run.d.ts +0 -26
- package/dist/commands/migration/run.js +0 -271
- package/dist/commands/migration/run.js.map +0 -1
- package/dist/util/migration/constants.d.ts +0 -3
- package/dist/util/migration/constants.js +0 -10
- package/dist/util/migration/constants.js.map +0 -1
- package/dist/util/migration/ensureApiVersionFormat.d.ts +0 -9
- package/dist/util/migration/ensureApiVersionFormat.js +0 -16
- package/dist/util/migration/ensureApiVersionFormat.js.map +0 -1
- package/dist/util/migration/prettyMutationFormatter.d.ts +0 -8
- package/dist/util/migration/prettyMutationFormatter.js +0 -141
- package/dist/util/migration/prettyMutationFormatter.js.map +0 -1
- package/dist/utils/migration/resolveMigrationScript.d.ts +0 -44
- package/dist/utils/migration/resolveMigrationScript.js +0 -74
- package/dist/utils/migration/resolveMigrationScript.js.map +0 -1
- /package/dist/actions/auth/login/{index.d.ts → login.d.ts} +0 -0
|
@@ -1,32 +1,23 @@
|
|
|
1
1
|
import { runCommand } from '@oclif/test';
|
|
2
|
-
import { getCliConfig, getProjectCliClient } from '@sanity/cli-core';
|
|
3
2
|
import { input } from '@sanity/cli-core/ux';
|
|
4
3
|
import { testCommand } from '@sanity/cli-test';
|
|
5
4
|
import { afterEach, describe, expect, test, vi } from 'vitest';
|
|
6
5
|
import { NO_PROJECT_ID } from '../../../util/errorMessages.js';
|
|
7
6
|
import { DeleteDatasetCommand } from '../delete.js';
|
|
8
|
-
vi.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
type: 'studio'
|
|
13
|
-
})
|
|
14
|
-
}));
|
|
15
|
-
vi.mock('../../../../../cli-core/src/config/cli/getCliConfig.js', ()=>({
|
|
16
|
-
getCliConfig: vi.fn().mockResolvedValue({
|
|
17
|
-
api: {
|
|
18
|
-
projectId: 'test-project'
|
|
19
|
-
}
|
|
20
|
-
})
|
|
21
|
-
}));
|
|
22
|
-
vi.mock('../../../../../cli-core/src/services/getCliToken.js', ()=>({
|
|
23
|
-
getCliToken: vi.fn().mockResolvedValue('test-token')
|
|
24
|
-
}));
|
|
25
|
-
vi.mock('../../../../../cli-core/src/services/apiClient.js', async (importOriginal)=>{
|
|
26
|
-
const actual = await importOriginal();
|
|
7
|
+
const mockDeleteDataset = vi.hoisted(()=>vi.fn());
|
|
8
|
+
const mockGetProjectById = vi.hoisted(()=>vi.fn());
|
|
9
|
+
vi.mock('@sanity/cli-core', async ()=>{
|
|
10
|
+
const actual = await vi.importActual('@sanity/cli-core');
|
|
27
11
|
return {
|
|
28
12
|
...actual,
|
|
29
|
-
getProjectCliClient: vi.fn()
|
|
13
|
+
getProjectCliClient: vi.fn().mockResolvedValue({
|
|
14
|
+
datasets: {
|
|
15
|
+
delete: mockDeleteDataset
|
|
16
|
+
},
|
|
17
|
+
projects: {
|
|
18
|
+
getById: mockGetProjectById
|
|
19
|
+
}
|
|
20
|
+
})
|
|
30
21
|
};
|
|
31
22
|
});
|
|
32
23
|
vi.mock('@sanity/cli-core/ux', async ()=>{
|
|
@@ -39,20 +30,20 @@ vi.mock('@sanity/cli-core/ux', async ()=>{
|
|
|
39
30
|
const TEST_DATASET_NAME = 'test-dataset';
|
|
40
31
|
const TEST_PROJECT_NAME = 'Test Project';
|
|
41
32
|
const TEST_PROJECT_ID = 'test-project';
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
delete: vi.fn().mockResolvedValue(undefined)
|
|
47
|
-
},
|
|
48
|
-
projects: {
|
|
49
|
-
getById: vi.fn().mockResolvedValue({
|
|
50
|
-
displayName: TEST_PROJECT_NAME,
|
|
51
|
-
id: TEST_PROJECT_ID
|
|
52
|
-
})
|
|
33
|
+
const defaultMocks = {
|
|
34
|
+
cliConfig: {
|
|
35
|
+
api: {
|
|
36
|
+
projectId: TEST_PROJECT_ID
|
|
53
37
|
}
|
|
54
|
-
}
|
|
38
|
+
},
|
|
39
|
+
projectRoot: {
|
|
40
|
+
directory: '/test/path',
|
|
41
|
+
path: '/test/path/sanity.config.ts',
|
|
42
|
+
type: 'studio'
|
|
43
|
+
},
|
|
44
|
+
token: 'test-token'
|
|
55
45
|
};
|
|
46
|
+
const mockInput = vi.mocked(input);
|
|
56
47
|
describe('#dataset:delete', ()=>{
|
|
57
48
|
afterEach(()=>{
|
|
58
49
|
vi.clearAllMocks();
|
|
@@ -90,23 +81,31 @@ describe('#dataset:delete', ()=>{
|
|
|
90
81
|
`);
|
|
91
82
|
});
|
|
92
83
|
test('deletes dataset with --force flag', async ()=>{
|
|
93
|
-
|
|
84
|
+
mockDeleteDataset.mockResolvedValue(undefined);
|
|
94
85
|
const { stderr, stdout } = await testCommand(DeleteDatasetCommand, [
|
|
95
86
|
TEST_DATASET_NAME,
|
|
96
87
|
'--force'
|
|
97
|
-
]
|
|
88
|
+
], {
|
|
89
|
+
mocks: defaultMocks
|
|
90
|
+
});
|
|
98
91
|
expect(stderr).toContain(`--force' used: skipping confirmation, deleting dataset`);
|
|
99
92
|
expect(stdout).toBe('Dataset deleted successfully\n');
|
|
100
93
|
});
|
|
101
94
|
test('deletes dataset with confirmation prompt and validates input', async ()=>{
|
|
102
|
-
|
|
103
|
-
|
|
95
|
+
mockInput.mockResolvedValue(TEST_DATASET_NAME);
|
|
96
|
+
mockGetProjectById.mockResolvedValue({
|
|
97
|
+
displayName: TEST_PROJECT_NAME,
|
|
98
|
+
id: TEST_PROJECT_ID
|
|
99
|
+
});
|
|
100
|
+
mockDeleteDataset.mockResolvedValue(undefined);
|
|
104
101
|
const { stdout } = await testCommand(DeleteDatasetCommand, [
|
|
105
102
|
TEST_DATASET_NAME
|
|
106
|
-
]
|
|
103
|
+
], {
|
|
104
|
+
mocks: defaultMocks
|
|
105
|
+
});
|
|
107
106
|
expect(stdout).toContain(`Deleting dataset "${TEST_DATASET_NAME}" from project "${TEST_PROJECT_NAME} (${TEST_PROJECT_ID})"`);
|
|
108
107
|
expect(stdout).toContain('Dataset deleted successfully\n');
|
|
109
|
-
expect(
|
|
108
|
+
expect(mockInput).toHaveBeenCalledWith({
|
|
110
109
|
message: 'Are you ABSOLUTELY sure you want to delete this dataset?\n Type the name of the dataset to confirm delete:',
|
|
111
110
|
validate: expect.any(Function)
|
|
112
111
|
});
|
|
@@ -115,7 +114,9 @@ describe('#dataset:delete', ()=>{
|
|
|
115
114
|
const { error: commandError } = await testCommand(DeleteDatasetCommand, [
|
|
116
115
|
'',
|
|
117
116
|
'--force'
|
|
118
|
-
]
|
|
117
|
+
], {
|
|
118
|
+
mocks: defaultMocks
|
|
119
|
+
});
|
|
119
120
|
expect(commandError?.message).toBe('Dataset name is missing');
|
|
120
121
|
expect(commandError?.oclif?.exit).toBe(1);
|
|
121
122
|
});
|
|
@@ -129,15 +130,19 @@ describe('#dataset:delete', ()=>{
|
|
|
129
130
|
projectId: ''
|
|
130
131
|
}
|
|
131
132
|
])('throws error when $desc', async ({ projectId })=>{
|
|
132
|
-
vi.mocked(getCliConfig).mockResolvedValueOnce({
|
|
133
|
-
api: {
|
|
134
|
-
projectId
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
133
|
const { error } = await testCommand(DeleteDatasetCommand, [
|
|
138
134
|
TEST_DATASET_NAME,
|
|
139
135
|
'--force'
|
|
140
|
-
]
|
|
136
|
+
], {
|
|
137
|
+
mocks: {
|
|
138
|
+
...defaultMocks,
|
|
139
|
+
cliConfig: {
|
|
140
|
+
api: {
|
|
141
|
+
projectId
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
});
|
|
141
146
|
expect(error?.message).toBe(NO_PROJECT_ID);
|
|
142
147
|
expect(error?.oclif?.exit).toBe(1);
|
|
143
148
|
});
|
|
@@ -162,60 +167,62 @@ describe('#dataset:delete', ()=>{
|
|
|
162
167
|
Object.assign(deleteError, {
|
|
163
168
|
statusCode
|
|
164
169
|
});
|
|
165
|
-
|
|
166
|
-
datasets: {
|
|
167
|
-
delete: vi.fn().mockRejectedValue(deleteError)
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
+
mockDeleteDataset.mockRejectedValue(deleteError);
|
|
170
171
|
const { error } = await testCommand(DeleteDatasetCommand, [
|
|
171
172
|
TEST_DATASET_NAME,
|
|
172
173
|
'--force'
|
|
173
|
-
]
|
|
174
|
+
], {
|
|
175
|
+
mocks: defaultMocks
|
|
176
|
+
});
|
|
174
177
|
expect(error?.message).toContain('Dataset deletion failed');
|
|
175
178
|
expect(error?.message).toContain(message);
|
|
176
179
|
expect(error?.oclif?.exit).toBe(1);
|
|
177
180
|
});
|
|
178
181
|
test('handles network errors when deleting dataset', async ()=>{
|
|
179
|
-
|
|
180
|
-
datasets: {
|
|
181
|
-
delete: vi.fn().mockRejectedValue(new Error('Network error'))
|
|
182
|
-
}
|
|
183
|
-
});
|
|
182
|
+
mockDeleteDataset.mockRejectedValue(new Error('Network error'));
|
|
184
183
|
const { error } = await testCommand(DeleteDatasetCommand, [
|
|
185
184
|
TEST_DATASET_NAME,
|
|
186
185
|
'--force'
|
|
187
|
-
]
|
|
186
|
+
], {
|
|
187
|
+
mocks: defaultMocks
|
|
188
|
+
});
|
|
188
189
|
expect(error?.message).toContain('Dataset deletion failed');
|
|
189
190
|
expect(error?.message).toContain('Network error');
|
|
190
191
|
expect(error?.oclif?.exit).toBe(1);
|
|
191
192
|
});
|
|
192
193
|
test('handles API client creation errors', async ()=>{
|
|
193
|
-
|
|
194
|
+
mockDeleteDataset.mockRejectedValue(new Error('Failed to create client'));
|
|
194
195
|
const { error } = await testCommand(DeleteDatasetCommand, [
|
|
195
196
|
TEST_DATASET_NAME,
|
|
196
197
|
'--force'
|
|
197
|
-
]
|
|
198
|
+
], {
|
|
199
|
+
mocks: defaultMocks
|
|
200
|
+
});
|
|
198
201
|
expect(error?.message).toContain('Dataset deletion failed');
|
|
199
202
|
expect(error?.message).toContain('Failed to create client');
|
|
200
203
|
expect(error?.oclif?.exit).toBe(1);
|
|
201
204
|
});
|
|
202
205
|
test('handles user cancellation during confirmation', async ()=>{
|
|
203
|
-
|
|
206
|
+
mockGetProjectById.mockResolvedValue({
|
|
207
|
+
displayName: TEST_PROJECT_NAME,
|
|
208
|
+
id: TEST_PROJECT_ID
|
|
209
|
+
});
|
|
210
|
+
mockInput.mockRejectedValue(new Error('User cancelled'));
|
|
204
211
|
const { error } = await testCommand(DeleteDatasetCommand, [
|
|
205
212
|
TEST_DATASET_NAME
|
|
206
|
-
]
|
|
213
|
+
], {
|
|
214
|
+
mocks: defaultMocks
|
|
215
|
+
});
|
|
207
216
|
expect(error?.message).toBe('User cancelled');
|
|
208
217
|
expect(error?.oclif?.exit).toBe(1);
|
|
209
218
|
});
|
|
210
219
|
test('handles project retrieval error', async ()=>{
|
|
211
|
-
|
|
212
|
-
projects: {
|
|
213
|
-
getById: vi.fn().mockRejectedValueOnce(new Error('Project Error'))
|
|
214
|
-
}
|
|
215
|
-
});
|
|
220
|
+
mockGetProjectById.mockRejectedValue(new Error('Project Error'));
|
|
216
221
|
const { error } = await testCommand(DeleteDatasetCommand, [
|
|
217
222
|
TEST_DATASET_NAME
|
|
218
|
-
]
|
|
223
|
+
], {
|
|
224
|
+
mocks: defaultMocks
|
|
225
|
+
});
|
|
219
226
|
expect(error?.message).toContain('Project retrieval failed: Project Error');
|
|
220
227
|
expect(error?.oclif?.exit).toBe(1);
|
|
221
228
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/commands/dataset/__tests__/delete.test.ts"],"sourcesContent":["import {runCommand} from '@oclif/test'\nimport {getCliConfig, getProjectCliClient} from '@sanity/cli-core'\nimport {input} from '@sanity/cli-core/ux'\nimport {testCommand} from '@sanity/cli-test'\nimport {afterEach, describe, expect, test, vi} from 'vitest'\n\nimport {NO_PROJECT_ID} from '../../../util/errorMessages.js'\nimport {DeleteDatasetCommand} from '../delete.js'\n\nvi.mock('../../../../../cli-core/src/config/findProjectRoot.js', () => ({\n findProjectRoot: vi.fn().mockResolvedValue({\n directory: '/test/path',\n root: '/test/path',\n type: 'studio',\n }),\n}))\n\nvi.mock('../../../../../cli-core/src/config/cli/getCliConfig.js', () => ({\n getCliConfig: vi.fn().mockResolvedValue({\n api: {\n projectId: 'test-project',\n },\n }),\n}))\n\nvi.mock('../../../../../cli-core/src/services/getCliToken.js', () => ({\n getCliToken: vi.fn().mockResolvedValue('test-token'),\n}))\n\nvi.mock('../../../../../cli-core/src/services/apiClient.js', async (importOriginal) => {\n const actual =\n await importOriginal<typeof import('../../../../../cli-core/src/services/apiClient.js')>()\n return {\n ...actual,\n getProjectCliClient: vi.fn(),\n }\n})\n\nvi.mock('@sanity/cli-core/ux', async () => {\n const actual = await vi.importActual<typeof import('@sanity/cli-core/ux')>('@sanity/cli-core/ux')\n return {\n ...actual,\n input: vi.fn(),\n }\n})\n\nconst TEST_DATASET_NAME = 'test-dataset'\nconst TEST_PROJECT_NAME = 'Test Project'\nconst TEST_PROJECT_ID = 'test-project'\n\nconst mockGetProjectCliClient = vi.mocked(getProjectCliClient)\n\nconst setupMockClient = () => {\n mockGetProjectCliClient.mockResolvedValue({\n datasets: {\n delete: vi.fn().mockResolvedValue(undefined),\n },\n projects: {\n getById: vi.fn().mockResolvedValue({\n displayName: TEST_PROJECT_NAME,\n id: TEST_PROJECT_ID,\n }),\n },\n } as never)\n}\n\ndescribe('#dataset:delete', () => {\n afterEach(() => {\n vi.clearAllMocks()\n })\n\n test('--help works', async () => {\n const {stdout} = await runCommand(['dataset delete', '--help'])\n expect(stdout).toMatchInlineSnapshot(`\n \"Delete a dataset within your project\n\n USAGE\n $ sanity dataset delete DATASETNAME [--force]\n\n ARGUMENTS\n DATASETNAME Dataset name to delete\n\n FLAGS\n --force Do not prompt for delete confirmation - forcefully delete\n\n DESCRIPTION\n Delete a dataset within your project\n\n EXAMPLES\n Delete a specific dataset\n\n $ sanity dataset delete my-dataset\n\n Delete a specific dataset without confirmation\n\n $ sanity dataset delete my-dataset --force\n\n \"\n `)\n })\n\n test('deletes dataset with --force flag', async () => {\n setupMockClient()\n\n const {stderr, stdout} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME, '--force'])\n expect(stderr).toContain(`--force' used: skipping confirmation, deleting dataset`)\n expect(stdout).toBe('Dataset deleted successfully\\n')\n })\n\n test('deletes dataset with confirmation prompt and validates input', async () => {\n vi.mocked(input).mockResolvedValue(TEST_DATASET_NAME)\n setupMockClient()\n\n const {stdout} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME])\n\n expect(stdout).toContain(\n `Deleting dataset \"${TEST_DATASET_NAME}\" from project \"${TEST_PROJECT_NAME} (${TEST_PROJECT_ID})\"`,\n )\n expect(stdout).toContain('Dataset deleted successfully\\n')\n expect(input).toHaveBeenCalledWith({\n message:\n 'Are you ABSOLUTELY sure you want to delete this dataset?\\n Type the name of the dataset to confirm delete:',\n validate: expect.any(Function),\n })\n })\n\n test('throws error for empty dataset name', async () => {\n const {error: commandError} = await testCommand(DeleteDatasetCommand, ['', '--force'])\n expect(commandError?.message).toBe('Dataset name is missing')\n expect(commandError?.oclif?.exit).toBe(1)\n })\n\n test.each([\n {desc: 'no project ID is found', projectId: undefined},\n {desc: 'project ID is empty string', projectId: ''},\n ])('throws error when $desc', async ({projectId}) => {\n vi.mocked(getCliConfig).mockResolvedValueOnce({\n api: {projectId},\n })\n\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME, '--force'])\n expect(error?.message).toBe(NO_PROJECT_ID)\n expect(error?.oclif?.exit).toBe(1)\n })\n\n test.each([\n {desc: 'when deleting dataset', message: 'Internal Server Error', statusCode: 500},\n {desc: 'with 404 error when deleting dataset', message: 'Dataset not found', statusCode: 404},\n {desc: 'with 403 error when deleting dataset', message: 'Forbidden', statusCode: 403},\n ])('handles API error $desc', async ({message, statusCode}) => {\n const deleteError = new Error(message)\n Object.assign(deleteError, {statusCode})\n\n mockGetProjectCliClient.mockResolvedValueOnce({\n datasets: {\n delete: vi.fn().mockRejectedValue(deleteError),\n },\n } as never)\n\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME, '--force'])\n expect(error?.message).toContain('Dataset deletion failed')\n expect(error?.message).toContain(message)\n expect(error?.oclif?.exit).toBe(1)\n })\n\n test('handles network errors when deleting dataset', async () => {\n mockGetProjectCliClient.mockResolvedValueOnce({\n datasets: {\n delete: vi.fn().mockRejectedValue(new Error('Network error')),\n },\n } as never)\n\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME, '--force'])\n expect(error?.message).toContain('Dataset deletion failed')\n expect(error?.message).toContain('Network error')\n expect(error?.oclif?.exit).toBe(1)\n })\n\n test('handles API client creation errors', async () => {\n mockGetProjectCliClient.mockRejectedValueOnce(new Error('Failed to create client'))\n\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME, '--force'])\n expect(error?.message).toContain('Dataset deletion failed')\n expect(error?.message).toContain('Failed to create client')\n expect(error?.oclif?.exit).toBe(1)\n })\n\n test('handles user cancellation during confirmation', async () => {\n vi.mocked(input).mockRejectedValue(new Error('User cancelled'))\n\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME])\n\n expect(error?.message).toBe('User cancelled')\n expect(error?.oclif?.exit).toBe(1)\n })\n\n test('handles project retrieval error', async () => {\n mockGetProjectCliClient.mockResolvedValueOnce({\n projects: {\n getById: vi.fn().mockRejectedValueOnce(new Error('Project Error')),\n },\n } as never)\n\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME])\n\n expect(error?.message).toContain('Project retrieval failed: Project Error')\n expect(error?.oclif?.exit).toBe(1)\n })\n})\n"],"names":["runCommand","getCliConfig","getProjectCliClient","input","testCommand","afterEach","describe","expect","test","vi","NO_PROJECT_ID","DeleteDatasetCommand","mock","findProjectRoot","fn","mockResolvedValue","directory","root","type","api","projectId","getCliToken","importOriginal","actual","importActual","TEST_DATASET_NAME","TEST_PROJECT_NAME","TEST_PROJECT_ID","mockGetProjectCliClient","mocked","setupMockClient","datasets","delete","undefined","projects","getById","displayName","id","clearAllMocks","stdout","toMatchInlineSnapshot","stderr","toContain","toBe","toHaveBeenCalledWith","message","validate","any","Function","error","commandError","oclif","exit","each","desc","mockResolvedValueOnce","statusCode","deleteError","Error","Object","assign","mockRejectedValue","mockRejectedValueOnce"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/commands/dataset/__tests__/delete.test.ts"],"sourcesContent":["import {runCommand} from '@oclif/test'\nimport {input} from '@sanity/cli-core/ux'\nimport {testCommand} from '@sanity/cli-test'\nimport {afterEach, describe, expect, test, vi} from 'vitest'\n\nimport {NO_PROJECT_ID} from '../../../util/errorMessages.js'\nimport {DeleteDatasetCommand} from '../delete.js'\n\nconst mockDeleteDataset = vi.hoisted(() => vi.fn())\nconst mockGetProjectById = vi.hoisted(() => vi.fn())\n\nvi.mock('@sanity/cli-core', async () => {\n const actual = await vi.importActual('@sanity/cli-core')\n return {\n ...actual,\n getProjectCliClient: vi.fn().mockResolvedValue({\n datasets: {\n delete: mockDeleteDataset,\n } as never,\n projects: {\n getById: mockGetProjectById,\n } as never,\n }),\n }\n})\n\nvi.mock('@sanity/cli-core/ux', async () => {\n const actual = await vi.importActual<typeof import('@sanity/cli-core/ux')>('@sanity/cli-core/ux')\n return {\n ...actual,\n input: vi.fn(),\n }\n})\n\nconst TEST_DATASET_NAME = 'test-dataset'\nconst TEST_PROJECT_NAME = 'Test Project'\nconst TEST_PROJECT_ID = 'test-project'\n\nconst defaultMocks = {\n cliConfig: {api: {projectId: TEST_PROJECT_ID}},\n projectRoot: {\n directory: '/test/path',\n path: '/test/path/sanity.config.ts',\n type: 'studio' as const,\n },\n token: 'test-token',\n}\n\nconst mockInput = vi.mocked(input)\n\ndescribe('#dataset:delete', () => {\n afterEach(() => {\n vi.clearAllMocks()\n })\n\n test('--help works', async () => {\n const {stdout} = await runCommand(['dataset delete', '--help'])\n expect(stdout).toMatchInlineSnapshot(`\n \"Delete a dataset within your project\n\n USAGE\n $ sanity dataset delete DATASETNAME [--force]\n\n ARGUMENTS\n DATASETNAME Dataset name to delete\n\n FLAGS\n --force Do not prompt for delete confirmation - forcefully delete\n\n DESCRIPTION\n Delete a dataset within your project\n\n EXAMPLES\n Delete a specific dataset\n\n $ sanity dataset delete my-dataset\n\n Delete a specific dataset without confirmation\n\n $ sanity dataset delete my-dataset --force\n\n \"\n `)\n })\n\n test('deletes dataset with --force flag', async () => {\n mockDeleteDataset.mockResolvedValue(undefined)\n\n const {stderr, stdout} = await testCommand(\n DeleteDatasetCommand,\n [TEST_DATASET_NAME, '--force'],\n {\n mocks: defaultMocks,\n },\n )\n expect(stderr).toContain(`--force' used: skipping confirmation, deleting dataset`)\n expect(stdout).toBe('Dataset deleted successfully\\n')\n })\n\n test('deletes dataset with confirmation prompt and validates input', async () => {\n mockInput.mockResolvedValue(TEST_DATASET_NAME)\n mockGetProjectById.mockResolvedValue({\n displayName: TEST_PROJECT_NAME,\n id: TEST_PROJECT_ID,\n } as never)\n mockDeleteDataset.mockResolvedValue(undefined)\n\n const {stdout} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME], {\n mocks: defaultMocks,\n })\n\n expect(stdout).toContain(\n `Deleting dataset \"${TEST_DATASET_NAME}\" from project \"${TEST_PROJECT_NAME} (${TEST_PROJECT_ID})\"`,\n )\n expect(stdout).toContain('Dataset deleted successfully\\n')\n expect(mockInput).toHaveBeenCalledWith({\n message:\n 'Are you ABSOLUTELY sure you want to delete this dataset?\\n Type the name of the dataset to confirm delete:',\n validate: expect.any(Function),\n })\n })\n\n test('throws error for empty dataset name', async () => {\n const {error: commandError} = await testCommand(DeleteDatasetCommand, ['', '--force'], {\n mocks: defaultMocks,\n })\n expect(commandError?.message).toBe('Dataset name is missing')\n expect(commandError?.oclif?.exit).toBe(1)\n })\n\n test.each([\n {desc: 'no project ID is found', projectId: undefined},\n {desc: 'project ID is empty string', projectId: ''},\n ])('throws error when $desc', async ({projectId}) => {\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME, '--force'], {\n mocks: {\n ...defaultMocks,\n cliConfig: {api: {projectId}},\n },\n })\n expect(error?.message).toBe(NO_PROJECT_ID)\n expect(error?.oclif?.exit).toBe(1)\n })\n\n test.each([\n {desc: 'when deleting dataset', message: 'Internal Server Error', statusCode: 500},\n {desc: 'with 404 error when deleting dataset', message: 'Dataset not found', statusCode: 404},\n {desc: 'with 403 error when deleting dataset', message: 'Forbidden', statusCode: 403},\n ])('handles API error $desc', async ({message, statusCode}) => {\n const deleteError = new Error(message)\n Object.assign(deleteError, {statusCode})\n mockDeleteDataset.mockRejectedValue(deleteError)\n\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME, '--force'], {\n mocks: defaultMocks,\n })\n expect(error?.message).toContain('Dataset deletion failed')\n expect(error?.message).toContain(message)\n expect(error?.oclif?.exit).toBe(1)\n })\n\n test('handles network errors when deleting dataset', async () => {\n mockDeleteDataset.mockRejectedValue(new Error('Network error'))\n\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME, '--force'], {\n mocks: defaultMocks,\n })\n expect(error?.message).toContain('Dataset deletion failed')\n expect(error?.message).toContain('Network error')\n expect(error?.oclif?.exit).toBe(1)\n })\n\n test('handles API client creation errors', async () => {\n mockDeleteDataset.mockRejectedValue(new Error('Failed to create client'))\n\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME, '--force'], {\n mocks: defaultMocks,\n })\n expect(error?.message).toContain('Dataset deletion failed')\n expect(error?.message).toContain('Failed to create client')\n expect(error?.oclif?.exit).toBe(1)\n })\n\n test('handles user cancellation during confirmation', async () => {\n mockGetProjectById.mockResolvedValue({\n displayName: TEST_PROJECT_NAME,\n id: TEST_PROJECT_ID,\n } as never)\n mockInput.mockRejectedValue(new Error('User cancelled'))\n\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME], {\n mocks: defaultMocks,\n })\n\n expect(error?.message).toBe('User cancelled')\n expect(error?.oclif?.exit).toBe(1)\n })\n\n test('handles project retrieval error', async () => {\n mockGetProjectById.mockRejectedValue(new Error('Project Error'))\n\n const {error} = await testCommand(DeleteDatasetCommand, [TEST_DATASET_NAME], {\n mocks: defaultMocks,\n })\n\n expect(error?.message).toContain('Project retrieval failed: Project Error')\n expect(error?.oclif?.exit).toBe(1)\n })\n})\n"],"names":["runCommand","input","testCommand","afterEach","describe","expect","test","vi","NO_PROJECT_ID","DeleteDatasetCommand","mockDeleteDataset","hoisted","fn","mockGetProjectById","mock","actual","importActual","getProjectCliClient","mockResolvedValue","datasets","delete","projects","getById","TEST_DATASET_NAME","TEST_PROJECT_NAME","TEST_PROJECT_ID","defaultMocks","cliConfig","api","projectId","projectRoot","directory","path","type","token","mockInput","mocked","clearAllMocks","stdout","toMatchInlineSnapshot","undefined","stderr","mocks","toContain","toBe","displayName","id","toHaveBeenCalledWith","message","validate","any","Function","error","commandError","oclif","exit","each","desc","statusCode","deleteError","Error","Object","assign","mockRejectedValue"],"mappings":"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"}
|