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

describe("Rendering >", () => {
  test.todo(`Should render in the dom`);

  test.skip(`Should render a different component for each type provided in the prop`, () => {});

  test.skip(`Should render in the location provided in the location prop`, () => {});

  test.todo(
    `Should render a title in the dom that matches the title present in the title prop`
  );

  test.todo(
    `Should render the same amount of tabs as the number of items in the tabs prop array`
  );

  test.todo(
    `Should render a caption for each tab as defined by the appropriate tab in the tabs prop array`
  );

  test.todo(
    `Should render the provided component view for each tab as defined by the appropriate tab in the tabs prop array`
  );

  test.todo(
    `Should show the default tab as defined by the tab that has the default property in the specific tab in the tab props array`
  );

  test.skip(`Should not render any tab controls when the tabsAreVisible prop is false.  Should instead just show the default tab component`, () => {});

  test.todo(
    `Should render whatever children components are provided in the props`
  );
});

describe("Events >", () => {
  test.skip(`Should trigger the onChange() event when a change occurs in the settings for that object`, () => {});

  test.skip(`Should trigger the onClose() event when the property window is exiting`, () => {});
});

describe("Methods >", () => {
  test.todo(
    `Should switch the tab views when the switchTab() method is called`
  );

  test.todo(
    `Should close the property window completely when the closeWindow() method is called`
  );
});

describe("Hooks >", () => {
  test.skip(`Should trigger the _onPropertiesRender_ plugin hook when the Properties component is being rendered`, () => {});

  test.skip(`Should trigger the _onTabsList_ plugin hook when the tabs list is being generated`, () => {});

  test.skip(`Should trigger the _onPropertiesWindowClose_ plugin hook when the properties window is being closed`, () => {});
});
