import React, { useState } from "react"; import { render, screen } from "../utilities/test-utils"; import { Draggable, DraggableProvider, SelectableList, List, ListItem, Card, } from "playbook-ui"; const testId = "draggable"; const data = [ { id: "1", text: "Task 1", }, { id: "2", text: "Task 2", }, { id: "3", text: "Task 3", }, { id: "4", text: "Task 4", }, ]; const DefaultDraggableKit = () => { const [initialState, setInitialState] = useState(data); return ( setInitialState(items)} > {initialState.map(({ id, text }) => ( ))} ); }; const DraggableKitWithList = () => { const [initialState, setInitialState] = useState(data); return (
setInitialState(items)} > {initialState.map(({ id, text }) => ( {text} ))}
); }; const DraggableKitWithSelectableList = () => { const [initialState, setInitialState] = useState(data); return (
setInitialState(items)} > {initialState.map(({ id, text }) => ( ))}
); }; const DraggableKitWithCard = () => { const [initialState, setInitialState] = useState(data); return (
setInitialState(items)} > {initialState.map(({ id, text }) => ( {text} ))}
); }; test("generated default kit and classname", () => { render(); const kit = screen.getByTestId(testId); expect(kit).toBeInTheDocument(); expect(kit).toHaveClass("pb_draggable"); }); test("generated Draggable Container", () => { render(); const kit = screen.getByTestId(testId); const container = kit.querySelector(".pb_draggable_container"); expect(container).toBeInTheDocument(); }); test("generated Draggable Item", () => { render(); const kit = screen.getByTestId(testId); const item = kit.querySelector(".pb_draggable_item"); expect(item).toBeInTheDocument(); }); test("Attached draggable HTML attributes", () => { render(); const kit = screen.getByTestId(testId); const item = kit.querySelector(".pb_draggable_item"); expect(item).toHaveAttribute("draggable"); }); test("generated dragHandle with List", () => { render(); const kit = screen.getByTestId(testId); const list = kit.querySelector(".pb_list_kit"); expect(list).toBeInTheDocument(); const dragHandle = list.querySelector(".fa-grip-dots-vertical"); expect(dragHandle).toBeInTheDocument(); }); test("generated dragHandle with SelectableList", () => { render(); const kit = screen.getByTestId(testId); const selectabellist = kit.querySelector(".pb_selectable_list_kit"); expect(selectabellist).toBeInTheDocument(); const dragHandle = selectabellist.querySelector(".fa-grip-dots-vertical"); expect(dragHandle).toBeInTheDocument(); }); test("generated dragHandle with Card", () => { render(); const kit = screen.getByTestId(testId); const card = kit.querySelector(".pb_card_kit_deselected_border_radius_md"); expect(card).toBeInTheDocument(); const dragHandle = card.querySelector(".fa-grip-dots-vertical"); expect(dragHandle).toBeInTheDocument(); });