@letanure/resend-cli
Version:
A command-line interface for Resend email API
55 lines • 2.3 kB
JavaScript
import { describe, expect, it } from 'vitest';
import { fields } from '../fields.js';
describe('Contact Create Fields', () => {
it('should have correct number of fields', () => {
expect(fields).toHaveLength(5);
});
it('should have email field as first field', () => {
const emailField = fields[0];
expect(emailField).toBeDefined();
expect(emailField?.name).toBe('email');
expect(emailField?.cliFlag).toBe('--email');
expect(emailField?.cliShortFlag).toBe('-e');
});
it('should have audienceId field as second field', () => {
const audienceIdField = fields[1];
expect(audienceIdField).toBeDefined();
expect(audienceIdField?.name).toBe('audienceId');
expect(audienceIdField?.cliFlag).toBe('--audience-id');
expect(audienceIdField?.cliShortFlag).toBe('-a');
});
it('should have unsubscribed field as last field', () => {
const unsubscribedField = fields[4];
expect(unsubscribedField).toBeDefined();
expect(unsubscribedField?.name).toBe('unsubscribed');
expect(unsubscribedField?.type).toBe('select');
expect(unsubscribedField?.options).toBeDefined();
expect(unsubscribedField?.options).toHaveLength(2);
expect(unsubscribedField?.cliFlag).toBe('--unsubscribed');
expect(unsubscribedField?.cliShortFlag).toBe('-u');
});
it('should have select field options configured correctly', () => {
const unsubscribedField = fields[4];
expect(unsubscribedField?.options?.[0]).toEqual({
value: false,
label: 'Subscribed',
color: 'green',
});
expect(unsubscribedField?.options?.[1]).toEqual({
value: true,
label: 'Unsubscribed',
color: 'red',
});
});
it('should have all required properties for each field', () => {
for (const field of fields) {
expect(field.name).toBeDefined();
expect(field.label).toBeDefined();
expect(field.placeholder).toBeDefined();
expect(field.helpText).toBeDefined();
expect(field.cliFlag).toBeDefined();
expect(field.cliShortFlag).toBeDefined();
}
});
});
//# sourceMappingURL=fields.test.js.map