UNPKG

@wordpress/e2e-test-utils-playwright

Version:
8 lines (7 loc) 4.61 kB
{ "version": 3, "sources": ["../../src/request-utils/menus.ts"], "sourcesContent": ["/**\n * Internal dependencies\n */\nimport type { RequestUtils } from './index';\n\nexport interface MenuData {\n\ttitle: string;\n\tcontent: string;\n}\nexport interface NavigationMenu {\n\tid: number;\n\tcontent: string;\n\tstatus: 'publish' | 'future' | 'draft' | 'pending' | 'private';\n}\n\n/**\n * Create a classic menu\n *\n * @param name Menu name.\n * @return Menu content.\n */\nexport async function createClassicMenu( this: RequestUtils, name: string ) {\n\tconst menuItems = [\n\t\t{\n\t\t\ttitle: 'Custom link',\n\t\t\turl: 'http://localhost:8889/',\n\t\t\ttype: 'custom',\n\t\t\tmenu_order: 1,\n\t\t},\n\t];\n\n\tconst menu = await this.rest< NavigationMenu >( {\n\t\tmethod: 'POST',\n\t\tpath: `/wp/v2/menus/`,\n\t\tdata: {\n\t\t\tname,\n\t\t},\n\t} );\n\n\tawait this.batchRest(\n\t\tmenuItems.map( ( menuItem ) => ( {\n\t\t\tmethod: 'POST',\n\t\t\tpath: `/wp/v2/menu-items`,\n\t\t\tbody: {\n\t\t\t\tmenus: menu.id,\n\t\t\t\tobject_id: undefined,\n\t\t\t\t...menuItem,\n\t\t\t\tparent: undefined,\n\t\t\t},\n\t\t} ) )\n\t);\n\n\treturn menu;\n}\n\n/**\n * Create a navigation menu\n *\n * @param menuData navigation menu post data.\n * @return Menu content.\n */\nexport async function createNavigationMenu(\n\tthis: RequestUtils,\n\tmenuData: MenuData\n) {\n\treturn this.rest( {\n\t\tmethod: 'POST',\n\t\tpath: `/wp/v2/navigation/`,\n\t\tdata: {\n\t\t\tstatus: 'publish',\n\t\t\t...menuData,\n\t\t},\n\t} );\n}\n\n/**\n * Delete all navigation and classic menus\n *\n */\nexport async function deleteAllMenus( this: RequestUtils ) {\n\tconst navMenus = await this.rest< NavigationMenu[] >( {\n\t\tpath: `/wp/v2/navigation/`,\n\t\tdata: {\n\t\t\tstatus: [\n\t\t\t\t'publish',\n\t\t\t\t'pending',\n\t\t\t\t'draft',\n\t\t\t\t'auto-draft',\n\t\t\t\t'future',\n\t\t\t\t'private',\n\t\t\t\t'inherit',\n\t\t\t\t'trash',\n\t\t\t],\n\t\t},\n\t} );\n\n\tif ( navMenus.length ) {\n\t\tawait this.batchRest(\n\t\t\tnavMenus.map( ( menu ) => ( {\n\t\t\t\tmethod: 'DELETE',\n\t\t\t\tpath: `/wp/v2/navigation/${ menu.id }?force=true`,\n\t\t\t} ) )\n\t\t);\n\t}\n\n\tconst classicMenus = await this.rest< NavigationMenu[] >( {\n\t\tpath: `/wp/v2/menus/`,\n\t\tdata: {\n\t\t\tstatus: [\n\t\t\t\t'publish',\n\t\t\t\t'pending',\n\t\t\t\t'draft',\n\t\t\t\t'auto-draft',\n\t\t\t\t'future',\n\t\t\t\t'private',\n\t\t\t\t'inherit',\n\t\t\t\t'trash',\n\t\t\t],\n\t\t},\n\t} );\n\n\tif ( classicMenus.length ) {\n\t\tawait this.batchRest(\n\t\t\tclassicMenus.map( ( menu ) => ( {\n\t\t\t\tmethod: 'DELETE',\n\t\t\t\tpath: `/wp/v2/menus/${ menu.id }?force=true`,\n\t\t\t} ) )\n\t\t);\n\t}\n}\n\n/**\n * Get latest navigation menus\n *\n * @param args\n * @param args.status\n * @return {string} Menu content.\n */\nexport async function getNavigationMenus(\n\tthis: RequestUtils,\n\targs: { status: 'publish' }\n) {\n\tconst navigationMenus = await this.rest< NavigationMenu[] >( {\n\t\tmethod: 'GET',\n\t\tpath: `/wp/v2/navigation/`,\n\t\tdata: args,\n\t} );\n\treturn navigationMenus;\n}\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBA,eAAsB,kBAAuC,MAAe;AAC3E,QAAM,YAAY;AAAA,IACjB;AAAA,MACC,OAAO;AAAA,MACP,KAAK;AAAA,MACL,MAAM;AAAA,MACN,YAAY;AAAA,IACb;AAAA,EACD;AAEA,QAAM,OAAO,MAAM,KAAK,KAAwB;AAAA,IAC/C,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,MACL;AAAA,IACD;AAAA,EACD,CAAE;AAEF,QAAM,KAAK;AAAA,IACV,UAAU,IAAK,CAAE,cAAgB;AAAA,MAChC,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,QACL,OAAO,KAAK;AAAA,QACZ,WAAW;AAAA,QACX,GAAG;AAAA,QACH,QAAQ;AAAA,MACT;AAAA,IACD,EAAI;AAAA,EACL;AAEA,SAAO;AACR;AAQA,eAAsB,qBAErB,UACC;AACD,SAAO,KAAK,KAAM;AAAA,IACjB,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,MACL,QAAQ;AAAA,MACR,GAAG;AAAA,IACJ;AAAA,EACD,CAAE;AACH;AAMA,eAAsB,iBAAqC;AAC1D,QAAM,WAAW,MAAM,KAAK,KAA0B;AAAA,IACrD,MAAM;AAAA,IACN,MAAM;AAAA,MACL,QAAQ;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,EACD,CAAE;AAEF,MAAK,SAAS,QAAS;AACtB,UAAM,KAAK;AAAA,MACV,SAAS,IAAK,CAAE,UAAY;AAAA,QAC3B,QAAQ;AAAA,QACR,MAAM,qBAAsB,KAAK,EAAG;AAAA,MACrC,EAAI;AAAA,IACL;AAAA,EACD;AAEA,QAAM,eAAe,MAAM,KAAK,KAA0B;AAAA,IACzD,MAAM;AAAA,IACN,MAAM;AAAA,MACL,QAAQ;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,EACD,CAAE;AAEF,MAAK,aAAa,QAAS;AAC1B,UAAM,KAAK;AAAA,MACV,aAAa,IAAK,CAAE,UAAY;AAAA,QAC/B,QAAQ;AAAA,QACR,MAAM,gBAAiB,KAAK,EAAG;AAAA,MAChC,EAAI;AAAA,IACL;AAAA,EACD;AACD;AASA,eAAsB,mBAErB,MACC;AACD,QAAM,kBAAkB,MAAM,KAAK,KAA0B;AAAA,IAC5D,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,EACP,CAAE;AACF,SAAO;AACR;", "names": [] }