diff --git a/hackathon_site/dashboard/frontend/src/components/teamDetail/SimpleOrderTables/SimpleOrderTables.test.tsx b/hackathon_site/dashboard/frontend/src/components/teamDetail/SimpleOrderTables/SimpleOrderTables.test.tsx index 9091cdaae..9f081e688 100644 --- a/hackathon_site/dashboard/frontend/src/components/teamDetail/SimpleOrderTables/SimpleOrderTables.test.tsx +++ b/hackathon_site/dashboard/frontend/src/components/teamDetail/SimpleOrderTables/SimpleOrderTables.test.tsx @@ -12,6 +12,7 @@ import { } from "./SimpleOrderTables"; import { waitFor } from "@testing-library/react"; import { RootStore } from "slices/store"; +import { PendingTables } from "../../dashboard/ItemTable/ItemTable"; const mockOrdersInTable = mockPendingOrdersInTable.concat(mockCheckedOutOrdersInTable); @@ -172,6 +173,28 @@ describe("", () => { }); } }); + + it("Displays pending orders from oldest to newest on the admin side", () => { + const { getAllByTestId } = render(, { + store, + }); + const orderElements = getAllByTestId(/admin-simple-pending-order-\d+/); + const orders = orderElements.map((element) => { + const updatedTime = element.getAttribute("data-updated-time"); + return { updatedTime }; + }); + let isSorted = true; + for (let i = 0; i < orders.length - 1; i++) { + const currentDate = orders[i]; + const previousDate = orders[i + 1]; + + if (currentDate > previousDate) { + isSorted = false; + break; + } + } + expect(isSorted).toBe(true); + }); }); describe("", () => { @@ -201,4 +224,24 @@ describe("", () => { expect(queryByText(`Order #${id}`)).toBeNull(); }); }); + + it("Displays returned orders from newest to oldest on the admin side", () => { + const { getAllByTestId } = render(, { store }); + const orderElements = getAllByTestId(/returned-order-table-\d+/); + const orders = orderElements.map((element) => { + const updatedTime = element.getAttribute("data-updated-time"); + return { updatedTime }; + }); + let isSorted = true; + for (let i = 0; i < orders.length - 1; i++) { + const currentDate = orders[i]; + const previousDate = orders[i + 1]; + + if (currentDate > previousDate) { + isSorted = false; + break; + } + } + expect(isSorted).toBe(true); + }); }); diff --git a/hackathon_site/dashboard/frontend/src/components/teamDetail/SimpleOrderTables/SimpleOrderTables.tsx b/hackathon_site/dashboard/frontend/src/components/teamDetail/SimpleOrderTables/SimpleOrderTables.tsx index 924566eca..23aa60a08 100644 --- a/hackathon_site/dashboard/frontend/src/components/teamDetail/SimpleOrderTables/SimpleOrderTables.tsx +++ b/hackathon_site/dashboard/frontend/src/components/teamDetail/SimpleOrderTables/SimpleOrderTables.tsx @@ -167,7 +167,7 @@ export const SimplePendingOrderFulfillmentTable = () => { ); }); - orders.splice(0, orders.length, ...ready_orders, ...submitted_orders); + orders.splice(0, orders.length, ...submitted_orders, ...ready_orders); const [isVisible, setVisibility] = useState(true); const toggleVisibility = () => setVisibility(!isVisible); @@ -211,6 +211,7 @@ export const SimplePendingOrderFulfillmentTable = () => { >
{ }); } }); + it("Displays checked out orders from most recent to oldest order", async () => { + const { getAllByTestId, container } = render(, { + store, + }); + let orderElements = getAllByTestId(/table-\d+-\d+/); + const orders = orderElements.map((element) => { + const updatedTime = element.getAttribute("data-updated-time"); + return { updatedTime }; + }); + let isSorted = true; + for (let i = 0; i < orders.length - 1; i++) { + const currentDate = orders[i]; + const previousDate = orders[i + 1]; + + if (currentDate < previousDate) { + isSorted = false; + break; + } + } + expect(isSorted).toBe(true); + }); });