UNPKG

jenesius-vue-form

Version:

Heavy form system for Vue.js

97 lines (88 loc) 2.61 kB
import Form from "../../../src/classes/Form"; describe("Form clean values", () => { test("Simple clean values", () => { const form = new Form(); form.setValues({ name: "Jack" }) expect(form.getValueByName('name')).toBe("Jack"); form.cleanValues(); expect(form.getValueByName('name')).toBe(undefined); expect(form.values).toEqual({}) }) test("Clean values with overwrite", () => { const form = new Form(); form.setValues({ name: "Jack", age: 23 }) expect(form.getValueByName('name')).toBe("Jack"); form.cleanValues({ name: "Jenesius" }); expect(form.getValueByName('name')).toBe("Jenesius"); expect(form.values).toEqual({name: "Jenesius"}) }) test("Clean values for children item", () => { const form = new Form(); form.setValues({ address: { city: "Mogilev" } }) const child = new Form({name: "address"}); form.subscribe(child); child.cleanValues(); expect(form.values).toEqual({ address: {} }) expect(child.values).toEqual({}); }) test("Clean values for children item with override", () => { const form = new Form(); form.setValues({ address: { city: "Mogilev" } }) const child = new Form({name: "address"}); form.subscribe(child); child.cleanValues({ country: "Belarus" }); expect(form.values).toEqual({ address: { country: "Belarus" } }) expect(child.values).toEqual({ country: "Belarus" }); }) test("Override values for child item", () => { const form = new Form(); const child = new Form({ name: "address" }) form.subscribe(child); form.setValues({ address: { city: 1 } }) expect(child.values).toEqual({city: 1}) form.cleanValues({ address: { country: 2 } }) expect(form.values).toEqual({ address: { country: 2 } }) expect(child.values).toEqual({ country: 2 }) }) })