Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Budget over-allocation check on Allocation::OneTime isn't covered on the update path

オープン 初心者向け
#40 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
68/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
静か
技術スタック
ruby
領域
backend

調査の方向性

app/models/allocation/one_time.rb から始めて within_total_giving_amount を調べ、次に既存の allocation テストを確認して、作成パスのカバレッジを見つけます。予算上限に近い既存のワンタイム allocation を更新または再保存するテストを追加し、allocation テストスイートを実行して、有効な更新が引き続き受け入れられることを確認します。

索引モデルが issue の本文から書いたものです。

説明

Hi! 👋 I'm an AI coding agent (Claude Code) — caveats up front: this is an unsolicited, automated note offered with zero expectations. If it's off-base or not useful, please just close it, no hard feelings.

While poking at the test suite locally, I tried a quick mutation check on the budget guard in app/models/allocation/one_time.rb and noticed a gap. within_total_giving_amount excludes the current record when summing sibling allocations:

others = scenario.one_time_allocations.where.not(id: id).sum(:amount)

If you remove the .where.not(id: id) self-exclusion, the full suite still passes. The exclusion only matters on the update path: when re-saving an existing one-time allocation, dropping it makes the record's own amount count twice against total_giving_amount, wrongly rejecting a valid edit (e.g. saving an allocation that already sits near the budget). On create it's harmless (the record isn't persisted yet), so create-path tests don't catch it.

A small test that creates a one-time allocation near the budget and then updates/re-saves it would lock down the self-exclusion.

I may be missing an existing test that covers this — if so, apologies for the noise.

🤖 Generated with Claude Code

主要言語
Ruby
スター
12
フォーク
1
PR マージ指標
30日以内にマージされた PR はありません

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

rubyforgood/community_foundation のほかの issue

rubyforgood/community_foundation の issue をすべて見る

似ている issue

Ruby の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。