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: 'Lossless GmbH ', subject: 'TestMessage from @mojoio/mailgun test' }); return testSmartmail; }); tap.test('should send a smartmail', async () => { await testMailgunAccount.sendSmartMail(testSmartmail, 'Sandbox Team '); }); 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'; await testMailgunAccount.sendSmartMail(result, 'Sandbox Team '); } }); tap.start();