Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Support for Python 3.9 (EOL).

### Fixed

- Loading a project no longer fails when its `view_style` is one this version doesn't know yet, like a newly added layout. Its value is kept as is.

### Changed

- **Breaking**: Replaced the `httpx` runtime dependency with `httpx2`; caller-supplied clients and caught HTTP exceptions must now come from `httpx2`.
Expand Down
9 changes: 9 additions & 0 deletions tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,15 @@ def test_project_from_dict() -> None:
assert project.updated_at == parse_datetime(str(sample_data["updated_at"]))


def test_project_with_unknown_view_style() -> None:
sample_data = dict(DEFAULT_PROJECT_RESPONSE)
sample_data["view_style"] = "table"

project = Project.from_dict(sample_data)

assert project.view_style == "table"


def test_project_url() -> None:
inbox = Project.from_dict(dict(DEFAULT_PROJECT_RESPONSE))
assert inbox.url == "https://app.todoist.com/app/inbox"
Expand Down
3 changes: 2 additions & 1 deletion todoist_api_python/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ class _(JSONPyWizard.Meta): # noqa:N801
is_favorite: bool
is_archived: bool
can_assign_tasks: bool
view_style: ViewStyle
# Any string, so a style this version doesn't know yet doesn't fail loading
view_style: str
created_at: ApiDate
updated_at: ApiDate

Expand Down
Loading