axios-axios/tests/unit/utils/extend.test.js
Jay d905b7598d
refactor: refresh test suite to be modernised (#7489)
* chore: port karma tests

* chore: port karma tests

* chore: port karma tests

* chore: tests

* chore: tests

* chore: tests

* chore: fix issues with port collisions

* refactor: utils tests

* refactor: utils tests

* refactor: utils tests

* refactor: tests to vitests

* refactor: tests to vitests

* refactor: tests to vitests

* refactor: tests to vitests

* refactor: tests to vitests

* refactor: tests to vitests

* refactor: tests to vitests

* refactor: ci

* chore: install pw deps

* chore: fixx ai feedback

* chore: wip compatability tests

* chore: wip compatability tests

* chore: wip compatability tests

* refactor: wip smoke

* chore: smoke test run

* chore: update unzip

* chore: update testing

* chore: update testing

* chore: update testing

* chore: update testing

* chore: update testing

* chore: skip tests that cannot run on node 16 and lower

* chore: fix 16x under tests

* chore: rest of tests

* fix: functions and runs

* feat: added tests for esm smoke

* feat: added smoke

* chore: ignore ai gen plans

* chore: ci fixes

* chore: fix small p2s
2026-03-12 15:27:09 +02:00

41 lines
813 B
JavaScript

import { describe, it, expect } from 'vitest';
import utils from '../../../lib/utils.js';
const { extend } = utils;
describe('utils::extend', () => {
it('should be mutable', () => {
const a = {};
const b = { foo: 123 };
extend(a, b);
expect(a.foo).toEqual(b.foo);
});
it('should extend properties', () => {
let a = { foo: 123, bar: 456 };
const b = { bar: 789 };
a = extend(a, b);
expect(a.foo).toEqual(123);
expect(a.bar).toEqual(789);
});
it('should bind to thisArg', () => {
const a = {};
const b = {
getFoo: function getFoo() {
return this.foo;
},
};
const thisArg = { foo: 'barbaz' };
extend(a, b, thisArg);
expect(typeof a.getFoo).toEqual('function');
expect(a.getFoo()).toEqual(thisArg.foo);
});
});