import AttributeCollection from "../AttributeCollection";
import AttributeSetModel from "../AttributeSetModel";

describe("attributeSetModel", () => {
  it("should be able to create an empty AttributeSetModel object", () => {
    const attributeset = new AttributeSetModel();

    expect(attributeset).toBeInstanceOf(AttributeSetModel);
    expect(attributeset.key).toBe("");
    expect(attributeset.label).toBeUndefined();
    expect(attributeset.attributeCollection).toBeInstanceOf(
      AttributeCollection,
    );
  });

  it("creates an attribute collection", () => {
    const attributeset = new AttributeSetModel(
      "key",
      { ISBN10: "123456" },
      {
        label: "attributeset",
        attributes: [
          {
            ISBN10: {
              type: "string",
              label: "ISBN10",
              displaysize: 50,
            },
          },
        ],
      },
    );

    expect(attributeset.key).toBe("key");
    expect(attributeset.label).toBe("attributeset");
    expect(attributeset.attributeCollection.size).toBe(1);
    expect(attributeset.attributeCollection.first.readonly).toBe(true);
  });
});
