@letanure/resend-cli
Version:
A command-line interface for Resend email API
45 lines • 1.8 kB
JavaScript
import { describe, expect, it } from 'vitest';
import { createAudience } from '../action.js';
describe('createAudience', () => {
const testAudienceData = {
name: 'Test Audience',
};
it('returns success result structure', async () => {
const result = await createAudience(testAudienceData, 'test-api-key');
expect(result).toHaveProperty('success');
expect(result.success).toBe(true);
expect(result.data).toBeDefined();
expect(result.data?.id).toBe('test-audience-id');
});
it('accepts valid audience data', async () => {
const audienceData = {
name: 'Newsletter Subscribers',
};
const result = await createAudience(audienceData, 'test-api-key');
expect(result.success).toBe(true);
});
it('requires api key parameter', async () => {
const result = await createAudience(testAudienceData, 'any-key');
expect(result).toBeDefined();
});
it('handles different audience names', async () => {
const testNames = ['Registered Users', 'Beta Testers', 'VIP Customers'];
for (const name of testNames) {
const audienceData = { name };
const result = await createAudience(audienceData, 'test-api-key');
expect(result.success).toBe(true);
}
});
it('returns consistent interface regardless of input', async () => {
const result = await createAudience(testAudienceData, 'test-key');
// Should always return ApiResult interface
expect(typeof result.success).toBe('boolean');
if (result.success) {
expect(result.data).toBeDefined();
}
else {
expect(result.error).toBeDefined();
}
});
});
//# sourceMappingURL=action.test.js.map