import ListItemCollection from "../ListItemCollection";

import caselist from "../__mock__/caselist";

describe("listItemCollection spec", () => {
  it("should be able to create an empty collection", () => {
    const collection = new ListItemCollection();

    expect(collection).toBeInstanceOf(ListItemCollection);
    expect(collection.additionalDetailRoutePath).toBe("__NON_EXISTING_ROUTE__");
  });

  it("can create a ListItemCollection from list items", () => {
    const collection = ListItemCollection.createFromList(caselist);
    expect(collection).toBeInstanceOf(ListItemCollection);

    expect(collection.additionalDetailRoutePath).toBe(
      "(/books/books/34/contributors|/books/books/34/publishedbypublishinghouse|/books/books/35/contributors|/books/books/35/publishedbypublishinghouse|/books/books/36/contributors|/books/books/36/publishedbypublishinghouse|/books/books/37/contributors|/books/books/37/publishedbypublishinghouse|/books/books/38/contributors|/books/books/38/publishedbypublishinghouse|/books/books/39/contributors|/books/books/39/publishedbypublishinghouse|/books/books/42/contributors|/books/books/42/publishedbypublishinghouse|/books/books/45/contributors|/books/books/45/publishedbypublishinghouse|/books/books/46/contributors|/books/books/46/publishedbypublishinghouse|/books/books/47/contributors|/books/books/47/publishedbypublishinghouse)",
    );
    expect(collection.actionCollection).toHaveLength(42);
  });
});
