UNPKG

jenesius-vue-form

Version:

Heavy form system for Vue.js

73 lines (69 loc) 2.37 kB
import Form from "../../../src/classes/Form"; describe("Form accept changes", () => { test("Accept clean changes", () => { const form = new Form(); form.setValues({test: 1}); form.acceptChanges("address"); expect(form.changes).toEqual({}) expect(form.values).toEqual({test: 1}) }) test("Accept primitive value", () => { const form = new Form(); form.setValues({test: 1}); form.change({name: "Jack"}); form.acceptChanges("name"); expect(form.changes).toEqual({}) expect(form.values).toEqual({test: 1, name: "Jack"}) }) test("Accept object value", () =>{ const form = new Form(); form.setValues({test: 1}); form.change({address: { city: { index: 111 } }}); form.acceptChanges("address"); expect(form.changes).toEqual({}) expect(form.values).toEqual({test: 1, address: { city:{ index: 111 } }}) }) test("Accept one child of multi object", () => { const _changes = { address: { city: { index: 111 }, country: "Canada" } }; const form = new Form(); form.change(_changes); form.acceptChanges('address.city'); expect(form.changes).toEqual({ address: {country: "Canada"} }) expect(form.pureValues).toEqual({ address: { city: { index: 111 } } }) }) test("Accept one child of single object", () => { const _changes = { address: { city: { index: 111 }} }; const form = new Form(); form.change(_changes); form.acceptChanges('address.city.index'); expect(form.changes).toEqual({ }) expect(form.pureValues).toEqual({ address: { city: { index: 111 } } }) }) test("Accept multi value for primitive", () => { const form = new Form(); form.change({ age: 25 }) form.acceptChanges('age.index.code'); expect(form.changes).toEqual({ age: 25 }) expect(form.pureValues).toEqual({}) }) test("Accept clean without name for clean changes", () =>{}) test("Accept clean without name", () =>{}) test("Step accept and then full accept should clean changes", () => { const form = new Form(); form.change({ username: "Jack", age: 24, id: 1 }) form.acceptChanges('username'); expect(form.pureValues).toEqual({ username: "Jack" }) expect(form.changes).toEqual({ age: 24, id: 1 }) form.acceptChanges(); expect(form.pureValues).toEqual({ username: "Jack", age: 24, id: 1 }); expect(form.changes).toEqual({}) }) })