Note that these are very basic tests and just a start to learn vitest. There are no tests for DOM/Window because I do not know how to do those tests the best way with some headless brower testing suit or which to use
124 lines
3.1 KiB
JavaScript
124 lines
3.1 KiB
JavaScript
import { describe, it, expect } from "vitest";
|
|
|
|
import {
|
|
// errorCatch,
|
|
// isFunction,
|
|
// executeFunctionByName,
|
|
isObject,
|
|
getObjectCount,
|
|
keyInObject,
|
|
objectKeyExists,
|
|
getKeyByValue,
|
|
valueInObject,
|
|
objectValueExists,
|
|
deepCopyFunction
|
|
} from '../src/utils/JavaScriptHelpers.mjs';
|
|
|
|
|
|
// needs window class
|
|
// function test() {}
|
|
/* describe("isFunction", () => {
|
|
it('Should return brack if function', () => {
|
|
expect(isFunction("test")).toEqual(true);
|
|
expect(isFunction("testFalse")).toEqual(false);
|
|
});
|
|
}); */
|
|
|
|
describe("isObject", () => {
|
|
it('should return bool if object', () => {
|
|
let empty_object = {};
|
|
let is_object = {
|
|
"a": 1
|
|
};
|
|
let is_string = "";
|
|
let is_number = 1;
|
|
expect(isObject(empty_object)).toEqual(true);
|
|
expect(isObject(is_object)).toEqual(true);
|
|
expect(isObject(is_string)).toEqual(false);
|
|
expect(isObject(is_number)).toEqual(false);
|
|
});
|
|
});
|
|
|
|
describe("getObjectCount", () => {
|
|
it('should return count of objects', () => {
|
|
let zero = {};
|
|
let one = {
|
|
"a": 1
|
|
};
|
|
let notset = "";
|
|
expect(getObjectCount(zero)).toEqual(0);
|
|
expect(getObjectCount(one)).toEqual(1);
|
|
expect(getObjectCount(notset)).toEqual(-1);
|
|
});
|
|
});
|
|
|
|
describe("objectKeyExists", () => {
|
|
it('should return true if key exists in object', () => {
|
|
let zero = {};
|
|
let one = {
|
|
"a": 1,
|
|
"b": "foo"
|
|
};
|
|
let notset = "";
|
|
expect(keyInObject("", zero)).toEqual(false);
|
|
expect(objectKeyExists(zero, "")).toEqual(false);
|
|
expect(keyInObject("a", one)).toEqual(true);
|
|
expect(objectKeyExists(one, "a")).toEqual(true);
|
|
expect(keyInObject("c", one)).toEqual(false);
|
|
expect(objectKeyExists(one, "c")).toEqual(false);
|
|
expect(keyInObject("", notset)).toEqual(false);
|
|
expect(objectKeyExists(notset, "")).toEqual(false);
|
|
});
|
|
});
|
|
|
|
describe("getKeyByValue", () => {
|
|
it('should return the key for matching volume, first serve', () => {
|
|
let zero = {};
|
|
let one = {
|
|
"a": 1,
|
|
"b": "foo"
|
|
};
|
|
let notset = "";
|
|
expect(getKeyByValue(zero, "")).toEqual("");
|
|
expect(getKeyByValue(one, 1)).toEqual("a");
|
|
expect(getKeyByValue(one, "foo")).toEqual("b");
|
|
expect(getKeyByValue(one, "bar")).toEqual("");
|
|
expect(getKeyByValue(notset, "")).toEqual("");
|
|
});
|
|
});
|
|
|
|
describe("objectValueExists", () => {
|
|
it('should return true if key exists in object', () => {
|
|
let zero = {};
|
|
let one = {
|
|
"a": 1,
|
|
"b": "foo"
|
|
};
|
|
let notset = "";
|
|
expect(valueInObject(zero, "")).toEqual(false);
|
|
expect(objectValueExists(zero, "")).toEqual(false);
|
|
expect(valueInObject(one, 1)).toEqual(true);
|
|
expect(objectValueExists(one, 1)).toEqual(true);
|
|
expect(valueInObject(one, "foo")).toEqual(true);
|
|
expect(objectValueExists(one, "foo")).toEqual(true);
|
|
expect(valueInObject(one, "bar")).toEqual(false);
|
|
expect(objectValueExists(one, "bar")).toEqual(false);
|
|
expect(valueInObject(notset, "")).toEqual(false);
|
|
expect(objectValueExists(notset, "")).toEqual(false);
|
|
});
|
|
});
|
|
|
|
// deepCopyFunction
|
|
describe("deepCopyFunction", () => {
|
|
it('should deep copy an object', () => {
|
|
let one = {
|
|
"a": 1,
|
|
"b": "foo"
|
|
};
|
|
let new_object = deepCopyFunction(one);
|
|
expect(new_object).toStrictEqual(one);
|
|
});
|
|
});
|
|
|
|
// __END__
|