From 1865939f1d877ec04ff2a9b577bc3d10f5738447 Mon Sep 17 00:00:00 2001 From: Andre Christoga Pramaditya Date: Thu, 17 Mar 2022 21:42:49 +0700 Subject: [PATCH 1/2] feat(jest): 75% coverage for components/mixins/UserPermissions --- .../__snapshots__/index.test.ts.snap | 20 ++++++++ .../mixins/UserPermissions/index.test.ts | 48 +++++++++++++++++++ components/mixins/UserPermissions/index.ts | 4 ++ 3 files changed, 72 insertions(+) create mode 100644 components/mixins/UserPermissions/__snapshots__/index.test.ts.snap diff --git a/components/mixins/UserPermissions/__snapshots__/index.test.ts.snap b/components/mixins/UserPermissions/__snapshots__/index.test.ts.snap new file mode 100644 index 0000000000..957db3d619 --- /dev/null +++ b/components/mixins/UserPermissions/__snapshots__/index.test.ts.snap @@ -0,0 +1,20 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`index.UserPermissions.created 0 1`] = `undefined`; + +exports[`index.exportForTesting.formatDevices 0 1`] = ` +Array [ + Object { + "text": "videoinput: FaceTime HD Camera (Built-in) ", + "value": "id=csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8=", + }, + Object { + "text": "audioinput: default (Built-in Microphone) ", + "value": "id=RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM=", + }, + Object { + "text": "audioinput: Built-in Microphone ", + "value": "id=r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=", + }, +] +`; diff --git a/components/mixins/UserPermissions/index.test.ts b/components/mixins/UserPermissions/index.test.ts index a0bbd57cb7..e630f2252a 100644 --- a/components/mixins/UserPermissions/index.test.ts +++ b/components/mixins/UserPermissions/index.test.ts @@ -1,7 +1,55 @@ +import { result } from 'lodash' import * as index from '~/components/mixins/UserPermissions/index' +describe('index.UserPermissions.created', () => { + test('0', () => { + const result: any = index.UserPermissions.created() + expect(result).toMatchSnapshot() + }) +}) describe('index.UserPermissions.methods.getUserPermissions', () => { test('0', async () => { await index.UserPermissions.methods.getUserPermissions() }) }) +describe('index.UserPermissions.methods.requestUserPermissions', () => { + test('0', async () => { + const mockObj = { a: 'b' } + window.navigator = jest.fn() + window.navigator.mediaDevices = jest.fn() + window.navigator.mediaDevices.getUserMedia = jest + .fn() + .mockReturnValueOnce(mockObj) + + const result = await index.UserPermissions.methods.requestUserPermissions({ + audio: true, + peerIdentity: 'identity', + preferCurrentTab: true, + video: false, + }) + + expect(result).toMatchObject(mockObj) + }) +}) +describe('index.exportForTesting.formatDevices', () => { + test('0', async () => { + const devices = [ + { + label: 'videoinput: FaceTime HD Camera (Built-in) ', + deviceId: 'id=csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8=', + }, + { + label: 'audioinput: default (Built-in Microphone) ', + deviceId: 'id=RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM=', + }, + { + label: 'audioinput: Built-in Microphone ', + deviceId: 'id=r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=', + }, + ] + + const result = await index.exportForTesting.formatDevices(devices) + + expect(result).toMatchSnapshot() + }) +}) diff --git a/components/mixins/UserPermissions/index.ts b/components/mixins/UserPermissions/index.ts index e83178bf8d..5074027cc7 100644 --- a/components/mixins/UserPermissions/index.ts +++ b/components/mixins/UserPermissions/index.ts @@ -140,3 +140,7 @@ export const UserPermissions = { } export default UserPermissions + +export const exportForTesting = { + formatDevices, +} From 1d639b4727e81be4bb70f58d769a55ead6fbc470 Mon Sep 17 00:00:00 2001 From: Andre Christoga Pramaditya Date: Fri, 18 Mar 2022 16:09:01 +0700 Subject: [PATCH 2/2] chore(jest): remove useless import --- components/mixins/UserPermissions/index.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/components/mixins/UserPermissions/index.test.ts b/components/mixins/UserPermissions/index.test.ts index e630f2252a..e11aa0f4c0 100644 --- a/components/mixins/UserPermissions/index.test.ts +++ b/components/mixins/UserPermissions/index.test.ts @@ -1,4 +1,3 @@ -import { result } from 'lodash' import * as index from '~/components/mixins/UserPermissions/index' describe('index.UserPermissions.created', () => {