Skip to content

Commit 578b5f8

Browse files
authored
chore(tests): nested draft array update (#304)
1 parent 3a9f76c commit 578b5f8

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

test/spec/store.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1859,6 +1859,47 @@ describe("store:", () => {
18591859
expect(el.draft).toEqual({ value: "test 2" });
18601860
});
18611861
});
1862+
1863+
it("in draft mode sets nested array model", async () => {
1864+
const NestedModel = {
1865+
id: true,
1866+
value: "",
1867+
};
1868+
1869+
Model = {
1870+
value: "test",
1871+
nested: [NestedModel],
1872+
[store.connect]: {
1873+
get: () => {
1874+
return { value: "test 2" };
1875+
},
1876+
set: (id, values) => values,
1877+
},
1878+
};
1879+
1880+
define({
1881+
tag: "test-store-factory-singleton-draft-nested-array",
1882+
draft: store(Model, { draft: true }),
1883+
});
1884+
1885+
el = document.createElement(
1886+
"test-store-factory-singleton-draft-nested-array",
1887+
);
1888+
1889+
expect(el.draft).toEqual({ value: "test 2", nested: [] });
1890+
1891+
const nestedModel = await store.set(NestedModel, { value: "nested" });
1892+
const updatedDraft = await store.set(el.draft, {
1893+
nested: [nestedModel],
1894+
});
1895+
1896+
expect(updatedDraft).toEqual({
1897+
value: "test 2",
1898+
nested: [{ id: nestedModel.id, value: "nested" }],
1899+
});
1900+
1901+
expect(updatedDraft.nested[0]).toBe(nestedModel);
1902+
});
18621903
});
18631904

18641905
describe("for listing model", () => {

0 commit comments

Comments
 (0)