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

9 statements  

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

1from prisma import Base64, Prisma 

2 

3 

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

5 """Pushing values to a Bytes[] field""" 

6 models = [ 

7 client.lists.create({}), 

8 client.lists.create( 

9 data={ 

10 'bytes': [Base64.encode(b'foo'), Base64.encode(b'bar')], 

11 }, 

12 ), 

13 ] 

14 

15 model = client.lists.update( 

16 where={ 

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

18 }, 

19 data={ 

20 'bytes': { 

21 'push': [Base64.encode(b'a'), Base64.encode(b'b')], 

22 }, 

23 }, 

24 ) 

25 assert model is not None 

26 assert model.bytes == [Base64.encode(b'a'), Base64.encode(b'b')] 

27 

28 model = client.lists.update( 

29 where={ 

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

31 }, 

32 data={ 

33 'bytes': { 

34 'push': [Base64.encode(b'baz')], 

35 }, 

36 }, 

37 ) 

38 assert model is not None 

39 assert model.bytes == [ 

40 Base64.encode(b'foo'), 

41 Base64.encode(b'bar'), 

42 Base64.encode(b'baz'), 

43 ]