aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend/app/components/GolfPlayApps/GolfPlayAppGaming.test.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/app/components/GolfPlayApps/GolfPlayAppGaming.test.tsx')
-rw-r--r--frontend/app/components/GolfPlayApps/GolfPlayAppGaming.test.tsx168
1 files changed, 84 insertions, 84 deletions
diff --git a/frontend/app/components/GolfPlayApps/GolfPlayAppGaming.test.tsx b/frontend/app/components/GolfPlayApps/GolfPlayAppGaming.test.tsx
index 2d51d66..ae5381b 100644
--- a/frontend/app/components/GolfPlayApps/GolfPlayAppGaming.test.tsx
+++ b/frontend/app/components/GolfPlayApps/GolfPlayAppGaming.test.tsx
@@ -5,103 +5,103 @@ import { cleanup, render, screen } from "@testing-library/react";
import { createStore, Provider } from "jotai";
import { afterEach, describe, expect, test } from "vitest";
import {
- setCurrentTimestampAtom,
- setDurationSecondsAtom,
- setGameStartedAtAtom,
- setLatestGameStateAtom,
+ setCurrentTimestampAtom,
+ setDurationSecondsAtom,
+ setGameStartedAtAtom,
+ setLatestGameStateAtom,
} from "../../states/play";
import GolfPlayAppGaming from "./GolfPlayAppGaming";
afterEach(() => {
- cleanup();
+ cleanup();
});
function createTestStore() {
- const store = createStore();
- const now = Math.floor(Date.now() / 1000);
- store.set(setCurrentTimestampAtom);
- store.set(setDurationSecondsAtom, 600);
- store.set(setGameStartedAtAtom, now - 60);
- store.set(setLatestGameStateAtom, {
- status: "none",
- code: "",
- score: null,
- best_score_submitted_at: null,
- });
- return store;
+ const store = createStore();
+ const now = Math.floor(Date.now() / 1000);
+ store.set(setCurrentTimestampAtom);
+ store.set(setDurationSecondsAtom, 600);
+ store.set(setGameStartedAtAtom, now - 60);
+ store.set(setLatestGameStateAtom, {
+ status: "none",
+ code: "",
+ score: null,
+ best_score_submitted_at: null,
+ });
+ return store;
}
const defaultProps = {
- gameDisplayName: "Test Game",
- playerProfile: {
- id: 1,
- displayName: "Test Player",
- iconPath: null,
- },
- problemTitle: "Test Problem",
- problemDescription: "Description",
- problemLanguage: "php" as const,
- sampleCode: "<?php echo 1;",
- initialCode: "",
- onCodeChange: () => {},
- onCodeSubmit: () => {},
- isFinished: false,
+ gameDisplayName: "Test Game",
+ playerProfile: {
+ id: 1,
+ displayName: "Test Player",
+ iconPath: null,
+ },
+ problemTitle: "Test Problem",
+ problemDescription: "Description",
+ problemLanguage: "php" as const,
+ sampleCode: "<?php echo 1;",
+ initialCode: "",
+ onCodeChange: () => {},
+ onCodeSubmit: () => {},
+ isFinished: false,
};
describe("GolfPlayAppGaming submission history", () => {
- test("shows placeholder row when no submissions", () => {
- const store = createTestStore();
- render(
- <Provider store={store}>
- <GolfPlayAppGaming {...defaultProps} submissions={[]} />
- </Provider>,
- );
- expect(screen.getByText("提出待ち")).toBeDefined();
- const dashes = screen.getAllByText("-");
- expect(dashes.length).toBe(3);
- });
+ test("shows placeholder row when no submissions", () => {
+ const store = createTestStore();
+ render(
+ <Provider store={store}>
+ <GolfPlayAppGaming {...defaultProps} submissions={[]} />
+ </Provider>,
+ );
+ expect(screen.getByText("提出待ち")).toBeDefined();
+ const dashes = screen.getAllByText("-");
+ expect(dashes.length).toBe(3);
+ });
- test("renders submission rows with status and code size", () => {
- const store = createTestStore();
- const submissions = [
- {
- submission_id: 1,
- game_id: 1,
- status: "success" as const,
- code: "<?php echo 1;",
- code_size: 7,
- created_at: 1740000000,
- },
- {
- submission_id: 2,
- game_id: 1,
- status: "wrong_answer" as const,
- code: "<?php echo 2;",
- code_size: 10,
- created_at: 1740000060,
- },
- ];
- render(
- <Provider store={store}>
- <GolfPlayAppGaming {...defaultProps} submissions={submissions} />
- </Provider>,
- );
- expect(screen.getByText("成功")).toBeDefined();
- expect(screen.getByText("テスト失敗")).toBeDefined();
- expect(screen.getByText("7")).toBeDefined();
- expect(screen.getByText("10")).toBeDefined();
- });
+ test("renders submission rows with status and code size", () => {
+ const store = createTestStore();
+ const submissions = [
+ {
+ submission_id: 1,
+ game_id: 1,
+ status: "success" as const,
+ code: "<?php echo 1;",
+ code_size: 7,
+ created_at: 1740000000,
+ },
+ {
+ submission_id: 2,
+ game_id: 1,
+ status: "wrong_answer" as const,
+ code: "<?php echo 2;",
+ code_size: 10,
+ created_at: 1740000060,
+ },
+ ];
+ render(
+ <Provider store={store}>
+ <GolfPlayAppGaming {...defaultProps} submissions={submissions} />
+ </Provider>,
+ );
+ expect(screen.getByText("成功")).toBeDefined();
+ expect(screen.getByText("テスト失敗")).toBeDefined();
+ expect(screen.getByText("7")).toBeDefined();
+ expect(screen.getByText("10")).toBeDefined();
+ });
- test("renders table headers", () => {
- const store = createTestStore();
- render(
- <Provider store={store}>
- <GolfPlayAppGaming {...defaultProps} submissions={[]} />
- </Provider>,
- );
- expect(screen.getByText("ステータス")).toBeDefined();
- expect(screen.getByText("スコア")).toBeDefined();
- expect(screen.getByText("提出時刻")).toBeDefined();
- expect(screen.getByText("コード")).toBeDefined();
- });
+ test("renders table headers", () => {
+ const store = createTestStore();
+ render(
+ <Provider store={store}>
+ <GolfPlayAppGaming {...defaultProps} submissions={[]} />
+ </Provider>,
+ );
+ expect(screen.getByText("ステータス")).toBeDefined();
+ expect(screen.getByText("スコア")).toBeDefined();
+ expect(screen.getByText("提出時刻")).toBeDefined();
+ expect(screen.getByText("コード")).toBeDefined();
+ });
});