package com.codebyte.api.common.validation;

import static org.assertj.core.api.Assertions.assertThat;

import org.junit.jupiter.api.Test;

class StrongPasswordValidatorTest {

    private final StrongPasswordValidator validator = new StrongPasswordValidator();

    @Test
    void should_accept_long_uncommon_password() {
        assertThat(validator.isValid("correct horse battery staple", null)).isTrue();
    }

    @Test
    void should_reject_null() {
        assertThat(validator.isValid(null, null)).isFalse();
    }

    @Test
    void should_reject_too_short() {
        assertThat(validator.isValid("short123", null)).isFalse();
    }

    @Test
    void should_reject_common_password_regardless_of_case() {
        assertThat(validator.isValid("Password123", null)).isFalse();
    }
}
