mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-20 03:12:15 +00:00
fix(Gmail Trigger Node): Prevent error for empty emails, improve type safety (#13171)
This commit is contained in:
@@ -212,4 +212,63 @@ describe('GmailTrigger', () => {
|
||||
|
||||
expect(response).toEqual(null);
|
||||
});
|
||||
|
||||
it('should handle duplicates and different date fields', async () => {
|
||||
const messageListResponse: MessageListResponse = {
|
||||
messages: [
|
||||
createListMessage({ id: '1' }),
|
||||
createListMessage({ id: '2' }),
|
||||
createListMessage({ id: '3' }),
|
||||
createListMessage({ id: '4' }),
|
||||
createListMessage({ id: '5' }),
|
||||
],
|
||||
resultSizeEstimate: 123,
|
||||
};
|
||||
|
||||
nock(baseUrl)
|
||||
.get('/gmail/v1/users/me/labels')
|
||||
.reply(200, { labels: [{ id: 'testLabelId', name: 'Test Label Name' }] });
|
||||
nock(baseUrl).get(new RegExp('/gmail/v1/users/me/messages?.*')).reply(200, messageListResponse);
|
||||
nock(baseUrl)
|
||||
.get(new RegExp('/gmail/v1/users/me/messages/1?.*'))
|
||||
.reply(200, createMessage({ id: '1', internalDate: '1727777957863', date: undefined }));
|
||||
nock(baseUrl)
|
||||
.get(new RegExp('/gmail/v1/users/me/messages/2?.*'))
|
||||
.reply(200, createMessage({ id: '2', internalDate: undefined, date: '1727777957863' }));
|
||||
nock(baseUrl)
|
||||
.get(new RegExp('/gmail/v1/users/me/messages/3?.*'))
|
||||
.reply(
|
||||
200,
|
||||
createMessage({
|
||||
id: '3',
|
||||
internalDate: undefined,
|
||||
date: undefined,
|
||||
headers: { date: 'Thu, 5 Dec 2024 08:30:00 -0800' },
|
||||
}),
|
||||
);
|
||||
nock(baseUrl)
|
||||
.get(new RegExp('/gmail/v1/users/me/messages/4?.*'))
|
||||
.reply(
|
||||
200,
|
||||
createMessage({
|
||||
id: '4',
|
||||
internalDate: undefined,
|
||||
date: undefined,
|
||||
headers: undefined,
|
||||
}),
|
||||
);
|
||||
nock(baseUrl).get(new RegExp('/gmail/v1/users/me/messages/5?.*')).reply(200, {});
|
||||
|
||||
const { response } = await testPollingTriggerNode(GmailTrigger, {
|
||||
node: { parameters: { simple: true } },
|
||||
workflowStaticData: {
|
||||
'Gmail Trigger': {
|
||||
lastTimeChecked: new Date('2024-10-31').getTime() / 1000,
|
||||
possibleDuplicates: ['1'],
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
expect(response).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user