All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.cjs.cypress-utils.utils.email.js.map Maven / Gradle / Ivy

Go to download

A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.

There is a newer version: 4.12.3
Show newest version
{"version":3,"file":"email.js","names":["hostname","username","Cypress","env","token","authUrl","concat","headers","Authorization","getSession","cy","request","url","method","getDraftId","_ref","apiUrl","accountId","body","JSON","stringify","using","methodCalls","filter","name","then","_ref2","data","wrap","ids","as","getIdentityId","_ref3","_ref4","identities","list","identityId","find","_ref5","email","id","composeEmail","_ref6","draftId","emailDetails","subject","to","senderName","draftObject","from","keywords","$draft","mailboxIds","_defineProperty2","bodyValues","value","charset","textBody","partId","type","create","draft","onSuccessDestroyEmail","sendIt","emailId","checkForEnvs","Error","sendEmail","exports","_ref7","session","primaryAccounts","get","emailUtils"],"sources":["../../../../src/cypress-utils/utils/email.js"],"sourcesContent":["const hostname = \"api.fastmail.com\";\nconst username = Cypress.env(\"FASTMAIL_USERNAME\") || \"[email protected]\";\nconst token = Cypress.env(\"FASTMAIL_TOKEN\");\n\nconst authUrl = `https://${hostname}/.well-known/jmap`;\nconst headers = {\n  \"Content-Type\": \"application/json\",\n  Authorization: `Bearer ${token}`,\n};\n\nconst getSession = () => cy.request({ url: authUrl, method: \"GET\", headers });\n\nconst getDraftId = ({ apiUrl, accountId }) => {\n  cy.request({\n    url: apiUrl,\n    method: \"POST\",\n    headers,\n    body: JSON.stringify({\n      using: [\"urn:ietf:params:jmap:core\", \"urn:ietf:params:jmap:mail\"],\n      methodCalls: [\n        [\"Mailbox/query\", { accountId, filter: { name: \"Drafts\" } }, \"a\"],\n      ],\n    }),\n  }).then(({ body: data }) =>\n    cy.wrap(data[\"methodResponses\"][0][1].ids[0]).as(\"draftId\")\n  );\n};\n\nconst getIdentityId = ({ apiUrl, accountId }) => {\n  cy.request({\n    url: apiUrl,\n    method: \"POST\",\n    headers,\n    body: JSON.stringify({\n      using: [\n        \"urn:ietf:params:jmap:core\",\n        \"urn:ietf:params:jmap:mail\",\n        \"urn:ietf:params:jmap:submission\",\n      ],\n      methodCalls: [[\"Identity/get\", { accountId, ids: null }, \"a\"]],\n    }),\n  }).then(({ body: data }) => {\n    const identities = data[\"methodResponses\"][0][1].list;\n    const identityId = identities.find(({ email }) => email === username).id;\n    cy.wrap(identityId).as(\"identityId\");\n  });\n};\n\nconst composeEmail = ({\n  apiUrl,\n  accountId,\n  draftId,\n  identityId,\n  emailDetails,\n}) => {\n  const { subject, body, to, senderName } = emailDetails;\n\n  const draftObject = {\n    from: [{ email: username, name: senderName }],\n    to: [{ email: to }],\n    subject,\n    keywords: { $draft: true },\n    mailboxIds: { [draftId]: true },\n    bodyValues: { body: { value: body, charset: \"utf-8\" } },\n    textBody: [{ partId: \"body\", type: \"text/plain\" }],\n  };\n\n  cy.request({\n    url: apiUrl,\n    method: \"POST\",\n    headers,\n    body: JSON.stringify({\n      using: [\n        \"urn:ietf:params:jmap:core\",\n        \"urn:ietf:params:jmap:mail\",\n        \"urn:ietf:params:jmap:submission\",\n      ],\n      methodCalls: [\n        [\"Email/set\", { accountId, create: { draft: draftObject } }, \"a\"],\n        [\n          \"EmailSubmission/set\",\n          {\n            accountId,\n            onSuccessDestroyEmail: [\"#sendIt\"],\n            create: { sendIt: { emailId: \"#draft\", identityId } },\n          },\n          \"b\",\n        ],\n      ],\n    }),\n  });\n};\n\nconst checkForEnvs = () => {\n  if (!username || !token) {\n    throw new Error(\n      \"Please provide CYPRESS_FASTMAIL_USERNAME and CYPRESS_FASTMAIL_TOKEN as environment variables\"\n    );\n  }\n};\n\nexport const sendEmail = emailDetails => {\n  checkForEnvs();\n  getSession().then(({ body: session }) => {\n    const { apiUrl, primaryAccounts } = session;\n    const accountId = primaryAccounts[\"urn:ietf:params:jmap:mail\"];\n    getDraftId({ apiUrl, accountId });\n    getIdentityId({ apiUrl, accountId });\n    cy.get(\"@draftId\").then(draftId => {\n      cy.get(\"@identityId\").then(identityId =>\n        composeEmail({ apiUrl, accountId, draftId, identityId, emailDetails })\n      );\n    });\n  });\n};\n\nexport const emailUtils = { sendEmail };\n"],"mappings":"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","ignoreList":[]}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy