@auxcode/auxta 1.3.21 → 1.3.23-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,7 +17,14 @@ export declare class FunctionHelper extends ExtendDefaultPage {
17
17
  clickAndWaitForPageToBeCreated(selector: string, page?: import("puppeteer").Page): Promise<void>;
18
18
  closeLastPage(page?: import("puppeteer").Page): Promise<void>;
19
19
  microsoftLogin(button: string, email: string, password: string): Promise<void>;
20
- clickInMail(from_name: string, from_email: string, subject: string, body: string): Promise<boolean>;
20
+ verifyEmail(from_name: string, from_email: string, subject: string, body: string): Promise<{
21
+ id: string;
22
+ threadId: string;
23
+ } | undefined>;
24
+ replyEmail(ids: {
25
+ id: string;
26
+ threadId: string;
27
+ }, body: string): Promise<void>;
21
28
  private getHeader;
22
29
  private getBody;
23
30
  }
@@ -21,6 +21,7 @@ const extend_default_page_1 = require("./extend-default-page");
21
21
  const puppeteer_2 = require("puppeteer");
22
22
  const AuxGoogleAuth_1 = require("./AuxGoogleAuth");
23
23
  const buffer_1 = require("buffer");
24
+ const MailComposer = require('nodemailer/lib/mail-composer');
24
25
  class FunctionHelper extends extend_default_page_1.ExtendDefaultPage {
25
26
  log(keyword, name, status) {
26
27
  log_service_1.default.push(keyword, name, status);
@@ -189,7 +190,7 @@ class FunctionHelper extends extend_default_page_1.ExtendDefaultPage {
189
190
  yield loginPage.waitForNetworkIdle();
190
191
  });
191
192
  }
192
- clickInMail(from_name, from_email, subject, body) {
193
+ verifyEmail(from_name, from_email, subject, body) {
193
194
  return __awaiter(this, void 0, void 0, function* () {
194
195
  yield AuxGoogleAuth_1.AuxGoogleAuth.setup();
195
196
  const res = yield AuxGoogleAuth_1.AuxGoogleAuth.gmailClient.users.messages.list({
@@ -217,7 +218,7 @@ class FunctionHelper extends extend_default_page_1.ExtendDefaultPage {
217
218
  if (message_sender.includes(from_email) && message_sender.includes(from_name.toLocaleLowerCase()) &&
218
219
  message_subject.includes(subject.toLocaleLowerCase()) && message_body.includes(body.toLocaleLowerCase())) {
219
220
  yield this.log('Then', `Email from: ${from_name} ${from_email} with subject: ${subject} and body: ${body} is found`, AuxTA_1.StepStatus.PASSED);
220
- return true;
221
+ return { id: gmailResponse.data.id.toString(), threadId: gmailResponse.data.threadId.toString() };
221
222
  }
222
223
  }
223
224
  break;
@@ -226,8 +227,41 @@ class FunctionHelper extends extend_default_page_1.ExtendDefaultPage {
226
227
  yield this.timeout(12000);
227
228
  timeoutCount += 12000;
228
229
  }
229
- yield this.log('Then', `Email from: ${from_name} ${from_email} with subject: ${subject} is found`, AuxTA_1.StepStatus.PASSED);
230
- throw new Error(`Email from: ${from_name} ${from_email} with subject: ${subject} is found`);
230
+ yield this.log('Then', `Email from: ${from_name} ${from_email} with subject: ${subject} and body: ${body} is found`, AuxTA_1.StepStatus.FAILED);
231
+ });
232
+ }
233
+ replyEmail(ids, body) {
234
+ return __awaiter(this, void 0, void 0, function* () {
235
+ yield AuxGoogleAuth_1.AuxGoogleAuth.setup();
236
+ const gmailResponse = yield AuxGoogleAuth_1.AuxGoogleAuth.gmailClient.users.messages.get({
237
+ userId: "me",
238
+ id: ids.id,
239
+ format: 'FULL'
240
+ });
241
+ if (gmailResponse.data.payload) {
242
+ const message_to = this.getHeader('to', gmailResponse.data.payload.headers);
243
+ const message_sender = this.getHeader('from', gmailResponse.data.payload.headers);
244
+ const message_subject = this.getHeader('subject', gmailResponse.data.payload.headers);
245
+ const message_messageID = this.getHeader('Message-ID', gmailResponse.data.payload.headers);
246
+ const options = {
247
+ "to": message_to,
248
+ "from": message_sender,
249
+ "subject": message_subject,
250
+ "Reference": message_messageID,
251
+ "In-Reply-To": message_messageID,
252
+ "threadId": ids.threadId,
253
+ "html": body
254
+ };
255
+ const mailComposer = new MailComposer(options);
256
+ const message = yield mailComposer.compile().build();
257
+ const encodeMessage = Buffer.from(message).toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
258
+ yield AuxGoogleAuth_1.AuxGoogleAuth.gmailClient.users.messages.send({
259
+ userId: "me",
260
+ requestBody: {
261
+ raw: encodeMessage
262
+ }
263
+ });
264
+ }
231
265
  });
232
266
  }
233
267
  getHeader(value, headers) {
@@ -17,7 +17,14 @@ export declare class FunctionHelper extends ExtendDefaultPage {
17
17
  clickAndWaitForPageToBeCreated(selector: string, page?: import("puppeteer").Page): Promise<void>;
18
18
  closeLastPage(page?: import("puppeteer").Page): Promise<void>;
19
19
  microsoftLogin(button: string, email: string, password: string): Promise<void>;
20
- clickInMail(from_name: string, from_email: string, subject: string, body: string): Promise<boolean>;
20
+ verifyEmail(from_name: string, from_email: string, subject: string, body: string): Promise<{
21
+ id: string;
22
+ threadId: string;
23
+ } | undefined>;
24
+ replyEmail(ids: {
25
+ id: string;
26
+ threadId: string;
27
+ }, body: string): Promise<void>;
21
28
  private getHeader;
22
29
  private getBody;
23
30
  }
@@ -15,6 +15,7 @@ import { ExtendDefaultPage } from "./extend-default-page";
15
15
  import { KnownDevices } from "puppeteer";
16
16
  import { AuxGoogleAuth } from "./AuxGoogleAuth";
17
17
  import { atob } from "buffer";
18
+ const MailComposer = require('nodemailer/lib/mail-composer');
18
19
  export class FunctionHelper extends ExtendDefaultPage {
19
20
  log(keyword, name, status) {
20
21
  log.push(keyword, name, status);
@@ -183,7 +184,7 @@ export class FunctionHelper extends ExtendDefaultPage {
183
184
  yield loginPage.waitForNetworkIdle();
184
185
  });
185
186
  }
186
- clickInMail(from_name, from_email, subject, body) {
187
+ verifyEmail(from_name, from_email, subject, body) {
187
188
  return __awaiter(this, void 0, void 0, function* () {
188
189
  yield AuxGoogleAuth.setup();
189
190
  const res = yield AuxGoogleAuth.gmailClient.users.messages.list({
@@ -211,7 +212,7 @@ export class FunctionHelper extends ExtendDefaultPage {
211
212
  if (message_sender.includes(from_email) && message_sender.includes(from_name.toLocaleLowerCase()) &&
212
213
  message_subject.includes(subject.toLocaleLowerCase()) && message_body.includes(body.toLocaleLowerCase())) {
213
214
  yield this.log('Then', `Email from: ${from_name} ${from_email} with subject: ${subject} and body: ${body} is found`, StepStatus.PASSED);
214
- return true;
215
+ return { id: gmailResponse.data.id.toString(), threadId: gmailResponse.data.threadId.toString() };
215
216
  }
216
217
  }
217
218
  break;
@@ -220,8 +221,41 @@ export class FunctionHelper extends ExtendDefaultPage {
220
221
  yield this.timeout(12000);
221
222
  timeoutCount += 12000;
222
223
  }
223
- yield this.log('Then', `Email from: ${from_name} ${from_email} with subject: ${subject} is found`, StepStatus.PASSED);
224
- throw new Error(`Email from: ${from_name} ${from_email} with subject: ${subject} is found`);
224
+ yield this.log('Then', `Email from: ${from_name} ${from_email} with subject: ${subject} and body: ${body} is found`, StepStatus.FAILED);
225
+ });
226
+ }
227
+ replyEmail(ids, body) {
228
+ return __awaiter(this, void 0, void 0, function* () {
229
+ yield AuxGoogleAuth.setup();
230
+ const gmailResponse = yield AuxGoogleAuth.gmailClient.users.messages.get({
231
+ userId: "me",
232
+ id: ids.id,
233
+ format: 'FULL'
234
+ });
235
+ if (gmailResponse.data.payload) {
236
+ const message_to = this.getHeader('to', gmailResponse.data.payload.headers);
237
+ const message_sender = this.getHeader('from', gmailResponse.data.payload.headers);
238
+ const message_subject = this.getHeader('subject', gmailResponse.data.payload.headers);
239
+ const message_messageID = this.getHeader('Message-ID', gmailResponse.data.payload.headers);
240
+ const options = {
241
+ "to": message_to,
242
+ "from": message_sender,
243
+ "subject": message_subject,
244
+ "Reference": message_messageID,
245
+ "In-Reply-To": message_messageID,
246
+ "threadId": ids.threadId,
247
+ "html": body
248
+ };
249
+ const mailComposer = new MailComposer(options);
250
+ const message = yield mailComposer.compile().build();
251
+ const encodeMessage = Buffer.from(message).toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
252
+ yield AuxGoogleAuth.gmailClient.users.messages.send({
253
+ userId: "me",
254
+ requestBody: {
255
+ raw: encodeMessage
256
+ }
257
+ });
258
+ }
225
259
  });
226
260
  }
227
261
  getHeader(value, headers) {