Coverage for databases/sync_tests/arrays/push/test_json.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2024-04-28 15:17 +0000

1from prisma import Json, Prisma 

2 

3 

4def test_pushing_json(client: Prisma) -> None: 

5 """Pushing a Json[] value""" 

6 models = [ 

7 client.lists.create({}), 

8 client.lists.create( 

9 data={ 

10 'json_objects': [Json('foo'), Json(['foo', 'bar'])], 

11 }, 

12 ), 

13 ] 

14 

15 model = client.lists.update( 

16 where={ 

17 'id': models[0].id, 

18 }, 

19 data={ 

20 'json_objects': { 

21 'push': [Json.keys(foo='bar'), Json(True)], 

22 }, 

23 }, 

24 ) 

25 assert model is not None 

26 assert model.json_objects == [{'foo': 'bar'}, True] 

27 

28 model = client.lists.update( 

29 where={ 

30 'id': models[1].id, 

31 }, 

32 data={ 

33 'json_objects': { 

34 'push': [Json('Baz')], 

35 }, 

36 }, 

37 ) 

38 assert model is not None 

39 assert model.json_objects == ['foo', ['foo', 'bar'], 'Baz']