From 1338450a888cd453cb6289a279f7a4610b439b1a Mon Sep 17 00:00:00 2001 From: tarsil Date: Mon, 22 Jul 2024 15:52:12 +0100 Subject: [PATCH] Release 0.10.4 --- docs/en/docs/release-notes.md | 6 ++++++ mongoz/__init__.py | 2 +- tests/models/manager/test_decimal.py | 14 ++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md index af1b6f9..4dcea23 100644 --- a/docs/en/docs/release-notes.md +++ b/docs/en/docs/release-notes.md @@ -1,5 +1,11 @@ # Release Notes +## 0.10.4 + +### Fix + +- Native `decimal.Decimal` internal convertion to `bson.decimal128.Decimal128` to updates. + ## 0.10.3 ### Fix diff --git a/mongoz/__init__.py b/mongoz/__init__.py index d9e6426..403d7bf 100644 --- a/mongoz/__init__.py +++ b/mongoz/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.10.3" +__version__ = "0.10.4" from .conf import settings from .conf.global_settings import MongozSettings diff --git a/tests/models/manager/test_decimal.py b/tests/models/manager/test_decimal.py index 4713073..ba5a5cc 100644 --- a/tests/models/manager/test_decimal.py +++ b/tests/models/manager/test_decimal.py @@ -1,6 +1,7 @@ from decimal import Decimal from typing import AsyncGenerator +import bson import pydantic import pytest from bson import Decimal128 @@ -43,6 +44,19 @@ async def test_decimal_128_two() -> None: assert float(str(arch.price)) == 22.246 +async def test_decimal_128_create_many() -> None: + archives = [] + archive_names = ("The Dark Knight", "The Dark Knight Rises", "The Godfather") + for movie_name in archive_names: + archives.append(Archive(name=movie_name, price=Decimal("22.246"))) + + archives_db = await Archive.objects.create_many(archives) + for archive, archive_db in zip(archives, archives_db): + assert archive.name == archive_db.name + assert archive.price == archive_db.price + assert isinstance(archive.id, bson.ObjectId) + + async def test_decimal_on_update() -> None: await Archive.objects.create(name="Batman", price="22.246")