Merge pull request #58 from djwesty/vutukuri15/57
Fixed issue with extra colors of image input # 57
This commit is contained in:
commit
da695be36d
@ -16,6 +16,8 @@ const ChipDetection = ({
|
||||
Record<string, number>
|
||||
>({});
|
||||
|
||||
const chipColors = ["white", "red", "green", "blue", "black"];
|
||||
|
||||
const requestCameraPermissions = async () => {
|
||||
const cameraPermission = await ImagePicker.requestCameraPermissionsAsync();
|
||||
return cameraPermission.granted;
|
||||
@ -99,9 +101,19 @@ const ChipDetection = ({
|
||||
const cleanJSON = rawContent.replace(/```json|```/g, "").trim();
|
||||
const parsedData: Record<string, number> = JSON.parse(cleanJSON);
|
||||
|
||||
const filteredData = Object.fromEntries(
|
||||
Object.entries(parsedData).filter(([_, count]) => count > 0)
|
||||
);
|
||||
const filteredData = Object.entries(parsedData)
|
||||
.filter(([color]) => chipColors.includes(color))
|
||||
.sort(
|
||||
([colorA], [colorB]) =>
|
||||
chipColors.indexOf(colorA) - chipColors.indexOf(colorB)
|
||||
)
|
||||
.reduce(
|
||||
(acc, [color, count]) => {
|
||||
acc[color] = count;
|
||||
return acc;
|
||||
},
|
||||
{} as Record<string, number>
|
||||
);
|
||||
|
||||
setLastDetectedChips(filteredData);
|
||||
updateChipCount(filteredData);
|
||||
|
@ -40,7 +40,7 @@ describe("ChipDetection", () => {
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
jest.restoreAllMocks(); // Reset all mocks to prevent test contamination
|
||||
jest.restoreAllMocks();
|
||||
});
|
||||
|
||||
it("renders correctly", () => {
|
||||
@ -83,7 +83,11 @@ describe("ChipDetection", () => {
|
||||
fireEvent.press(getByText(/take a photo/i));
|
||||
|
||||
await waitFor(() =>
|
||||
expect(mockUpdateChipCount).toHaveBeenCalledWith({ red: 5, green: 3 })
|
||||
expect(mockUpdateChipCount).toHaveBeenCalledWith({
|
||||
red: 5,
|
||||
green: 3,
|
||||
blue: 0,
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
@ -144,7 +148,7 @@ describe("ChipDetection", () => {
|
||||
choices: [
|
||||
{
|
||||
message: {
|
||||
content: JSON.stringify({ red: 5, green: 3 }),
|
||||
content: JSON.stringify({ red: 5, green: 3, blue: 0 }),
|
||||
},
|
||||
},
|
||||
],
|
||||
@ -163,6 +167,7 @@ describe("ChipDetection", () => {
|
||||
expect(mockUpdateChipCount).toHaveBeenCalledWith({
|
||||
red: 5,
|
||||
green: 3,
|
||||
blue: 0,
|
||||
})
|
||||
);
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user