Skip to content

Commit

Permalink
fix: updated prompts based on pr feedback
Browse files Browse the repository at this point in the history
Co-authored-by: Thomas Lane <163203257+tlane25@users.noreply.github.com>
  • Loading branch information
wconrad265 and tlane25 committed Oct 24, 2024
1 parent 8c65226 commit 0ef4b7b
Show file tree
Hide file tree
Showing 12 changed files with 88 additions and 111 deletions.
2 changes: 0 additions & 2 deletions src/commands/env/env-set.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import process from 'process'

import { OptionValues } from 'commander'

import { chalk, error, log, logJson } from '../../utils/command-helpers.js'
Expand Down
9 changes: 3 additions & 6 deletions src/utils/prompts/blob-delete-prompts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,11 @@ import { confirmPrompt } from './confirm-prompt.js'
import { destructiveCommandMessages } from './prompt-messages.js'

export const promptBlobDelete = async (key: string, storeName: string): Promise<void> => {
const { overwriteNoticeMessage } = destructiveCommandMessages
const { generateWarningMessage, overwriteConfirmationMessage } = destructiveCommandMessages.blobDelete

const warningMessage = generateWarningMessage(key, storeName)
const warningMessage = destructiveCommandMessages.blobDelete.generateWarning(key, storeName)

log()
log(warningMessage)
log()
log(overwriteNoticeMessage)
await confirmPrompt(overwriteConfirmationMessage)
log(destructiveCommandMessages.overwriteNotice)
await confirmPrompt(destructiveCommandMessages.blobDelete.overwriteConfirmation)
}
9 changes: 3 additions & 6 deletions src/utils/prompts/blob-set-prompt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,11 @@ import { confirmPrompt } from './confirm-prompt.js'
import { destructiveCommandMessages } from './prompt-messages.js'

export const promptBlobSetOverwrite = async (key: string, storeName: string): Promise<void> => {
const { overwriteNoticeMessage } = destructiveCommandMessages
const { generateWarningMessage, overwriteConfirmationMessage } = destructiveCommandMessages.blobSet

const warningMessage = generateWarningMessage(key, storeName)
const warningMessage = destructiveCommandMessages.blobDelete.generateWarning(key, storeName)

log()
log(warningMessage)
log()
log(overwriteNoticeMessage)
await confirmPrompt(overwriteConfirmationMessage)
log(destructiveCommandMessages.overwriteNotice)
await confirmPrompt(destructiveCommandMessages.blobDelete.overwriteConfirmation)
}
12 changes: 5 additions & 7 deletions src/utils/prompts/env-clone-prompt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,21 @@ export const generateEnvVarsList = (envVarsToDelete: EnvVar[]) => envVarsToDelet
* @returns {Promise<void>} A promise that resolves when the user has confirmed the overwriting of the variables.
*/
export async function promptEnvCloneOverwrite(siteId: string, existingEnvVars: EnvVar[]): Promise<void> {
const { overwriteNoticeMessage } = destructiveCommandMessages
const { generateWarningMessage, noticeEnvVarsMessage, overwriteConfirmationMessage } =
destructiveCommandMessages.envClone
const { generateWarning } = destructiveCommandMessages.envClone

const existingEnvVarKeys = generateEnvVarsList(existingEnvVars)
const warningMessage = generateWarningMessage(siteId)
const warningMessage = generateWarning(siteId)

log()
log(warningMessage)
log()
log(noticeEnvVarsMessage)
log(destructiveCommandMessages.envClone.noticeEnvVars)
log()
existingEnvVarKeys.forEach((envVar) => {
log(envVar)
})
log()
log(overwriteNoticeMessage)
log(destructiveCommandMessages.overwriteNotice)

await confirmPrompt(overwriteConfirmationMessage)
await confirmPrompt(destructiveCommandMessages.envClone.overwriteConfirmation)
}
17 changes: 4 additions & 13 deletions src/utils/prompts/env-set-prompts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,12 @@ import { log } from '../command-helpers.js'
import { confirmPrompt } from './confirm-prompt.js'
import { destructiveCommandMessages } from './prompt-messages.js'

/**
* Prompts the user to confirm overwriting an existing environment variable.
*
* @param {string} existingKey - The key of the existing environment variable.
* @returns {Promise<void>} A promise that resolves when the user confirms overwriting the variable.
*/
export const promptOverwriteEnvVariable = async (existingKey: string): Promise<void> => {
const { overwriteNoticeMessage } = destructiveCommandMessages
const { generateWarningMessage, overwriteConfirmationMessage } = destructiveCommandMessages.envSet

const warningMessage = generateWarningMessage(existingKey)
export const promptOverwriteEnvVariable = async (key: string): Promise<void> => {
const warningMessage = destructiveCommandMessages.envSet.generateWarning(key)

log()
log(warningMessage)
log()
log(overwriteNoticeMessage)
await confirmPrompt(overwriteConfirmationMessage)
log(destructiveCommandMessages.overwriteNotice)
await confirmPrompt(destructiveCommandMessages.envSet.overwriteConfirmation)
}
9 changes: 4 additions & 5 deletions src/utils/prompts/env-unset-prompts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,12 @@ import { destructiveCommandMessages } from './prompt-messages.js'
* @returns {Promise<void>} A promise that resolves when the user has confirmed overwriting the variable
*/
export const promptOverwriteEnvVariable = async (existingKey: string): Promise<void> => {
const { overwriteNoticeMessage } = destructiveCommandMessages
const { generateWarningMessage, overwriteConfirmationMessage } = destructiveCommandMessages.envUnset
const { generateWarning } = destructiveCommandMessages.envUnset

const warningMessage = generateWarningMessage(existingKey)
const warningMessage = generateWarning(existingKey)

log(warningMessage)
log()
log(overwriteNoticeMessage)
await confirmPrompt(overwriteConfirmationMessage)
log(destructiveCommandMessages.overwriteNotice)
await confirmPrompt(destructiveCommandMessages.envUnset.overwriteConfirmation)
}
26 changes: 12 additions & 14 deletions src/utils/prompts/prompt-messages.ts
Original file line number Diff line number Diff line change
@@ -1,48 +1,46 @@
import { chalk } from '../command-helpers.js'

export const destructiveCommandMessages = {
overwriteNoticeMessage: `${chalk.yellowBright(
'Notice',
)}: To overwrite without this warning, you can use the --force flag.`,
overwriteNotice: `${chalk.yellowBright('Notice')}: To overwrite without this warning, you can use the --force flag.`,

blobSet: {
generateWarningMessage: (key: string, storeName: string) =>
generateWarning: (key: string, storeName: string) =>
`${chalk.redBright('Warning')}: The blob key ${chalk.cyan(key)} already exists in store ${chalk.cyan(
storeName,
)}!`,
overwriteConfirmationMessage: 'Do you want to proceed with overwriting this blob key existing value?',
overwriteConfirmation: 'Do you want to proceed with overwriting this blob key existing value?',
},

blobDelete: {
generateWarningMessage: (key: string, storeName: string) =>
generateWarning: (key: string, storeName: string) =>
`${chalk.redBright('Warning')}: The following blob key ${chalk.cyan(key)} will be deleted from store ${chalk.cyan(
storeName,
)}!`,
overwriteConfirmationMessage: 'Do you want to proceed with deleting the value at this key?',
overwriteConfirmation: 'Do you want to proceed with deleting the value at this key?',
},

envSet: {
generateWarningMessage: (variableName: string) =>
generateWarning: (variableName: string) =>
`${chalk.redBright('Warning')}: The environment variable ${chalk.bgBlueBright(variableName)} already exists!`,
overwriteConfirmationMessage: 'Do you want to overwrite it?',
overwriteConfirmation: 'Do you want to overwrite it?',
},

envUnset: {
generateWarningMessage: (variableName: string) =>
generateWarning: (variableName: string) =>
`${chalk.redBright('Warning')}: The environment variable ${chalk.bgBlueBright(
variableName,
)} will be removed from all contexts!`,
overwriteConfirmationMessage: 'Do you want to remove it?',
overwriteConfirmation: 'Do you want to remove it?',
},

envClone: {
generateWarningMessage: (siteId: string) =>
generateWarning: (siteId: string) =>
`${chalk.redBright(
'Warning',
)}: The following environment variables are already set on the site with ID ${chalk.bgBlueBright(
siteId,
)}. They will be overwritten!`,
noticeEnvVarsMessage: `${chalk.yellowBright('Notice')}: The following variables will be overwritten:`,
overwriteConfirmationMessage: 'The environment variables already exist. Do you want to overwrite them?',
noticeEnvVars: `${chalk.yellowBright('Notice')}: The following variables will be overwritten:`,
overwriteConfirmation: 'The environment variables already exist. Do you want to overwrite them?',
},
}
22 changes: 11 additions & 11 deletions tests/integration/commands/blobs/blobs-delete.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ describe('blob:delete command', () => {
const storeName = 'my-store'
const key = 'my-key'

const { overwriteNoticeMessage } = destructiveCommandMessages
const { generateWarningMessage, overwriteConfirmationMessage } = destructiveCommandMessages.blobDelete
const { overwriteNotice } = destructiveCommandMessages
const { generateWarning, overwriteConfirmation } = destructiveCommandMessages.blobDelete

const warningMessage = generateWarningMessage(key, storeName)
const warningMessage = generateWarning(key, storeName)

const successMessage = `${chalk.greenBright('Success')}: Blob ${chalk.yellow(key)} deleted from store ${chalk.yellow(
storeName,
Expand Down Expand Up @@ -89,12 +89,12 @@ describe('blob:delete command', () => {
expect(promptSpy).toHaveBeenCalledWith({
type: 'confirm',
name: 'confirm',
message: expect.stringContaining(overwriteConfirmationMessage),
message: expect.stringContaining(overwriteConfirmation),
default: false,
})

expect(log).toHaveBeenCalledWith(warningMessage)
expect(log).toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).toHaveBeenCalledWith(overwriteNotice)
expect(log).toHaveBeenCalledWith(successMessage)
})
})
Expand Down Expand Up @@ -124,12 +124,12 @@ describe('blob:delete command', () => {
expect(promptSpy).toHaveBeenCalledWith({
type: 'confirm',
name: 'confirm',
message: expect.stringContaining(overwriteConfirmationMessage),
message: expect.stringContaining(overwriteConfirmation),
default: false,
})

expect(log).toHaveBeenCalledWith(warningMessage)
expect(log).toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).toHaveBeenCalledWith(overwriteNotice)
expect(log).not.toHaveBeenCalledWith(successMessage)
})
})
Expand All @@ -154,7 +154,7 @@ describe('blob:delete command', () => {
expect(promptSpy).not.toHaveBeenCalled()

expect(log).not.toHaveBeenCalledWith(warningMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNotice)
expect(log).toHaveBeenCalledWith(successMessage)
})
})
Expand Down Expand Up @@ -188,7 +188,7 @@ describe('blob:delete command', () => {
expect(promptSpy).not.toHaveBeenCalled()

expect(log).not.toHaveBeenCalledWith(warningMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNotice)
expect(log).not.toHaveBeenCalledWith(successMessage)
})
} catch (error) {
Expand Down Expand Up @@ -229,7 +229,7 @@ describe('blob:delete command', () => {
expect(promptSpy).not.toHaveBeenCalled()

expect(log).not.toHaveBeenCalledWith(warningMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNotice)
expect(log).toHaveBeenCalledWith(successMessage)
})
})
Expand All @@ -255,7 +255,7 @@ describe('blob:delete command', () => {
expect(promptSpy).not.toHaveBeenCalled()

expect(log).not.toHaveBeenCalledWith(warningMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNotice)
expect(log).toHaveBeenCalledWith(successMessage)
})
})
Expand Down
24 changes: 12 additions & 12 deletions tests/integration/commands/blobs/blobs-set.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ describe('blob:set command', () => {
const value = 'my-value'
const newValue = 'my-new-value'

const { overwriteNoticeMessage } = destructiveCommandMessages
const { generateWarningMessage, overwriteConfirmationMessage } = destructiveCommandMessages.blobSet
const { overwriteNotice } = destructiveCommandMessages
const { generateWarning, overwriteConfirmation } = destructiveCommandMessages.blobSet

const warningMessage = generateWarningMessage(key, storeName)
const warningMessage = generateWarning(key, storeName)

const successMessage = `${chalk.greenBright('Success')}: Blob ${chalk.yellow(key)} set in store ${chalk.yellow(
storeName,
Expand Down Expand Up @@ -89,7 +89,7 @@ describe('blob:set command', () => {
expect(promptSpy).not.toHaveBeenCalled()
expect(log).toHaveBeenCalledWith(successMessage)
expect(log).not.toHaveBeenCalledWith(warningMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNotice)
})
})

Expand All @@ -116,13 +116,13 @@ describe('blob:set command', () => {
expect(promptSpy).toHaveBeenCalledWith({
type: 'confirm',
name: 'confirm',
message: expect.stringContaining(overwriteConfirmationMessage),
message: expect.stringContaining(overwriteConfirmation),
default: false,
})

expect(log).toHaveBeenCalledWith(successMessage)
expect(log).toHaveBeenCalledWith(warningMessage)
expect(log).toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).toHaveBeenCalledWith(overwriteNotice)
})
})

Expand Down Expand Up @@ -154,12 +154,12 @@ describe('blob:set command', () => {
expect(promptSpy).toHaveBeenCalledWith({
type: 'confirm',
name: 'confirm',
message: expect.stringContaining(overwriteConfirmationMessage),
message: expect.stringContaining(overwriteConfirmation),
default: false,
})

expect(log).toHaveBeenCalledWith(warningMessage)
expect(log).toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).toHaveBeenCalledWith(overwriteNotice)
expect(log).not.toHaveBeenCalledWith(successMessage)
})
})
Expand Down Expand Up @@ -187,7 +187,7 @@ describe('blob:set command', () => {
expect(promptSpy).not.toHaveBeenCalled()

expect(log).not.toHaveBeenCalledWith(warningMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNotice)
expect(log).toHaveBeenCalledWith(successMessage)
})
})
Expand Down Expand Up @@ -216,7 +216,7 @@ describe('blob:set command', () => {
expect(promptSpy).not.toHaveBeenCalled()

expect(log).not.toHaveBeenCalledWith(warningMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNotice)
expect(log).not.toHaveBeenCalledWith(successMessage)
})
})
Expand Down Expand Up @@ -256,7 +256,7 @@ describe('blob:set command', () => {
expect(promptSpy).not.toHaveBeenCalled()

expect(log).not.toHaveBeenCalledWith(warningMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNotice)
expect(log).toHaveBeenCalledWith(successMessage)
})
})
Expand Down Expand Up @@ -285,7 +285,7 @@ describe('blob:set command', () => {
expect(promptSpy).not.toHaveBeenCalled()

expect(log).not.toHaveBeenCalledWith(warningMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNoticeMessage)
expect(log).not.toHaveBeenCalledWith(overwriteNotice)
expect(log).toHaveBeenCalledWith(successMessage)
})
})
Expand Down
Loading

0 comments on commit 0ef4b7b

Please sign in to comment.