import PasswordConfirmConstraint from "../PasswordConfirmConstraint";

describe("passwordConfirmConstraint", () => {
  it("passwordConfirmConstraint checks", () => {
    const constraint = new PasswordConfirmConstraint("12345", "Other password");

    expect(constraint).toBeInstanceOf(PasswordConfirmConstraint);
    expect(constraint.hasValidation()).toBe(true);

    expect(constraint.id).toBe("Constraint.Password.ConfirmMismatch");
    expect(constraint.otherPasswordLabel).toBe("Other password");
    expect(constraint.otherPasswordValue).toBe("12345");
    expect(typeof constraint.defaultMessage).toBe("string");
    expect(constraint.parameters).toStrictEqual({
      other: "Other password",
    });

    expect(constraint.validate("98765")).toBeFalsy();
    expect(constraint.validate("12345")).toBeTruthy();
  });
});
