diff --git a/components/__tests__/ChipDistributionSummary.test.tsx b/components/__tests__/ChipDistributionSummary.test.tsx
index f0ce2cb..d5a8221 100644
--- a/components/__tests__/ChipDistributionSummary.test.tsx
+++ b/components/__tests__/ChipDistributionSummary.test.tsx
@@ -1,5 +1,7 @@
import React from "react";
-import { render } from "@testing-library/react-native";
+import { Alert } from "react-native";
+
+import { fireEvent, render } from "@testing-library/react-native";
import ChipDistributionSummary from "../ChipDistributionSummary";
jest.mock("@expo/vector-icons", () => {
@@ -35,46 +37,23 @@ describe("ChipDistributionSummary Component", () => {
});
});
- test.skip("renders fallback message when no valid distribution", () => {
+ test("renders warning message when needed", async () => {
const { getByText } = render(
);
- expect(getByText("No valid distribution calculated yet.")).toBeTruthy();
- });
+ const warning = getByText("TestIcon");
+ expect(warning).toBeTruthy();
- test.skip("scales down chips if exceeding MAX_CHIPS", () => {
- const playerCount = 2;
- let totalChipsCount = [300, 400, 500, 600, 700];
- const MAX_CHIPS = 500;
- const totalChips = totalChipsCount.reduce((sum, count) => sum + count, 0);
-
- if (totalChips > MAX_CHIPS) {
- const scaleFactor = MAX_CHIPS / totalChips;
- totalChipsCount = totalChipsCount.map((count) =>
- Math.round(count * scaleFactor)
- );
- }
-
- const expectedDistribution = [30, 40, 50, 60, 70]; // Adjust as per actual component calculations
-
- const { getByText } = render(
-
+ jest.spyOn(Alert, "alert");
+ fireEvent.press(warning);
+ expect(Alert.alert).toHaveBeenCalledWith(
+ "Warning",
+ `Be advised that the value of the distributed chips does not equal the buy-in for these inputs.\n\nHowever, results shown are fair to all players`
);
-
- expect(getByText("Distribution & Denomination")).toBeTruthy();
-
- expectedDistribution.forEach((count) => {
- expect(getByText(new RegExp(`^${count}\\s+chips:`, "i"))).toBeTruthy();
- });
});
});
diff --git a/components/__tests__/ChipsSelector.test.tsx b/components/__tests__/ChipsSelector.test.tsx
index a81366d..4bbab86 100644
--- a/components/__tests__/ChipsSelector.test.tsx
+++ b/components/__tests__/ChipsSelector.test.tsx
@@ -3,9 +3,7 @@ import {
userEvent,
render,
screen,
- waitForElementToBeRemoved,
fireEvent,
- act,
} from "@testing-library/react-native";
import ChipsSelector from "@/components/ChipsSelector";
@@ -83,27 +81,15 @@ describe("tests for ChipsSelector", () => {
]);
});
- // skip: There is a jest/DOM issue with the button interaction, despite working correctly in-app. Documented to resolve.
- it.skip("test dec/inc buttons", async () => {
+ it("test dec/inc buttons", async () => {
rend();
-
- const blue = screen.getByText(TOTAL_CHIPS_COUNT[3].toString());
- const black = screen.getByText(TOTAL_CHIPS_COUNT[4].toString());
const decrement = screen.getByRole("button", { name: /-/i });
const increment = screen.getByRole("button", { name: /\+/i });
fireEvent.press(decrement);
- fireEvent.press(decrement);
-
- // Test that elements are removed after fireEvent
- await waitForElementToBeRemoved(() => blue);
- await waitForElementToBeRemoved(() => black);
+ expect(mockSetNumberOfChips).toHaveBeenCalledWith(4);
fireEvent.press(increment);
- fireEvent.press(increment);
-
- // Test that new elements re-appear, correctly
- const blue1 = screen.getByText(TOTAL_CHIPS_COUNT[3].toString());
- const black1 = screen.getByText(TOTAL_CHIPS_COUNT[4].toString());
+ expect(mockSetNumberOfChips).toHaveBeenCalledWith(4);
});
});