import * as React from "react";
import { render, screen, fireEvent, cleanup } from "@testing-library/react";

describe("<Dashboard /> Rendering", () => {
  test.skip(`Should show a collection of widgets on the dashboard.  Amount should be equal to the number of objects in the widgets array found in the prop`, () => {});

  test.skip(`Should show widgets on a grid laid out according to the settings found in the layout prop`, () => {});

  test.skip(`Should show in "edit" mode when inEditMode prop is true`, () => {});

  test.skip(`Should show a custom style (provided by editModeStyle prop) on widgets when inEditMode prop is true`, () => {});

  test.skip(`Should show a custom component (provided by the widgetComponent prop) instead the default widget container when one is provided`, () => {});
});

describe("<Dashboard /> Actions", () => {
  test.skip(`Should be able to drag a widget from one column to another when in edit mode`, () => {});

  test.skip(`Should show a custom style (provided by the droppableStyle prop) in available dropzones while dragging over`, () => {});
});

describe("<Dashboard /> Events", () => {
  test.skip(`Should trigger the onCreate() event when a new widget has been added to the dashboard`, () => {});

  test.skip(`Should trigger the onDelete() event when a widget is removed`, () => {});

  test.skip(`Should trigger the onMove() event when a widget is moved`, () => {});
});

describe("<Dashboard /> Plugins", () => {
  test.skip(`Should trigger the "onWidgetCreate" plugin hooks when a new widget has been added to the dashboard`, () => {});

  test.skip(`Should trigger the "onWidgetDelete" plugin hooks when a widget is removed`, () => {});

  test.skip(`Should trigger the "onWidgetMove" plugin hooks when a widget is moved`, () => {});

  test.skip(`Should trigger the "onWidgetRender" plugin hooks when widget is rendered`, () => {});

  test.skip(`Should trigger the "onDashboardRender" plugin hooks when dashboard is rendered`, () => {});
});
