Increase limits

This commit is contained in:
Adria Navarro 2024-01-02 16:38:58 +01:00
parent 59fba524bc
commit 780a0ee687
2 changed files with 21 additions and 9 deletions

View File

@ -1,20 +1,20 @@
const MIN_LENGTH = 8 export const PASSWORD_MIN_LENGTH = 8
const MAX_LENGTH = 100 export const PASSWORD_MAX_LENGTH = 512
export function validatePassword( export function validatePassword(
password: string password: string
): { valid: true } | { valid: false; error: string } { ): { valid: true } | { valid: false; error: string } {
if (!password || password.length < MIN_LENGTH) { if (!password || password.length < PASSWORD_MIN_LENGTH) {
return { return {
valid: false, valid: false,
error: "Password invalid. Minimum eight characters.", error: "Password invalid. Minimum eight characters.",
} }
} }
if (password.length > MAX_LENGTH) { if (password.length > PASSWORD_MAX_LENGTH) {
return { return {
valid: false, valid: false,
error: "Password invalid. Maximum hundred characters.", error: `Password invalid. Maximum ${PASSWORD_MAX_LENGTH} characters.`,
} }
} }

View File

@ -1,5 +1,5 @@
import { generator } from "../../../tests" import { generator } from "../../../tests"
import { validatePassword } from "../auth" import { PASSWORD_MAX_LENGTH, validatePassword } from "../auth"
describe("auth", () => { describe("auth", () => {
describe("validatePassword", () => { describe("validatePassword", () => {
@ -19,12 +19,24 @@ describe("auth", () => {
}) })
it.each([ it.each([
generator.word({ length: 101 }), generator.word({ length: PASSWORD_MAX_LENGTH }),
generator.paragraph().substring(0, 101), generator.paragraph().substring(0, PASSWORD_MAX_LENGTH),
])(
`can use passwords up to ${PASSWORD_MAX_LENGTH} characters in length`,
password => {
expect(validatePassword(password as string)).toEqual({
valid: true,
})
}
)
it.each([
generator.word({ length: PASSWORD_MAX_LENGTH + 1 }),
generator.paragraph().substring(0, PASSWORD_MAX_LENGTH + 1),
])("limit password length", password => { ])("limit password length", password => {
expect(validatePassword(password as string)).toEqual({ expect(validatePassword(password as string)).toEqual({
valid: false, valid: false,
error: "Password invalid. Maximum hundred characters.", error: "Password invalid. Maximum 512 characters.",
}) })
}) })
}) })