Skip to content

feat(table): Add FPS 24 to contest table (#2797)#2803

Merged
KATO-Hiro merged 2 commits intostagingfrom
#2797
Nov 6, 2025
Merged

feat(table): Add FPS 24 to contest table (#2797)#2803
KATO-Hiro merged 2 commits intostagingfrom
#2797

Conversation

@KATO-Hiro
Copy link
Collaborator

@KATO-Hiro KATO-Hiro commented Nov 6, 2025

close #2797

Summary by CodeRabbit

  • New Features

    • Added support for FPS 24 contests to the contest table system and grouped them with EDPC and TDPC in the DP preset.
  • Documentation

    • Added a test plan outlining FPS 24 test cases and integration approach.
  • Tests

    • Added comprehensive FPS 24 tests covering filtering, metadata, display, labels, and table generation.
    • Extended test data to include FPS 24 tasks.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 6, 2025

Walkthrough

The PR adds FPS 24 support to the contest table provider system: a new FPS24Provider class, its integration into the DP provider group (renamed to include FPS 24), new mock FPS-24 test data, expanded tests, and a development plan document describing test cases and implementation steps.

Changes

Cohort / File(s) Summary
Core Provider Implementation
src/lib/utils/contest_table_provider.ts
Added FPS24Provider (extends ContestTableProviderBase) with filter condition, metadata, display config, and round-label logic. Updated DP provider group name/labels to include FPS 24 and added FPS_24 provider to the group.
Test Mock Data
src/test/lib/utils/test_cases/contest_table_provider.ts
Added fps-24 task set (tasks A, B, M, X) and exported taskResultsForFPS24Provider aggregating these tasks for tests.
Test Coverage
src/test/lib/utils/contest_table_provider.test.ts
Extended tests and presets to include FPS24Provider; updated mocks/preset metadata so DPs group recognizes FPS-24 alongside EDPC/TDPC.
Planning Documentation
docs/dev-notes/2025-11-06/add_tests_for_contest_table_provider/plan.md
New test plan "FPS24Provider テスト追加計画" detailing test cases, mock data, integration pattern (describe.each) and implementation steps.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant Prepare as prepareContestProviderPresets()
    participant DPGroup as DP Provider Group
    participant FPS as FPS24Provider
    participant EDPC as EDPCProvider
    participant TDPC as TDPCProvider

    Note over Prepare,DPGroup: During presets setup
    Prepare->>DPGroup: create/modify group metadata\n(name, buttonLabel, ariaLabel)
    DPGroup->>EDPC: add provider (EDPC)
    DPGroup->>TDPC: add provider (TDPC)
    DPGroup->>FPS: add provider (FPS_24)    %% new interaction highlighted
    Note right of FPS: FPS24Provider added with\nfilter, metadata, display config
    DPGroup-->>Prepare: return updated group
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~35 minutes

  • Pay extra attention to:
    • setFilterCondition and round-label formatting in FPS24Provider
    • DP group metadata propagation (name/button/aria labels)
    • Test mocks in src/test/lib/utils/test_cases/contest_table_provider.ts for correctness and coverage

"I hop with joy across the board,
A–X aligned, each task adored.
FPS arrives with nimble feet,
Providers meet — a trio complete.
Tables gleam, the tests all beat!"

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding FPS 24 to the contest table, which aligns with the primary objective of the pull request.
Linked Issues check ✅ Passed The PR implements FPS 24 contest table support by adding the FPS24Provider class, integrating it into the DP group, and adding corresponding tests and mock data, fulfilling the feature requirement.
Out of Scope Changes check ✅ Passed All changes are focused on adding FPS 24 support to the contest table: documentation planning, provider implementation, test updates, and mock data. No unrelated modifications detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch #2797

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 7636bf3 and a646087.

📒 Files selected for processing (1)
  • docs/dev-notes/2025-11-06/add_tests_for_contest_table_provider/plan.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • docs/dev-notes/2025-11-06/add_tests_for_contest_table_provider/plan.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: preview

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
docs/dev-notes/2025-11-06/add_tests_for_contest_table_provider/plan.md (1)

308-309: Format the PR references as Markdown links

Two bare URLs trigger markdownlint rule MD034. Wrap them in Markdown link syntax so the lint job passes.

-- PR #2286: FPS24Provider 実装 (https://github.com/AtCoder-NoviSteps/AtCoderNoviSteps/pull/2286)
-- PR #2780: リファクタリング (https://github.com/AtCoder-NoviSteps/AtCoderNoviSteps/pull/2780)
+- PR #2286: FPS24Provider 実装 ([PR #2286](https://github.com/AtCoder-NoviSteps/AtCoderNoviSteps/pull/2286))
+- PR #2780: リファクタリング ([PR #2780](https://github.com/AtCoder-NoviSteps/AtCoderNoviSteps/pull/2780))
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 27c7069 and 7636bf3.

📒 Files selected for processing (4)
  • docs/dev-notes/2025-11-06/add_tests_for_contest_table_provider/plan.md (1 hunks)
  • src/lib/utils/contest_table_provider.ts (2 hunks)
  • src/test/lib/utils/contest_table_provider.test.ts (5 hunks)
  • src/test/lib/utils/test_cases/contest_table_provider.ts (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
docs/dev-notes/2025-11-06/add_tests_for_contest_table_provider/plan.md

308-308: Bare URL used

(MD034, no-bare-urls)


309-309: Bare URL used

(MD034, no-bare-urls)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: preview

Copy link
Collaborator Author

@KATO-Hiro KATO-Hiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@KATO-Hiro KATO-Hiro merged commit b9996a5 into staging Nov 6, 2025
3 checks passed
@KATO-Hiro KATO-Hiro deleted the #2797 branch November 6, 2025 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] テーブルに「FPS 24」を追加しましょう

1 participant