Skip to content

Commit

Permalink
Move the templateProperties in the template-only email request type
Browse files Browse the repository at this point in the history
  • Loading branch information
asein-sinch committed Nov 14, 2024
1 parent de5f193 commit d935602
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ export type MessageContentWhereHtmlContentCanBeFromTemplateOnly = {
text?: string;
/** Body of the message (HTML version) */
html?: never;
/** @see TemplateProperties */
templateProperties?: TemplateProperties;
} & CommonEmailProperties;

export interface CommonEmailProperties {
Expand All @@ -39,8 +41,6 @@ export interface CommonEmailProperties {
attachment?: string;
/** Attachment with `inline` disposition. Can be used to send inline images (see example). You can post multiple `inline` values */
inline?: string;
/** @see TemplateProperties */
templateProperties?: TemplateProperties;
/** @see OverrideProperties */
overrideProperties?: OverrideProperties;
/** h: prefix followed by a Header/Value pair. For example: h:X-Mailgun-Sending-Ip-Pool=xx.xx.xxx.x. */
Expand Down Expand Up @@ -87,8 +87,10 @@ export const transformSendEmailRequestIntoApiRequestBody = (sdkRequest: SendEmai
if (sdkRequest['inline'] !== undefined && sdkRequest['inline'] !== null) {
formData.append('inline', sdkRequest['inline']);
}
if (sdkRequest['templateProperties'] !== undefined && sdkRequest['templateProperties'] !== null) {
const templateProperties = sdkRequest['templateProperties'];
if ('templateProperties' in sdkRequest
&& sdkRequest.templateProperties !== null
&& sdkRequest.templateProperties !== undefined) {
const templateProperties = sdkRequest.templateProperties;
if (templateProperties['text'] !== undefined && templateProperties['text'] !== null) {
formData.append('t:text', templateProperties['text']);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import FormData = require('form-data');
import { transformSendEmailRequestIntoApiRequestBody } from '../../../../../src/models';
import { Mailgun } from '../../../../../src';
import {
transformSendEmailRequestIntoApiRequestBody,
} from '../../../../../src/models';
import { sendEmailRequestWithHtml, sendEmailRequestWithTemplate } from './send-email-request.models';

describe('SendEmailRequest', () => {
Expand Down Expand Up @@ -135,11 +138,14 @@ describe('SendEmailRequest', () => {
expect(appendSpy).toHaveBeenCalledWith('o:testmode',
sendEmailRequestWithTemplate.overrideProperties?.isTestMode);
expect(appendSpy).toHaveBeenCalledWith('t:text',
sendEmailRequestWithTemplate.templateProperties?.text);
// eslint-disable-next-line max-len
(sendEmailRequestWithTemplate as Mailgun.MessageContentWhereHtmlContentCanBeFromTemplateOnly).templateProperties?.text);
expect(appendSpy).toHaveBeenCalledWith('t:version',
sendEmailRequestWithTemplate.templateProperties?.version);
// eslint-disable-next-line max-len
(sendEmailRequestWithTemplate as Mailgun.MessageContentWhereHtmlContentCanBeFromTemplateOnly).templateProperties?.version);
expect(appendSpy).toHaveBeenCalledWith('t:variables',
sendEmailRequestWithTemplate.templateProperties?.variables);
// eslint-disable-next-line max-len
(sendEmailRequestWithTemplate as Mailgun.MessageContentWhereHtmlContentCanBeFromTemplateOnly).templateProperties?.variables);
expect(appendSpy).toHaveBeenCalledWith('h:X-Mailgun-Sending-Ip-Pool',
sendEmailRequestWithTemplate['h:X-Mailgun-Sending-Ip-Pool']);
expect(appendSpy).toHaveBeenCalledWith('v:first_name',
Expand Down

0 comments on commit d935602

Please sign in to comment.