Fix 12 failing board_sync tests blocking CI deployment #233

Closed
opened 2026-03-28 16:13:35 +00:00 by forgejo_admin · 0 comments

Type

Feature

Lineage

  • Board: board-pal-e-docs
  • Story: story:superuser-maintain
  • Arch: arch:board-api

Repo

pal-e-api

User Story

As the superuser, I need pal-e-api CI green so the NoteType + validation column code deploys. 12 test failures in test_board_sync.py are blocking the update-kustomize-tag step, keeping the pod on an old image.

Context

Pipeline #61 shows: 670 passed, 12 failed. All failures in tests/test_board_sync.py. The sync_board refactor (PR #210) changed phase discovery to use project notes instead of board items, but tests still expect old behavior.

Failing tests (2 groups):

  1. TestBoardSync (8 tests): test_sync_creates_phase_items, test_sync_maps_status_to_column, test_sync_is_idempotent, test_sync_updates_changed_status, test_sync_deferred_maps_to_done, test_sync_null_status_maps_to_backlog, test_sync_ignores_non_phase_children, test_sync_sets_title_from_phase_note
  2. TestUpdateNotePhaseHook (4 tests): test_update_phase_status_updates_board_item, test_update_phase_status_to_completed, test_update_phase_status_to_deferred, test_update_phase_on_multiple_boards

Error patterns: assert 0 == 3, KeyError: 'phase-sync-1', IndexError: list index out of range

Scope

Fix test_board_sync.py to match the new sync_board implementation from PR #210. The tests need to set up project notes with phase children (the new discovery mechanism) instead of relying on board items directly.

File Targets

  • tests/test_board_sync.py — update test fixtures and assertions

Constraints

  • Do NOT change the sync_board implementation — only fix tests to match it
  • All 682 tests must pass after the fix
  • Run pytest tests/test_board_sync.py -v to verify the 12 tests pass

Acceptance Criteria

  • All 12 failing tests pass
  • No other tests broken (full suite green)
  • Tests accurately reflect the new sync_board behavior

Checklist

  • Read current sync_board implementation in src/pal_e_docs/
  • Read test_board_sync.py to understand fixtures
  • Update fixtures to create project notes with phase children
  • Run tests locally to verify
  • Submit PR

Test Expectations

  • pytest tests/test_board_sync.py -v — 12/12 pass
  • pytest (full suite) — 682/682 pass
  • Parent: #232 (validate NoteType deployment)
  • Caused by: PR #210 (sync_board refactor) changing discovery mechanism
  • Blocks: NoteType code deployment (kustomize tag update skipped on test failure)
### Type Feature ### Lineage - Board: board-pal-e-docs - Story: story:superuser-maintain - Arch: arch:board-api ### Repo pal-e-api ### User Story As the superuser, I need pal-e-api CI green so the NoteType + validation column code deploys. 12 test failures in test_board_sync.py are blocking the update-kustomize-tag step, keeping the pod on an old image. ### Context Pipeline #61 shows: 670 passed, 12 failed. All failures in `tests/test_board_sync.py`. The sync_board refactor (PR #210) changed phase discovery to use project notes instead of board items, but tests still expect old behavior. Failing tests (2 groups): 1. **TestBoardSync** (8 tests): `test_sync_creates_phase_items`, `test_sync_maps_status_to_column`, `test_sync_is_idempotent`, `test_sync_updates_changed_status`, `test_sync_deferred_maps_to_done`, `test_sync_null_status_maps_to_backlog`, `test_sync_ignores_non_phase_children`, `test_sync_sets_title_from_phase_note` 2. **TestUpdateNotePhaseHook** (4 tests): `test_update_phase_status_updates_board_item`, `test_update_phase_status_to_completed`, `test_update_phase_status_to_deferred`, `test_update_phase_on_multiple_boards` Error patterns: `assert 0 == 3`, `KeyError: 'phase-sync-1'`, `IndexError: list index out of range` ### Scope Fix test_board_sync.py to match the new sync_board implementation from PR #210. The tests need to set up project notes with phase children (the new discovery mechanism) instead of relying on board items directly. ### File Targets - `tests/test_board_sync.py` — update test fixtures and assertions ### Constraints - Do NOT change the sync_board implementation — only fix tests to match it - All 682 tests must pass after the fix - Run `pytest tests/test_board_sync.py -v` to verify the 12 tests pass ### Acceptance Criteria - [ ] All 12 failing tests pass - [ ] No other tests broken (full suite green) - [ ] Tests accurately reflect the new sync_board behavior ### Checklist - [ ] Read current sync_board implementation in src/pal_e_docs/ - [ ] Read test_board_sync.py to understand fixtures - [ ] Update fixtures to create project notes with phase children - [ ] Run tests locally to verify - [ ] Submit PR ### Test Expectations - `pytest tests/test_board_sync.py -v` — 12/12 pass - `pytest` (full suite) — 682/682 pass ### Related - Parent: #232 (validate NoteType deployment) - Caused by: PR #210 (sync_board refactor) changing discovery mechanism - Blocks: NoteType code deployment (kustomize tag update skipped on test failure)
forgejo_admin 2026-03-28 16:22:33 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/pal-e-api#233
No description provided.