@shopify/shopify-api
Version:
Shopify API Library for Node - accelerate development with support for authentication, graphql proxy, webhooks
1 lines • 3.3 kB
Source Map (JSON)
{"version":3,"file":"setup-valid-session.mjs","sources":["../../../../../test-helpers/setup-valid-session.ts"],"sourcesContent":["import type {SessionParams} from '../lib/session/types';\nimport {Session} from '../lib/session/session';\n\nimport {USER_ID} from './const';\n\n// Utility type to mark all nested parameters as optional\ntype DeepPartial<T> = T extends object\n ? {[P in keyof T]?: DeepPartial<T[P]>}\n : T;\n\n/**\n * Creates and returns a fake Session for the shop defined in sessionParams.\n *\n * @param sessionParams The Session parameters to use when creating the fake Session.\n * @returns {Session} The fake Session created.\n */\nexport function setUpValidSession(\n sessionParams: DeepPartial<SessionParams> &\n Pick<SessionParams, 'shop' | 'expires'>,\n): Session {\n const overrides: Partial<SessionParams> = {...sessionParams} as SessionParams;\n const shop = sessionParams.shop;\n let id = `offline_${shop}`;\n if (sessionParams.isOnline) {\n const onlineAccessInfo = sessionParams.onlineAccessInfo;\n const associated_user = onlineAccessInfo?.associated_user;\n delete sessionParams.onlineAccessInfo?.associated_user;\n delete sessionParams.onlineAccessInfo;\n\n id = `${shop}_${USER_ID}`;\n // Expires one day from now\n overrides.expires =\n sessionParams.expires || new Date(Date.now() + 1000 * 3600 * 24);\n overrides.onlineAccessInfo = {\n associated_user_scope: 'testScope',\n expires_in: 3600 * 24,\n associated_user: {\n id: USER_ID,\n account_owner: true,\n collaborator: true,\n email: 'test@test.test',\n email_verified: true,\n first_name: 'Test',\n last_name: 'User',\n locale: 'en-US',\n ...associated_user,\n },\n ...onlineAccessInfo,\n };\n }\n\n const session = new Session({\n id,\n shop,\n isOnline: Boolean(sessionParams.isOnline),\n state: 'test',\n accessToken: 'totally_real_token',\n scope: 'testScope',\n ...overrides,\n });\n\n return session;\n}\n"],"names":[],"mappings":";;;AAUA;;;;;AAKG;AACG,SAAU,iBAAiB,CAC/B,aACyC,EAAA;AAEzC,IAAA,MAAM,SAAS,GAA2B,EAAC,GAAG,aAAa,EAAkB;AAC7E,IAAA,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI;AAC/B,IAAA,IAAI,EAAE,GAAG,CAAA,QAAA,EAAW,IAAI,EAAE;AAC1B,IAAA,IAAI,aAAa,CAAC,QAAQ,EAAE;AAC1B,QAAA,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB;AACvD,QAAA,MAAM,eAAe,GAAG,gBAAgB,EAAE,eAAe;AACzD,QAAA,OAAO,aAAa,CAAC,gBAAgB,EAAE,eAAe;QACtD,OAAO,aAAa,CAAC,gBAAgB;AAErC,QAAA,EAAE,GAAG,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,OAAO,EAAE;;AAEzB,QAAA,SAAS,CAAC,OAAO;AACf,YAAA,aAAa,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QAClE,SAAS,CAAC,gBAAgB,GAAG;AAC3B,YAAA,qBAAqB,EAAE,WAAW;YAClC,UAAU,EAAE,IAAI,GAAG,EAAE;AACrB,YAAA,eAAe,EAAE;AACf,gBAAA,EAAE,EAAE,OAAO;AACX,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,KAAK,EAAE,gBAAgB;AACvB,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,GAAG,eAAe;AACnB,aAAA;AACD,YAAA,GAAG,gBAAgB;SACpB;IACH;AAEA,IAAA,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,EAAE;QACF,IAAI;AACJ,QAAA,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;AACzC,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,WAAW,EAAE,oBAAoB;AACjC,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,GAAG,SAAS;AACb,KAAA,CAAC;AAEF,IAAA,OAAO,OAAO;AAChB;;;;"}