• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ultimate-notion / ultimate-notion / 28161288553
88%

Build:
DEFAULT BRANCH: main
Ran 25 Jun 2026 09:44AM UTC
Jobs 7
Files 38
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Jun 2026 09:41AM UTC coverage: 87.889% (+0.002%) from 87.887%
28161288553

push

github

web-flow
Capture block_type on unsupported blocks (#356) (#357)

* Capture block_type on unsupported blocks (#356)

Notion returns unsupported blocks (e.g. button or AI blocks) as
`{"type": "unsupported", "unsupported": {"block_type": "button"}}`.
`UnsupportedBlockTypeData` was an empty model, so on dev/CI installs
(`extra='forbid'`) the `block_type` key was rejected with a pydantic
ValidationError. This also made every sibling block after the
unsupported one inaccessible, since the whole children list failed to
validate.

Capture the read-only `block_type` field and add a regression test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Make to_markdown cassette carry block_type on unsupported blocks (#356)

The existing full-path VCR test `test_page_to_markdown` renders two
unsupported blocks but its cassette stored an empty `unsupported: {}`
payload, so it never exercised the validation crash. Notion actually
sends `unsupported: {block_type: ...}`; patch the recorded response to
match reality (a button block and an ai_block) so the existing
read->render test now fails on the unfixed model and proves sibling
blocks after an unsupported one stay accessible.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Add dedicated VCR regression test for unsupported blocks (#356)

Besides the model-level unit test, add an explicit @pytest.mark.vcr()
test that reads a real page (the "Markdown Test" fixture page, which
contains a button and an AI block) and asserts the unsupported blocks
load without raising, expose their read-only `block_type`, and render to
the placeholder. The cassette is a single block-children interaction
derived from the patched to_markdown cassette; the block_type values
(`button`, `ai_block`) were confirmed against the live Notion API.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

1 of 1 new or added line in 1 file covered. (100.0%)

6611 of 7522 relevant lines covered (87.89%)

6.12 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-ubuntu-latest-3.14 - 28161288553.1 25 Jun 2026 09:46AM UTC 38
87.87
GitHub Action Run
2 run-windows-latest-3.10 - 28161288553.2 25 Jun 2026 09:45AM UTC 38
85.12
GitHub Action Run
3 run-ubuntu-latest-3.10 - 28161288553.3 25 Jun 2026 09:46AM UTC 38
87.89
GitHub Action Run
4 run-macos-latest-3.10 - 28161288553.4 25 Jun 2026 09:44AM UTC 38
87.89
GitHub Action Run
5 run-ubuntu-latest-3.11 - 28161288553.5 25 Jun 2026 09:44AM UTC 38
87.88
GitHub Action Run
6 run-ubuntu-latest-3.13 - 28161288553.6 25 Jun 2026 09:43AM UTC 38
87.88
GitHub Action Run
7 run-ubuntu-latest-3.12 - 28161288553.7 25 Jun 2026 09:44AM UTC 38
87.88
GitHub Action Run
Source Files on build 28161288553
  • Tree
  • List 38
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28161288553
  • d1e2fa0a on github
  • Prev Build on main (#28160791217)
  • Next Build on main (#28228659866)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc