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

11 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2024-08-27 18:25 +0000

1import pytest 

2 

3from prisma import Base64, Prisma 

4 

5 

6@pytest.mark.asyncio 

7async def test_pushing_byte(client: Prisma) -> None: 

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

9 models = [ 

10 await client.lists.create({}), 

11 await client.lists.create( 

12 data={ 

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

14 }, 

15 ), 

16 ] 

17 

18 model = await client.lists.update( 

19 where={ 

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

21 }, 

22 data={ 

23 'bytes': { 

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

25 }, 

26 }, 

27 ) 

28 assert model is not None 

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

30 

31 model = await client.lists.update( 

32 where={ 

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

34 }, 

35 data={ 

36 'bytes': { 

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

38 }, 

39 }, 

40 ) 

41 assert model is not None 

42 assert model.bytes == [ 

43 Base64.encode(b'foo'), 

44 Base64.encode(b'bar'), 

45 Base64.encode(b'baz'), 

46 ]