Skip to content

Update Marshall Islands holidays: fix General Election Day#3337

Merged
arkid15r merged 6 commits into
vacanza:devfrom
PPsyrius:mh_post1998
Mar 21, 2026
Merged

Update Marshall Islands holidays: fix General Election Day#3337
arkid15r merged 6 commits into
vacanza:devfrom
PPsyrius:mh_post1998

Conversation

@PPsyrius

@PPsyrius PPsyrius commented Mar 18, 2026

Copy link
Copy Markdown
Collaborator

Proposed change

I've re-strumbled on my own unfinished branch for Marshall Islands from last year and added some post-1998 changes that wasn't part of #3335, which includes:

  • The temporary rename for 2004-2005's "Nuclear Victims Remembrance Day" to "Memorial Day and Nuclear Survivors Remembrance Day" (this was reverted to its original name from 2006 onwards)
  • "General Election Day" only became a public holiday via Public Law 2015-38 from 2015 onwards

Type of change

  • New country/market holidays support (thank you!)
  • Supported country/market holidays update (calendar discrepancy fix, localization)
  • Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
  • Dependency update (version deprecation/pin/upgrade)
  • Bugfix (non-breaking change which fixes an issue)
  • Breaking change (a code change causing existing functionality to break)
  • New feature (new holidays functionality in general)

Checklist

@codecov

codecov Bot commented Mar 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (2b97bad) to head (3ea80ae).
⚠️ Report is 1 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff            @@
##               dev     #3337   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          310       310           
  Lines        18578     18578           
  Branches      2379      2379           
=========================================
  Hits         18578     18578           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coderabbitai

coderabbitai Bot commented Mar 18, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7ae2db4b-2add-4294-a6ef-15123c8cc009

📥 Commits

Reviewing files that changed from the base of the PR and between 8d74666 and 3ea80ae.

📒 Files selected for processing (1)
  • holidays/countries/marshall_islands.py

Summary by CodeRabbit

Marshall Islands Holidays Updated

  • Bug Fixes
    • Corrected March 1 holiday naming: recognized as "Memorial Day and Nuclear Survivors Remembrance Day" for 2004–2005, and "Nuclear Victims Remembrance Day" for all other eligible years
    • General Election Day recognition adjusted: now only officially observed beginning in 2015 for years meeting the election cycle criteria

Walkthrough

March 1 remembrance-day label changed to "Memorial Day and Nuclear Survivors Remembrance Day" for 2004–2005 only; General Election Day now applies only for years >= 2015 and year % 4 == 3; docstring/public-law references and tests/snapshots updated accordingly.

Changes

Cohort / File(s) Summary
Marshall Islands Holiday Logic
holidays/countries/marshall_islands.py
Introduce year-conditional naming for the March 1 remembrance day (2004–2005 use alternate name), restrict General Election Day to years >= 2015 with the existing 4-year cycle, and add inline public-law references.
Holiday Tests
tests/countries/test_marshall_islands.py
Adjust assertions: split March 1 name expectations by year ranges (1996–2003 & 2006+ vs 2004–2005), update observed-name expectation, and require General Election Day only for years >=2015 where year % 4 == 3.
Snapshots
snapshots/countries/MH_COMMON.json
Update recorded labels: March 1 entries for 2004–2005 use the alternate name; remove pre-2015 General Election Day entries and simplify combined labels where applicable.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • KJhellico
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main focus of the PR: fixing General Election Day for Marshall Islands. It's concise and clearly identifies the primary change.
Description check ✅ Passed The description directly relates to the changeset, explaining the two key updates: the temporary rename of the March 1 holiday for 2004-2005 and the General Election Day fix for 2015 onward.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@holidays/countries/marshall_islands.py`:
- Line 29: Remove the non-authoritative article reference string
("http://archive.today/.../https://www.pomoculture.org/...") from the Marshall
Islands holidays module; edit the marshall_islands.py source to delete that URL
entry from the references/comments so only legal/public-law links that support
rule history remain, and ensure no test fixtures or docstrings depend on that
line (search for the URL or any reference list variable in the module such as
class or module-level references to confirm removal).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 80ce4736-c08f-4a3e-919d-eda20c47e867

📥 Commits

Reviewing files that changed from the base of the PR and between 550106c and 9113bcd.

📒 Files selected for processing (3)
  • holidays/countries/marshall_islands.py
  • snapshots/countries/MH_COMMON.json
  • tests/countries/test_marshall_islands.py

Comment thread holidays/countries/marshall_islands.py
@PPsyrius PPsyrius marked this pull request as ready for review March 18, 2026 10:17
Comment thread holidays/countries/marshall_islands.py Outdated
Comment thread tests/countries/test_marshall_islands.py Outdated
Co-authored-by: ~Jhellico <KJhellico@users.noreply.github.com>
Signed-off-by: Panpakorn Siripanich <19505219+PPsyrius@users.noreply.github.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@tests/countries/test_marshall_islands.py`:
- Around line 37-46: The long test assertion in
test_nuclear_victims_remembrance_day exceeds the 99-char limit; refactor the
assertNoHolidayName call that checks name_2003 so the long range arguments are
split across multiple lines (e.g., place each range(...) argument on its own
line or assign the ranges to short-named variables before calling
assertNoHolidayName) while keeping the same arguments and using the existing
assertNoHolidayName symbol to preserve behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 354d931f-5a3e-4d3a-be23-dfd298e61650

📥 Commits

Reviewing files that changed from the base of the PR and between 9113bcd and d741d78.

📒 Files selected for processing (2)
  • holidays/countries/marshall_islands.py
  • tests/countries/test_marshall_islands.py

Comment thread tests/countries/test_marshall_islands.py Outdated
@PPsyrius PPsyrius requested a review from KJhellico March 19, 2026 02:22
KJhellico
KJhellico previously approved these changes Mar 19, 2026

@KJhellico KJhellico left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM.

@arkid15r arkid15r left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

@arkid15r arkid15r enabled auto-merge March 21, 2026 16:53
@sonarqubecloud

Copy link
Copy Markdown

@arkid15r arkid15r added this pull request to the merge queue Mar 21, 2026
Merged via the queue into vacanza:dev with commit ad1d9d9 Mar 21, 2026
32 checks passed
@PPsyrius PPsyrius deleted the mh_post1998 branch March 22, 2026 05:57
@KJhellico KJhellico mentioned this pull request Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants