Skip to content

Refactor test_no_holidays, now also test supported_categories by default#3197

Merged
arkid15r merged 13 commits intovacanza:devfrom
PPsyrius:test_no_holidays_refinement
Jan 16, 2026
Merged

Refactor test_no_holidays, now also test supported_categories by default#3197
arkid15r merged 13 commits intovacanza:devfrom
PPsyrius:test_no_holidays_refinement

Conversation

@PPsyrius
Copy link
Copy Markdown
Collaborator

@PPsyrius PPsyrius commented Jan 7, 2026

Proposed change

From #3187:

It is worth adding test_no_holidays() for countries with non-PUBLIC categories and a specified start_year.

Hmm, I'm thinking of extending that one to check self.start_year - 1 for all supported categories instead by default

Alongside refactoring existing code to the new implementation.

Aside from this, since self.start_year - 1 supported categories tests are now handled by super().test_no_holidays() - maybe we can reuse the existing methods to extend their code coverage.

Old

    def test_no_holidays(self):
        super().test_no_holidays()

        self.assertNoHolidays(Argentina(categories=ARMENIAN, years=2006))
        self.assertNoHolidays(Argentina(categories=BANK, years=1974))
        self.assertNoHolidays(Argentina(categories=GOVERNMENT, years=2013))
        self.assertNoHolidays(Argentina(categories=HEBREW, years=1995))
        self.assertNoHolidays(Argentina(categories=ISLAMIC, years=1996))

New

    def test_no_holidays(self):
        super().test_no_holidays()

        self.assertNoHolidays(Argentina(categories=ARMENIAN, years=range(self.start_year, 2007)))
        self.assertNoHolidays(Argentina(categories=BANK, years=range(self.start_year, 1975)))
        self.assertNoHolidays(Argentina(categories=GOVERNMENT, years=range(self.start_year, 2014)))
        self.assertNoHolidays(Argentina(categories=HEBREW, years=range(self.start_year, 1996)))
        self.assertNoHolidays(Argentina(categories=ISLAMIC, years=range(self.start_year, 1997)))

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

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Jan 7, 2026

Summary by CodeRabbit

  • Bug Fixes

    • Timor‑Leste: renames (Holy Thursday → Maundy Thursday, Holy Friday → Good Friday), added Ash Wednesday and Ascension Day; holiday entries consolidated.
  • Updates

    • Qatar: Eid al‑Adha 2025 confirmed (no longer "estimated"); 2025 New Year label localized.
  • Localization

    • Added/updated translations for Good Friday, Corpus Christi, Ash Wednesday, Maundy Thursday and Ascension across multiple locales.
  • Tests

    • Major test modernization: dynamic year ranges, broader per‑holiday coverage and new assertion helpers.

✏️ Tip: You can customize this high-level summary in your review settings.

Walkthrough

Qatar Eid‑al‑Adha confirmed-years extended to include 2025 and a 2025 New Year translation inlined; Timor‑Leste reclassified several Christian holidays and added locale translations; QA/TL snapshots updated; widespread test modernization converting fixed-year/category assertions into range- and helper-driven tests with many renames.

Changes

Cohort / File(s) Summary
Country data: Qatar & Timor‑Leste
holidays/countries/qatar.py, holidays/countries/timor_leste.py
Qatar: EID_AL_ADHA_DATES_CONFIRMED_YEARS extended to include 2025 and 2025 New Year entry inlined with translation. Timor‑Leste: moved Good Friday, Corpus Christi, Ash Wednesday, Maundy Thursday, Ascension between fixed/variable/workday blocks (reorganized holiday population).
Locale / translations (Timor‑Leste)
holidays/locale/en_TL/LC_MESSAGES/TL.po, holidays/locale/en_US/LC_MESSAGES/TL.po, holidays/locale/pt_TL/LC_MESSAGES/TL.po, holidays/locale/tet/LC_MESSAGES/TL.po, holidays/locale/th/LC_MESSAGES/TL.po
PO metadata bumped and translations added/reshuffled for Good Friday, Maundy Thursday, Ash Wednesday, Corpus Christi, Ascension; duplicate/old Holy Thursday/Holy Friday blocks removed/relocated.
Snapshots
snapshots/countries/QA_COMMON.json, snapshots/countries/TL_COMMON.json
QA: 2025 Eid al‑Adha entries changed from "estimated" → confirmed. TL: replaced Holy Thursday/Holy Friday labels with Maundy Thursday/Good Friday across snapshots.
Test infra / common helpers
tests/common.py
test_no_holidays now constructs instances with categories=self.test_class.supported_categories; new/renamed helper assertions referenced across tests (range- and category-aware helpers).
Tests — small / repetitive adjustments
multiple tests/countries/*.py (e.g., tests/countries/test_aland_islands.py, test_argentina.py, test_benin.py, test_curacao.py, test_fiji.py, test_finland.py, test_kenya.py, test_lebanon.py, test_libya.py, test_macau.py, test_netherlands.py, test_san_marino.py, test_uruguay.py)
Replaced single-year assertions with years=range(...), simplified setUpClass calls, adjusted category imports, and minor variable renames.
Tests — moderate refactors / naming changes
assorted tests/countries/* and tests/financial/test_ny_stock_exchange.py (e.g., test_hongkong.py, test_palau.py, test_qatar.py, test_sri_lanka.py, test_togo.py, test_trinidad_and_tobago.py, test_tanzania.py, test_thailand.py, tests/financial/test_ny_stock_exchange.py)
Migrated many tests to self.full_range/start_year/end_year, renamed dt→dts and obs_dt→obs_dts, introduced per-category/observed-aware assertion helpers and added small test methods.
Tests — large/complex refactors
many country tests (notably tests/countries/test_mongolia.py, test_niger.py, test_north_macedonia.py, test_palestine.py, test_panama.py, test_philippines.py, test_pitcairn_islands.py, test_slovenia.py, test_south_korea.py, test_south_sudan.py, test_taiwan.py, test_turkey.py, test_ukraine.py, test_yemen.py, test_timor_leste.py, test_saint_kitts_and_nevis.py)
Major restructures: per-year lists consolidated to dynamic ranges, many new/renamed test helpers and methods, additions/removals of test methods, and broad signature/name changes — these require focused review for renamed helpers and behavioral equivalence.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 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 refactoring: updating test_no_holidays to test supported_categories by default.
Description check ✅ Passed The description clearly explains the motivation from issue #3187, shows the old vs. new implementation pattern, and relates directly to the changeset.

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

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment


📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f8851d7 and 5c291d4.

📒 Files selected for processing (1)
  • tests/common.py
🧰 Additional context used
🧠 Learnings (15)
📓 Common learnings
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_brazil.py:28-30
Timestamp: 2025-09-10T14:35:54.603Z
Learning: In the holidays project, the test_no_holidays method should test ALL supported_categories (via categories=CountryClass.supported_categories) rather than just the default PUBLIC category, to ensure comprehensive validation that no holidays exist before start_year across any supported category including OPTIONAL and subdivision categories.
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_french_polynesia.py:19-22
Timestamp: 2025-11-08T05:09:56.159Z
Learning: In the vacanza/holidays project's test framework (PR `#2881` onwards), the base class CommonCountryTests provides a default test_no_holidays implementation that automatically tests years=start_year - 1 for standard PUBLIC category cases. Individual country test files should only override test_no_holidays when the country supports additional non-PUBLIC categories (GOVERNMENT, WORKDAY, OPTIONAL, etc.) with different start years requiring separate validation.
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_curacao.py:29-29
Timestamp: 2025-09-20T12:24:28.864Z
Learning: For Curacao in the holidays library, PUBLIC and HALF_DAY categories have different start years - PUBLIC holidays begin at the country's start_year while HALF_DAY holidays begin in 2010. When testing no_holidays methods, each category should be tested separately with appropriate pre-start years rather than using a unified supported_categories approach.
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_antigua_and_barbuda.py:27-29
Timestamp: 2025-09-14T16:19:23.651Z
Learning: For Antigua and Barbuda in the holidays library, only the default PUBLIC category is used, so there's no need to specify `categories=AntiguaAndBarbuda.supported_categories` in test_no_holidays methods, as it would be equivalent to the default behavior and AntiguaAndBarbuda doesn't define supported_categories.
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_antigua_and_barbuda.py:27-29
Timestamp: 2025-09-14T16:19:23.651Z
Learning: For Antigua and Barbuda in the holidays library, only the default PUBLIC category is used, so there's no need to specify `categories=AntiguaAndBarbuda.supported_categories` in test_no_holidays methods, as it would be equivalent to the default behavior and AntiguaAndBarbuda doesn't define supported_categories.
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2854
File: tests/countries/test_sudan.py:29-31
Timestamp: 2025-09-12T21:37:10.710Z
Learning: For countries in the holidays library that only use the default PUBLIC category (like Sudan), there's no need to specify `categories=Sudan.supported_categories` in test_no_holidays methods, as it would be equivalent to the default behavior.
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2854
File: tests/countries/test_sudan.py:29-31
Timestamp: 2025-09-12T21:37:10.710Z
Learning: For countries in the holidays library that only use the default PUBLIC category (like Sudan), there's no need to specify `categories=Sudan.supported_categories` in test_no_holidays methods, as it would be equivalent to the default behavior.
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_bahamas.py:27-29
Timestamp: 2025-09-14T16:02:15.480Z
Learning: For Bahamas in the holidays library, only the default PUBLIC category is used, so there's no need to specify `categories=Bahamas.supported_categories` in test_no_holidays methods, as it would be equivalent to the default behavior.
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_bahamas.py:27-29
Timestamp: 2025-09-14T16:02:15.480Z
Learning: For Bahamas in the holidays library, only the default PUBLIC category is used, so there's no need to specify `categories=Bahamas.supported_categories` in test_no_holidays methods, as it would be equivalent to the default behavior.
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2854
File: tests/countries/test_sudan.py:29-31
Timestamp: 2025-09-12T21:37:10.710Z
Learning: For countries in the holidays library that only use the default PUBLIC category (like Sudan), there's no need to specify `categories=Sudan.supported_categories` in test_no_holidays methods, as it would be equivalent to the default behavior.
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2398
File: holidays/countries/guinea.py:106-110
Timestamp: 2025-04-04T10:52:41.546Z
Learning: In the Guinea holidays implementation, observed Eid al-Fitr cases are properly covered by the test_eid_al_fitr_day() method, which tests both the regular holiday dates and the observed dates when the holiday falls on a non-working day (for years >= 2023).
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2386
File: holidays/countries/nepal.py:266-284
Timestamp: 2025-04-13T20:41:56.613Z
Learning: The Islamic holiday dates in the holidays library should only include officially verified dates, not predicted ones, to maintain accuracy. This is especially important for holidays that depend on lunar observations like Eid al-Fitr and Eid al-Adha.
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2398
File: holidays/countries/guinea.py:106-110
Timestamp: 2025-04-04T10:52:41.546Z
Learning: In the Guinea holidays implementation, observed Eid al-Fitr cases are covered by the test_eid_al_fitr_day() method, which tests both regular holiday dates and the observed dates when the holiday falls on a non-working day (for years >= 2023).
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2354
File: holidays/countries/fiji.py:171-183
Timestamp: 2025-03-29T15:15:05.919Z
Learning: In the Fiji holidays implementation, the maintainers are aware of the need to extend the MAWLID_DATES dictionary beyond 2025 when future official references become available, and will do so when appropriate. No suggestions about extending this dictionary should be made in future reviews.
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2407
File: holidays/locale/en_TL/LC_MESSAGES/TL.po:42-44
Timestamp: 2025-04-03T05:58:00.033Z
Learning: The en_TL (English for Timor-Leste) localization for holidays intentionally uses "World" instead of "International" (e.g., "World Labour Day") to maintain accuracy with official Timor-Leste government sources, even though code comments and other localizations like en_US use "International".
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2407
File: holidays/locale/en_TL/LC_MESSAGES/TL.po:42-44
Timestamp: 2025-04-03T05:58:00.033Z
Learning: The en_TL (English for Timor-Leste) localization for holidays intentionally uses "World" instead of "International" (e.g., "World Labour Day") to maintain accuracy with official Timor-Leste government sources, even though code comments and other localizations like en_US use "International".
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2831
File: holidays/countries/south_sudan.py:84-88
Timestamp: 2025-08-19T20:36:15.300Z
Learning: In South Sudan holidays implementation, Eid al-Fitr and Eid al-Adha holidays should use the ISLAMIC category system. The first day of each Eid is a national public holiday (appears in both PUBLIC and ISLAMIC categories), while additional days are typically Muslim-specific and should only appear in the ISLAMIC category through the _populate_islamic_holidays() method.
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2583
File: holidays/countries/niger.py:137-143
Timestamp: 2025-06-02T18:37:10.923Z
Learning: In Niger's holiday implementation, Eid al-Adha (Tabaski) doesn't require observed holiday handling because it's followed by "Day after Eid al-Adha" (Lendemain de la Tabaski) as a consecutive holiday. If Eid al-Adha falls on Sunday, there's no need to move it to Monday since Monday is already the second holiday.
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2869
File: tests/countries/test_bosnia_and_herzegovina.py:233-237
Timestamp: 2025-08-28T12:20:40.635Z
Learning: In Bosnia and Herzegovina's holiday implementation, 2022-05-03 serves as both an observed Labor Day and the second day of Eid al-Fitr, creating holiday overlaps that need to be considered when testing observed dates.
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2928
File: holidays/countries/algeria.py:116-124
Timestamp: 2025-09-16T04:12:13.252Z
Learning: In Algeria's holidays implementation, when determining the effective year for Ordonnance n° 68-419 du 26 juin 1968 that made Eid al-Adha a two-day holiday, the year gate should be >= 1969 because Eid al-Adha 1968 occurred on March 9, 1968, which predated the law's enactment on June 26, 1968. Laws typically don't apply retroactively to holidays that already occurred earlier in the same year.
📚 Learning: 2025-09-10T14:35:54.603Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_brazil.py:28-30
Timestamp: 2025-09-10T14:35:54.603Z
Learning: In the holidays project, the test_no_holidays method should test ALL supported_categories (via categories=CountryClass.supported_categories) rather than just the default PUBLIC category, to ensure comprehensive validation that no holidays exist before start_year across any supported category including OPTIONAL and subdivision categories.

Applied to files:

  • tests/common.py
📚 Learning: 2025-11-08T05:09:56.159Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_french_polynesia.py:19-22
Timestamp: 2025-11-08T05:09:56.159Z
Learning: In the vacanza/holidays project's test framework (PR `#2881` onwards), the base class CommonCountryTests provides a default test_no_holidays implementation that automatically tests years=start_year - 1 for standard PUBLIC category cases. Individual country test files should only override test_no_holidays when the country supports additional non-PUBLIC categories (GOVERNMENT, WORKDAY, OPTIONAL, etc.) with different start years requiring separate validation.

Applied to files:

  • tests/common.py
📚 Learning: 2025-09-18T03:19:23.722Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_algeria.py:28-30
Timestamp: 2025-09-18T03:19:23.722Z
Learning: In the vacanza/holidays project, tests now use self.start_year and self.end_year from the TestCase class instead of country-specific aliases (like DZ.start_year) for start_year and end_year references. This approach provides the test framework with better control over test year ranges rather than being tied to specific country start years.

Applied to files:

  • tests/common.py
📚 Learning: 2025-04-05T04:47:27.213Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2416
File: tests/countries/test_turkmenistan.py:52-64
Timestamp: 2025-04-05T04:47:27.213Z
Learning: For holiday tests in the vacanza/holidays project, structure tests by individual holidays rather than by years. Each test method should focus on a specific holiday and test it across multiple years (from start_year through 2050) using helper methods like `assertHolidayName`. For fixed holidays, use generators like `(f"{year}-01-01" for year in range(1991, 2051))`. For movable holidays, specify individual dates for specific years followed by a range check.

Applied to files:

  • tests/common.py
📚 Learning: 2025-08-28T02:42:52.755Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2863
File: tests/countries/test_georgia.py:31-36
Timestamp: 2025-08-28T02:42:52.755Z
Learning: In the holidays framework, when no categories parameter is specified in a country class instantiation (e.g., `Georgia(years=2025)`), the PUBLIC category is used by default. There's no need to explicitly specify `categories=PUBLIC` or import the PUBLIC constant for such test cases.

Applied to files:

  • tests/common.py
📚 Learning: 2025-09-20T12:24:28.864Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_curacao.py:29-29
Timestamp: 2025-09-20T12:24:28.864Z
Learning: For Curacao in the holidays library, PUBLIC and HALF_DAY categories have different start years - PUBLIC holidays begin at the country's start_year while HALF_DAY holidays begin in 2010. When testing no_holidays methods, each category should be tested separately with appropriate pre-start years rather than using a unified supported_categories approach.

Applied to files:

  • tests/common.py
📚 Learning: 2025-09-14T16:19:23.651Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_antigua_and_barbuda.py:27-29
Timestamp: 2025-09-14T16:19:23.651Z
Learning: For Antigua and Barbuda in the holidays library, only the default PUBLIC category is used, so there's no need to specify `categories=AntiguaAndBarbuda.supported_categories` in test_no_holidays methods, as it would be equivalent to the default behavior and AntiguaAndBarbuda doesn't define supported_categories.

Applied to files:

  • tests/common.py
📚 Learning: 2025-09-12T21:37:10.710Z
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2854
File: tests/countries/test_sudan.py:29-31
Timestamp: 2025-09-12T21:37:10.710Z
Learning: For countries in the holidays library that only use the default PUBLIC category (like Sudan), there's no need to specify `categories=Sudan.supported_categories` in test_no_holidays methods, as it would be equivalent to the default behavior.

Applied to files:

  • tests/common.py
📚 Learning: 2025-04-08T14:46:10.656Z
Learnt from: KJhellico
Repo: vacanza/holidays PR: 2437
File: holidays/countries/bhutan.py:27-30
Timestamp: 2025-04-08T14:46:10.656Z
Learning: For country classes in the holidays library, there's no need to explicitly specify `supported_categories = (PUBLIC,)` when PUBLIC is the only category being used, as it's already the default category inherited from HolidayBase.

Applied to files:

  • tests/common.py
📚 Learning: 2025-09-14T16:02:15.480Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_bahamas.py:27-29
Timestamp: 2025-09-14T16:02:15.480Z
Learning: For Bahamas in the holidays library, only the default PUBLIC category is used, so there's no need to specify `categories=Bahamas.supported_categories` in test_no_holidays methods, as it would be equivalent to the default behavior.

Applied to files:

  • tests/common.py
📚 Learning: 2025-09-19T10:01:41.205Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_bolivia.py:29-29
Timestamp: 2025-09-19T10:01:41.205Z
Learning: For Bolivia in the holidays library, only the default PUBLIC category is used, so there's no need to specify `categories=Bolivia.supported_categories` in test_no_holidays methods, as it would be equivalent to the default behavior and Bolivia doesn't define supported_categories.

Applied to files:

  • tests/common.py
📚 Learning: 2025-09-14T16:12:41.385Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_central_african_republic.py:27-29
Timestamp: 2025-09-14T16:12:41.385Z
Learning: For Central African Republic in the holidays library, only the default PUBLIC category is used, so there's no need to specify categories=CentralAfricanRepublic.supported_categories in test_no_holidays methods, as it would be equivalent to the default behavior and CentralAfricanRepublic doesn't define supported_categories.

Applied to files:

  • tests/common.py
📚 Learning: 2025-09-20T12:21:50.877Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2881
File: tests/countries/test_belgium.py:28-30
Timestamp: 2025-09-20T12:21:50.877Z
Learning: Belgium holidays implementation currently lacks a start_year attribute. In tests/countries/test_belgium.py, do not suggest adding test_no_holidays methods that rely on start_year until the start_year attribute is introduced to Belgium's holiday implementation.

Applied to files:

  • tests/common.py
📚 Learning: 2025-08-25T04:28:02.061Z
Learnt from: PPsyrius
Repo: vacanza/holidays PR: 2848
File: tests/countries/test_somalia.py:44-127
Timestamp: 2025-08-25T04:28:02.061Z
Learning: In the holidays library, Islamic holiday tests use `self.no_estimated_holidays = Country(years=years, islamic_show_estimated=False)` as the library-wide standard approach to simplify test cases. This pattern is intentional and preferred over testing estimated labels.

Applied to files:

  • tests/common.py
⏰ Context from checks skipped due to timeout of 300000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Test Python 3.14 on windows-latest
  • GitHub Check: Test Python 3.12 on windows-latest
  • GitHub Check: Test Python 3.10 on windows-latest
  • GitHub Check: Test Python 3.11 on windows-latest
  • GitHub Check: Test Python 3.13 on windows-latest
🔇 Additional comments (1)
tests/common.py (1)

666-672: Solid implementation.

Testing all supported_categories before start_year provides broader coverage. Countries with per-category start years (e.g., Curacao's HALF_DAY starting in 2010) can override this method as needed. Based on learnings, this is the preferred pattern.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.


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.

@codecov
Copy link
Copy Markdown

codecov bot commented Jan 7, 2026

Codecov Report

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

Additional details and impacted files
@@            Coverage Diff            @@
##               dev     #3197   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          307       307           
  Lines        18313     18312    -1     
  Branches      2338      2338           
=========================================
- Hits         18313     18312    -1     

☔ 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.

@PPsyrius PPsyrius marked this pull request as ready for review January 8, 2026 03:45
coderabbitai[bot]
coderabbitai bot previously approved these changes Jan 9, 2026
Co-authored-by: ~Jhellico <[email protected]>
Signed-off-by: Panpakorn Siripanich <[email protected]>
@PPsyrius PPsyrius requested a review from KJhellico January 10, 2026 03:16
coderabbitai[bot]
coderabbitai bot previously approved these changes Jan 10, 2026
coderabbitai[bot]
coderabbitai bot previously approved these changes Jan 13, 2026
Copy link
Copy Markdown
Collaborator

@KJhellico KJhellico left a comment

Choose a reason for hiding this comment

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

One small suggestion, and rest is LGTM.

Co-authored-by: ~Jhellico <[email protected]>
Signed-off-by: Panpakorn Siripanich <[email protected]>
coderabbitai[bot]
coderabbitai bot previously approved these changes Jan 13, 2026
KJhellico
KJhellico previously approved these changes Jan 13, 2026
Copy link
Copy Markdown
Collaborator

@KJhellico KJhellico left a comment

Choose a reason for hiding this comment

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

LGTM!

@arkid15r arkid15r dismissed stale reviews from KJhellico and coderabbitai[bot] via f8851d7 January 16, 2026 04:32
arkid15r
arkid15r previously approved these changes Jan 16, 2026
coderabbitai[bot]
coderabbitai bot previously approved these changes Jan 16, 2026
Co-authored-by: Arkadii Yakovets <[email protected]>
Signed-off-by: Panpakorn Siripanich <[email protected]>
@PPsyrius PPsyrius dismissed stale reviews from coderabbitai[bot] and arkid15r via 5c291d4 January 16, 2026 06:14
@sonarqubecloud
Copy link
Copy Markdown

@PPsyrius PPsyrius requested a review from arkid15r January 16, 2026 09:21
@arkid15r arkid15r enabled auto-merge January 16, 2026 17:21
Copy link
Copy Markdown
Collaborator

@arkid15r arkid15r left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@arkid15r arkid15r added this pull request to the merge queue Jan 16, 2026
Merged via the queue into vacanza:dev with commit 285ee21 Jan 16, 2026
32 checks passed
@PPsyrius PPsyrius deleted the test_no_holidays_refinement branch January 17, 2026 03:28
@KJhellico KJhellico mentioned this pull request Jan 19, 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