import { expect, tap } from '@pushrocks/tapbundle'; import { Qenv } from '@pushrocks/qenv'; import * as smartmail from '@pushrocks/smartmail'; const testQenv = new Qenv('./', './.nogit'); import * as mailgun from '../ts/index'; import { IMailgunMessage } from '../ts/index'; let testMailgunAccount: mailgun.MailgunAccount; let testSmartmail: smartmail.Smartmail; tap.test('should create a mailgun account', async () => { testMailgunAccount = new mailgun.MailgunAccount(testQenv.getEnvVarOnDemand('MAILGUN_API_TOKEN')); expect(testMailgunAccount).to.be.instanceOf(mailgun.MailgunAccount); }); tap.test('should create a smartmail', async () => { testSmartmail = new smartmail.Smartmail({ body: 'hi there. This is the body.', from: 'noreply@mail.lossless.com', subject: 'hi there. This is the subject' }); return testSmartmail; }); tap.test('should send a smartmail', async () => { testMailgunAccount.sendSmartMail(testSmartmail, 'sandbox@mail.git.zone'); }); tap.test('should retrieve a mail using a retrieval url', async () => { const result = await testMailgunAccount.retrieveSmartMailFromMessageUrl('https://sw.api.mailgun.net/v3/domains/mail.lossless.one/messages/AgMFnnnAKC8xp_dDa79LyoxhloxtaVmnRA=='); if (result) { result.options.subject = 'hi there. This is a testmail with attachment'; result.options.from = 'noreply@mail.lossless.com'; testMailgunAccount.sendSmartMail(result, 'sandbox@mail.git.zone'); } }); tap.start();