axios-miniprogram/test/helpers/ignore.test.ts

76 lines
1.3 KiB
TypeScript
Raw Permalink Normal View History

import { describe, test, expect } from 'vitest';
import { ignore, orgIgnore } from '@/helpers/ignore';
describe('src/helpers/ignore.ts', () => {
2023-04-15 12:20:09 +08:00
test('不应该改变传递的对象', () => {
2023-04-03 21:03:33 +08:00
expect(ignore({ v1: 1 })).toEqual({ v1: 1 });
});
2023-04-27 21:25:47 +08:00
test('应该不改变源对象', () => {
const o = {
v1: 1,
};
expect(ignore(o, 'v1')).toEqual({});
expect(o).toEqual({
v1: 1,
});
});
test('应该忽略指定键值', () => {
2023-04-03 21:03:33 +08:00
const o = {
v1: 1,
v2: {},
v3: [],
};
expect(ignore(o, 'v1')).toEqual({
v2: {},
v3: [],
});
expect(ignore(o, 'v2')).toEqual({
v1: 1,
v3: [],
});
expect(ignore(o, 'v3')).toEqual({
v1: 1,
v2: {},
});
expect(ignore(o, 'v1', 'v2')).toEqual({
v3: [],
});
expect(ignore(o, 'v2', 'v3')).toEqual({
v1: 1,
});
expect(ignore(o, 'v1', 'v3')).toEqual({
v2: {},
});
expect(ignore(o, 'v1', 'v2', 'v3')).toEqual({});
});
2023-04-27 21:25:47 +08:00
test('应该从源对象删除', () => {
const o = {
v1: 1,
v2: {},
v3: [],
};
orgIgnore(o, ['v1']);
2023-04-27 21:25:47 +08:00
expect(o).toEqual({
v2: {},
v3: [],
});
orgIgnore(o, ['v2']);
2023-04-27 21:25:47 +08:00
expect(o).toEqual({
v3: [],
});
orgIgnore(o, ['v3']);
2023-04-27 21:25:47 +08:00
expect(o).toEqual({});
});
});