jenesius-vue-form
Version:
Heavy form system for Vue.js
52 lines (47 loc) • 1.51 kB
text/typescript
import checkNameInObject from "../../../src/utils/check-name-in-object";
describe("Tests for check name in object", () => {
test("Simple test. Should be true in inline object", () => {
const obj = {
name: 'Jenesius'
}
expect(checkNameInObject(obj, 'name')).toBe(true);
})
test("Should be false when provided wrong name", () => {
const obj = {
label: "Mark"
}
expect(checkNameInObject(obj, 'name')).toBe(false);
})
test('Should be false when provided long composite name', () => {
const obj = {
user: {
address: {
city: {
name: 'Mogilve'
}
}
}
}
expect(checkNameInObject(obj, 'user.email.short')).toBe(false);
})
test("Should be false when some intermediate value is primitive", () => {
const obj = {
user: {
address: null
}
}
expect(checkNameInObject(obj, 'user.address.city.name')).toBe(false);
})
test('True, when long composite name included', () => {
const obj = {
user: {
address: {
city: {
name: "mogilev"
}
}
}
}
expect(checkNameInObject(obj, 'user.address.city.name')).toBe(true);
})
})