1import * as ScreenCapture from '../ScreenCapture'; 2 3describe('ScreenCapture methods are defined', () => { 4 it('isAvailableAsync is defined', async () => { 5 expect(ScreenCapture.isAvailableAsync).toBeDefined(); 6 }); 7 8 it('preventScreenCapture is defined', async () => { 9 expect(ScreenCapture.preventScreenCaptureAsync).toBeDefined(); 10 }); 11 12 it('allowScreenCapture is defined', async () => { 13 expect(ScreenCapture.allowScreenCaptureAsync).toBeDefined(); 14 }); 15 16 it('usePreventScreenCapture hook is defined', async () => { 17 expect(ScreenCapture.usePreventScreenCapture).toBeDefined(); 18 }); 19 20 it('addScreenshotListener is defined', async () => { 21 expect(ScreenCapture.addScreenshotListener).toBeDefined(); 22 }); 23 24 it('removeScreenshotListener is defined', async () => { 25 expect(ScreenCapture.removeScreenshotListener).toBeDefined(); 26 }); 27}); 28 29describe('Test key functionality', () => { 30 it('resolves false for isAvailableAsync on web platform', async () => { 31 await expect(ScreenCapture.isAvailableAsync()).resolves.toBeFalsy(); 32 }); 33 34 it('throws for preventScreenCapture on web platform', async () => { 35 await expect(ScreenCapture.preventScreenCaptureAsync).rejects.toThrowError('not available'); 36 }); 37 38 it('throws for allowScreenCapture on web platform', async () => { 39 await expect(ScreenCapture.allowScreenCaptureAsync).rejects.toThrowError('not available'); 40 }); 41}); 42