diff --git a/src/m365/spo/commands/user/user-get.spec.ts b/src/m365/spo/commands/user/user-get.spec.ts index 45970212ec6..345c4a3974c 100644 --- a/src/m365/spo/commands/user/user-get.spec.ts +++ b/src/m365/spo/commands/user/user-get.spec.ts @@ -448,6 +448,16 @@ describe(commands.USER_GET, () => { assert.notStrictEqual(actual, true); }); + it('fails validation if id is a negative number', async () => { + const actual = await command.validate({ options: { webUrl: validWebUrl, id: -1 } }, commandInfo); + assert.notStrictEqual(actual, true); + }); + + it('fails validation if id is a float number', async () => { + const actual = await command.validate({ options: { webUrl: validWebUrl, id: 1.5 } }, commandInfo); + assert.notStrictEqual(actual, true); + }); + it('fails validation if userName is not a valid user principal name', async () => { const actual = await command.validate({ options: { webUrl: validWebUrl, userName: 'invalid' } }, commandInfo); assert.notStrictEqual(actual, true); diff --git a/src/m365/spo/commands/user/user-get.ts b/src/m365/spo/commands/user/user-get.ts index b1787fe388a..6a20c6176ab 100644 --- a/src/m365/spo/commands/user/user-get.ts +++ b/src/m365/spo/commands/user/user-get.ts @@ -99,15 +99,14 @@ class SpoUserGetCommand extends SpoCommand { } #initTypes(): void { - this.types.string.push('webUrl', 'id', 'email', 'loginName', 'userName', 'entraGroupId', 'entraGroupName'); + this.types.string.push('webUrl', 'email', 'loginName', 'userName', 'entraGroupId', 'entraGroupName'); } #initValidators(): void { this.validators.push( async (args: CommandArgs) => { - if (args.options.id && - typeof args.options.id !== 'number') { - return `Specified id ${args.options.id} is not a number`; + if (args.options.id && !validation.isValidPositiveInteger(args.options.id)) { + return `Specified id ${args.options.id} is not a valid number.`; } if (args.options.entraGroupId && !validation.isValidGuid(args.options.entraGroupId)) {