hunk.code_window:   tenant?: ITenantDefine;
     actor?: SubscriberEntity;
     subscriber: ISubscribersDefine;
     templateId: string;
     _subscriberSource: SubscriberSourceEnum;
     requestCategory: TriggerRequestCategoryEnum;
   }
   export interface IProcessSubscriberJobDto extends IJobParams {
  
hunk.labels: keep keep keep keep keep replace keep keep keep
hunk.after_edit:   requestCategory?: TriggerRequestCategoryEnum;
  
hunk.file_path: packages/application-generic/src/dtos/process-subscriber-job.dto.ts
hunk.type: replace
file: import { SparkPostEmailProvider } from './sparkpost.provider';
  
  const mockConfig = {
    apiKey:
      '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',
    region: undefined,
    from: 'test@test.com',
    senderName: 'test',
  };
  
  const mockNovuMessage = {
    from: 'test@test.com',
    to: ['test@test.com'],
    html: '<div> Mail Content </div>',
    subject: 'Test subject',
    attachments: [
      { mime: 'text/plain', file: Buffer.from('dGVzdA=='), name: 'test.txt' },
    ],
  };
  
  test('should trigger sendinblue library correctly', async () => {
    const provider = new SparkPostEmailProvider(mockConfig);
    const spy = jest
      .spyOn(provider, 'sendMessage')
      .mockImplementation(async () => {
        // eslint-disable-next-line @typescript-eslint/no-explicit-any
        return {} as any;
      });
  
    await provider.sendMessage(mockNovuMessage);
  
    expect(spy).toBeCalled();
    expect(spy).toBeCalledWith({
      from: mockNovuMessage.from,
      to: mockNovuMessage.to,
      html: mockNovuMessage.html,
      subject: mockNovuMessage.subject,
      attachments: [
        {
          mime: mockNovuMessage.attachments[0].mime,
          file: mockNovuMessage.attachments[0].file,
          name: mockNovuMessage.attachments[0].name,
        },
      ],
    });
  });
  