{"ScriptPreparationCode":"function destructuringFn(input) {\r\n const { contextMenu: { data: { documents = [] } = {} } = {} } = input;\r\n return documents;\r\n}\r\n\r\nfunction destructuringFnDynamic(input, key) {\r\n const { contextMenu: { data: { [key]: documents = [] } = {} } = {} } = input;\r\n return documents;\r\n}\r\n\r\nfunction selectnFn(input) {\r\n const documents = selectn(input, \u0027contextMenu.data.documents\u0027, []);\r\n return documents;\r\n}\r\n\r\nfunction selectnFnDynamic(input, key) {\r\n const documents = selectn(input, \u0060contextMenu.data.${key}\u0060, []);\r\n return documents;\r\n}\r\n\r\nfunction test(fn, input, key) {\r\n fn(input, key);\r\n}","TestCases":[{"Name":"Destructuring with defaults, empty input","Code":"test(destructuringFn, {});","IsDeferred":false},{"Name":"Selectn get, empty input","Code":"test(selectnFn, {});","IsDeferred":false},{"Name":"Destructuring with defaults, find item","Code":"const input = { contextMenu: { data: { documents: [{ id: \u0027doc\u0027 }] } } };\r\ntest(destructuringFn, input);","IsDeferred":false},{"Name":"Selectn get, find item","Code":"const input = { contextMenu: { data: { documents: [{ id: \u0027doc\u0027 }] } } };\r\ntest(selectnFn, input);","IsDeferred":false},{"Name":"Destructuring null input","Code":"test(destructuringFn, null);","IsDeferred":false},{"Name":"Selectn null input","Code":"test(selectnFn, null);","IsDeferred":false},{"Name":"Destructuring undefined input","Code":"let input;\r\ntest(destructuringFn, input);","IsDeferred":false},{"Name":"Lodash undefined input","Code":"let input;\r\ntest(selectnFn, input);","IsDeferred":false},{"Name":"Destructuring dynamic key","Code":"const input = { contextMenu: { data: { documents: [{ id: \u0027doc\u0027 }] } } };\r\ntest(destructuringFn, input, \u0027documents\u0027);","IsDeferred":false},{"Name":"Lodash dynamic key","Code":"const input = { contextMenu: { data: { documents: [{ id: \u0027doc\u0027 }] } } };\r\ntest(selectnFn, input, \u0027documents\u0027);","IsDeferred":false}]}