Coverage for databases/tests/arrays/push/test_json.py: 100%
11 statements
« prev ^ index » next coverage.py v7.2.7, created at 2024-08-27 18:25 +0000
« prev ^ index » next coverage.py v7.2.7, created at 2024-08-27 18:25 +0000
1import pytest
3from prisma import Json, Prisma
6@pytest.mark.asyncio
7async def test_pushing_json(client: Prisma) -> None:
8 """Pushing a Json[] value"""
9 models = [
10 await client.lists.create({}),
11 await client.lists.create(
12 data={
13 'json_objects': [Json('foo'), Json(['foo', 'bar'])],
14 },
15 ),
16 ]
18 model = await client.lists.update(
19 where={
20 'id': models[0].id,
21 },
22 data={
23 'json_objects': {
24 'push': [Json.keys(foo='bar'), Json(True)],
25 },
26 },
27 )
28 assert model is not None
29 assert model.json_objects == [{'foo': 'bar'}, True]
31 model = await client.lists.update(
32 where={
33 'id': models[1].id,
34 },
35 data={
36 'json_objects': {
37 'push': [Json('Baz')],
38 },
39 },
40 )
41 assert model is not None
42 assert model.json_objects == ['foo', ['foo', 'bar'], 'Baz']