import FileExtensionConstraint from "../FileExtensionConstraint";

describe("fileExtensionConstraint", () => {
  it("fileExtensionConstraint checks", () => {
    const constraint = new FileExtensionConstraint([
      {
        extensions: ["pdf", "epub"],
        mimeTypes: ["application/pdf", "application/epub+zip"],
      },
    ]);

    expect(constraint.hasValidation()).toBe(false);
    expect(constraint).toBeInstanceOf(FileExtensionConstraint);
    expect(constraint.id).toBe("Constraint.File.InvalidExtension");
    expect(constraint.extensions).toBe("pdf, epub");
    expect(constraint.validate()).toBeTruthy();
    expect(typeof constraint.defaultMessage).toBe("string");
    expect(constraint.parameters).toStrictEqual({ extensions: "pdf, epub" });
  });
});
