From bcd5c8b8487e31b378957ae2d8280515609c6d63 Mon Sep 17 00:00:00 2001 From: jeremywu <15975785+JeremyWuuuuu@users.noreply.github.com> Date: Thu, 10 Feb 2022 16:35:44 +0800 Subject: [PATCH] test(components): removing mock folder (#5911) - Remove mock folder from the project root - Add mock for each component test file accordingly --- __mocks__/lodash/debounce.js | 5 ----- __mocks__/lodash/index.js | 6 ------ __mocks__/lodash/throttle.js | 5 ----- .../components/cascader/__tests__/cascader.spec.ts | 11 +++++++++++ .../color-picker/__tests__/color-picker.spec.ts | 11 +++++++++++ .../infinite-scroll/__tests__/infinite-scroll.spec.ts | 10 ++++++++++ .../components/select-v2/__tests__/select.spec.ts | 11 +++++++++++ packages/components/select/__tests__/select.spec.ts | 11 +++++++++++ packages/components/slider/__tests__/slider.spec.ts | 11 +++++++++++ .../components/table/__tests__/table-column.spec.ts | 11 +++++++++++ .../components/table/__tests__/table-test-common.ts | 11 +++++++++++ packages/components/table/__tests__/table.spec.ts | 11 +++++++++++ 12 files changed, 98 insertions(+), 16 deletions(-) delete mode 100644 __mocks__/lodash/debounce.js delete mode 100644 __mocks__/lodash/index.js delete mode 100644 __mocks__/lodash/throttle.js diff --git a/__mocks__/lodash/debounce.js b/__mocks__/lodash/debounce.js deleted file mode 100644 index 1b5d535835..0000000000 --- a/__mocks__/lodash/debounce.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = jest.fn((fn) => { - fn.cancel = jest.fn() - fn.flush = jest.fn() - return fn -}) diff --git a/__mocks__/lodash/index.js b/__mocks__/lodash/index.js deleted file mode 100644 index 07774998e9..0000000000 --- a/__mocks__/lodash/index.js +++ /dev/null @@ -1,6 +0,0 @@ -const _ = jest.requireActual('lodash') - -_.debounce = require('./debounce') -_.throttle = require('./throttle') - -module.exports = _ diff --git a/__mocks__/lodash/throttle.js b/__mocks__/lodash/throttle.js deleted file mode 100644 index 1b5d535835..0000000000 --- a/__mocks__/lodash/throttle.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = jest.fn((fn) => { - fn.cancel = jest.fn() - fn.flush = jest.fn() - return fn -}) diff --git a/packages/components/cascader/__tests__/cascader.spec.ts b/packages/components/cascader/__tests__/cascader.spec.ts index 9c23d0e0a9..8e11d87f20 100644 --- a/packages/components/cascader/__tests__/cascader.spec.ts +++ b/packages/components/cascader/__tests__/cascader.spec.ts @@ -6,6 +6,17 @@ import { ArrowDown, Check, CircleClose } from '@element-plus/icons-vue' import { POPPER_CONTAINER_SELECTOR } from '@element-plus/hooks' import Cascader from '../src/index.vue' +jest.mock('lodash-unified', () => { + return { + ...(jest.requireActual('lodash-unified') as Record), + debounce: jest.fn((fn) => { + fn.cancel = jest.fn() + fn.flush = jest.fn() + return fn + }), + } +}) + const OPTIONS = [ { value: 'zhejiang', diff --git a/packages/components/color-picker/__tests__/color-picker.spec.ts b/packages/components/color-picker/__tests__/color-picker.spec.ts index 18c7d428d8..a7751ab5ce 100644 --- a/packages/components/color-picker/__tests__/color-picker.spec.ts +++ b/packages/components/color-picker/__tests__/color-picker.spec.ts @@ -5,6 +5,17 @@ import type { ComponentPublicInstance } from 'vue' import type { Nullable } from '@element-plus/utils/types' +jest.mock('lodash-unified', () => { + return { + ...(jest.requireActual('lodash-unified') as Record), + debounce: jest.fn((fn) => { + fn.cancel = jest.fn() + fn.flush = jest.fn() + return fn + }), + } +}) + const _mount = (template: string, data: () => { [key: string]: any }) => { const Component = defineComponent({ components: { diff --git a/packages/components/infinite-scroll/__tests__/infinite-scroll.spec.ts b/packages/components/infinite-scroll/__tests__/infinite-scroll.spec.ts index 099a84fd80..eae14ab61b 100644 --- a/packages/components/infinite-scroll/__tests__/infinite-scroll.spec.ts +++ b/packages/components/infinite-scroll/__tests__/infinite-scroll.spec.ts @@ -3,6 +3,16 @@ import { mount } from '@vue/test-utils' import { tick, defineGetter, makeScroll } from '@element-plus/test-utils' import InfiniteScroll, { SCOPE, DEFAULT_DELAY } from '../src/index' +jest.mock('lodash-unified', () => { + return { + throttle: jest.fn((fn) => { + fn.cancel = jest.fn() + fn.flush = jest.fn() + return fn + }), + } +}) + const CONTAINER_HEIGHT = 200 const ITEM_HEIGHT = 100 const CONTAINER_STYLE = `overflow-y: auto;` diff --git a/packages/components/select-v2/__tests__/select.spec.ts b/packages/components/select-v2/__tests__/select.spec.ts index 4042d720e3..156fffd34b 100644 --- a/packages/components/select-v2/__tests__/select.spec.ts +++ b/packages/components/select-v2/__tests__/select.spec.ts @@ -8,6 +8,17 @@ import { hasClass } from '@element-plus/utils/dom' import { POPPER_CONTAINER_SELECTOR } from '@element-plus/hooks' import Select from '../src/select.vue' +jest.mock('lodash-unified', () => { + return { + ...(jest.requireActual('lodash-unified') as Record), + debounce: jest.fn((fn) => { + fn.cancel = jest.fn() + fn.flush = jest.fn() + return fn + }), + } +}) + jest.useFakeTimers() const _mount = makeMountFunc({ diff --git a/packages/components/select/__tests__/select.spec.ts b/packages/components/select/__tests__/select.spec.ts index 52c7f7a04a..e09d47fa18 100644 --- a/packages/components/select/__tests__/select.spec.ts +++ b/packages/components/select/__tests__/select.spec.ts @@ -7,6 +7,17 @@ import Select from '../src/select.vue' import Group from '../src/option-group.vue' import Option from '../src/option.vue' +jest.mock('lodash-unified', () => { + return { + ...(jest.requireActual('lodash-unified') as Record), + debounce: jest.fn((fn) => { + fn.cancel = jest.fn() + fn.flush = jest.fn() + return fn + }), + } +}) + jest.useFakeTimers() interface SelectProps { diff --git a/packages/components/slider/__tests__/slider.spec.ts b/packages/components/slider/__tests__/slider.spec.ts index 249c05c366..c24e2f5514 100644 --- a/packages/components/slider/__tests__/slider.spec.ts +++ b/packages/components/slider/__tests__/slider.spec.ts @@ -2,6 +2,17 @@ import { h, nextTick } from 'vue' import { mount } from '@vue/test-utils' import Slider from '../src/index.vue' +jest.mock('lodash-unified', () => { + return { + ...(jest.requireActual('lodash-unified') as Record), + debounce: jest.fn((fn) => { + fn.cancel = jest.fn() + fn.flush = jest.fn() + return fn + }), + } +}) + describe('Slider', () => { it('create', () => { const wrapper = mount(Slider) diff --git a/packages/components/table/__tests__/table-column.spec.ts b/packages/components/table/__tests__/table-column.spec.ts index ee2564d462..645a8ffefd 100644 --- a/packages/components/table/__tests__/table-column.spec.ts +++ b/packages/components/table/__tests__/table-column.spec.ts @@ -4,6 +4,17 @@ import ElTable from '../src/table.vue' import ElTableColumn from '../src/table-column/index' import { mount, getTestData } from './table-test-common' +jest.mock('lodash-unified', () => { + return { + ...(jest.requireActual('lodash-unified') as Record), + debounce: jest.fn((fn) => { + fn.cancel = jest.fn() + fn.flush = jest.fn() + return fn + }), + } +}) + describe('table column', () => { describe('column attributes', () => { const createTable = function ( diff --git a/packages/components/table/__tests__/table-test-common.ts b/packages/components/table/__tests__/table-test-common.ts index d0437fb9f9..9f71ee1f37 100644 --- a/packages/components/table/__tests__/table-test-common.ts +++ b/packages/components/table/__tests__/table-test-common.ts @@ -1,5 +1,16 @@ import { mount as _mount } from '@vue/test-utils' +jest.mock('lodash-unified', () => { + return { + ...(jest.requireActual('lodash-unified') as Record), + debounce: jest.fn((fn) => { + fn.cancel = jest.fn() + fn.flush = jest.fn() + return fn + }), + } +}) + export const mount = (opt: any) => _mount(opt, { attachTo: 'body', diff --git a/packages/components/table/__tests__/table.spec.ts b/packages/components/table/__tests__/table.spec.ts index e77e8430f1..14bb11ebe7 100644 --- a/packages/components/table/__tests__/table.spec.ts +++ b/packages/components/table/__tests__/table.spec.ts @@ -10,6 +10,17 @@ import type { ComponentPublicInstance } from 'vue' const { CheckboxGroup: ElCheckboxGroup } = ElCheckbox +jest.mock('lodash-unified', () => { + return { + ...(jest.requireActual('lodash-unified') as Record), + debounce: jest.fn((fn) => { + fn.cancel = jest.fn() + fn.flush = jest.fn() + return fn + }), + } +}) + jest.useFakeTimers() describe('Table.vue', () => {