39 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
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';
 | 
						|
 | 
						|
 | 
						|
let testMailgunAccount: mailgun.MailgunAccount;
 | 
						|
let testSmartmail: smartmail.Smartmail;
 | 
						|
 | 
						|
tap.test('first test', 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==');
 | 
						|
  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();
 |