From 5aa75bc12dd8c4f5a83eb1a5e9cd5985047115e4 Mon Sep 17 00:00:00 2001 From: Sugui Date: Sun, 3 Mar 2024 12:08:12 +0100 Subject: [PATCH] Added gelbooru image endpoint and testing --- bun.lockb | Bin 77513 -> 113083 bytes bunfig.toml | 2 ++ happydom.ts | 3 +++ package.json | 4 ++++ src/App.tsx | 4 ++-- .../ImageModerator/ImageModerator.tsx | 7 ++++--- test/ImageModerator.test.tsx | 8 ++++++++ 7 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 bunfig.toml create mode 100644 happydom.ts create mode 100644 test/ImageModerator.test.tsx diff --git a/bun.lockb b/bun.lockb index cbefd49eaf93c4a927d502ec61de3dbaa9458f46..f55fb2bbf280f040af077e76fb2e12b37ae2e8e3 100755 GIT binary patch delta 33548 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 delta 11086 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 - + ) } -export default App +export default App \ No newline at end of file diff --git a/src/components/ImageModerator/ImageModerator.tsx b/src/components/ImageModerator/ImageModerator.tsx index f8d80c3..21be10c 100644 --- a/src/components/ImageModerator/ImageModerator.tsx +++ b/src/components/ImageModerator/ImageModerator.tsx @@ -1,13 +1,14 @@ import Button from "../Button/Button"; export interface ImageModeratorProps { - url: string; + apiEndpoint: string; + imageUrlProperty: string; } -export default function ImageModerator(props: ImageModeratorProps) { +export default function ImageModerator({apiEndpoint, imageUrlProperty}: ImageModeratorProps) { return
- +
diff --git a/test/ImageModerator.test.tsx b/test/ImageModerator.test.tsx new file mode 100644 index 0000000..c8badd0 --- /dev/null +++ b/test/ImageModerator.test.tsx @@ -0,0 +1,8 @@ +import React from "react"; +import { render } from "@testing-library/react"; +import { describe, it } from "bun:test"; +import ImageModerator from '../src/components/ImageModerator/ImageModerator'; + +it("should render without crashing", () => { + render(); +}); \ No newline at end of file